7 testing principles Flashcards
(7 cards)
Testing shows the presence of defects
Testing can demonstrate the existence of defects but cannot prove that no defects are present. Even with thorough testing, some defects may remain undiscovered.
Exhaustive testing is impossible
Testing every possible combination of inputs and scenarios is impractical except for the simplest systems. Prioritize testing efforts based on risks.
Early testing saves time and money
Start testing as early as possible in the software development lifecycle to identify and address defects when they are cheaper and easier to fix.
Defects cluster together
Most defects are often found in a small number of modules or features, following the Pareto principle (“80-20” rule).
Beware of the pesticide paradox
Reusing the same test cases repeatedly stops finding new defects. Regularly review, revise, and expand test cases to remain effective.
Testing is context-dependent
The approach to testing depends on the type of system being tested (e.g., safety-critical systems vs. e-commerce applications).
Absence-of-errors fallacy
Finding no defects does not mean the system is ready for use. Ensure the system meets user needs and requirements, not just that it is defect-free.