Testing Principles
- •
def
- •
fundamental guiding principles for conducting effective software testing
- •
- •
principles
- •
all tests should be traceable to customer requirements
- •
tests should be planned long before testing begins
- •
the Pareto principle applies — 80% of errors tend to come from 20% of the code
- •
testing should begin "in the small" (unit tests) and progress "in the large" (integration, system)
- •
exhaustive testing is not possible
- •
to be most effective, testing should be conducted by an independent third party
- •
- •
characteristics of a good test case
- •
high probability of finding an error — tester must understand the software and anticipate failure modes
- •
not redundant — each test has a different purpose (e.g., valid vs invalid password)
- •
best of breed — the most effective test from a group of tests with similar intent
- •
neither too simple nor too complex — each test should be executed separately; combining tests can mask errors
- •
- •