Test Principles related to Testing.
Principal #1 - Testing show the presence of defects, not their absence
Principal #2 - Exhaustive testing is impossible
Principal #3 - Early Testing
Cost of testing increases as the project matures.
- Catching and fixing defects early reduces the cost of Regression Testing
Principal #4 - Defects Cluster
- Pareto's Principle - 80% of defects come from 20% of the modules
- Half the modules are defect free
- Defects are clustered in modules that are:
- More complex
- Worked on by multiple developers or by less experienced developer
Principal #5 - Pesticide paradox
Running the same tests over and over will eventually make the bugs immune to the tests. This impacts Regression Testing
Principal #6 - Testing is context dependent
Testing intensity is different for different industries.
- Critical software will need rigorous testing
- Speed to market software may take a more agile process
Principal #7 - Absence of errors fallacy
Mathematical analysis of test costs.