The core principles of software testing are widely recognized guidelines that help ensure testing is effective and efficient. Here are the main ones:
1. Testing shows the presence of defects, not their absence
2. Exhaustive testing is impossible
3. Early testing saves time and cost
4. Defects cluster together
5. The pesticide paradox
6. Testing is context-dependent
-
The testing approach varies based on the type of software, its risks, and its usage (e.g., safety-critical vs. web app).
7. Absence-of-errors fallacy