Testing Principles
- Testing shows the presence of errors; not their absence.
- Exhaustive testing is not practical in most cases.
- Test early and regularly to avoid bug masking and multiple defect relations.
- Errors are not evenly distributed:
- 20% of modules generally contain 80% of errors.
Pesticide Paradox
Unless tests change they often become invalid - as the functionality changes so should the tests:
- If we continue to use old tests, only buts associated with the old specification are removed.
Context Dependency
We should focus our testing on the most critical type of test, for example:
- Medical System - Safety Testing
- Website - Performance and Load Testing
Types of Testing
We can include the following types of tests:
- Verification (Against the Specification)
- Validation (Right for the Customer)
- Performance
- Security
- Usability
- Regulatory Testing
- Statistical Testing