Career upgrade: Learn practical AI skills for better jobs and higher pay.
Level up

1.4 The Seven Testing Principles

Key Takeaways

  • Testing shows the presence of defects, not their absence.
  • Exhaustive testing is impossible except in trivial cases, so prioritization is essential.
  • Early testing saves cost and effort by finding defects closer to their origin.
  • Defects cluster, and tests can lose effectiveness through the pesticide paradox.
  • Testing is context dependent, and absence-of-errors is a fallacy when the product does not meet needs.
Last updated: May 2026

The Principles as Exam Tools

The seven testing principles are not slogans to memorize in isolation. CTFL questions often describe a project situation and ask which principle best explains it. The safest strategy is to connect each principle to a practical consequence.

The first principle is that testing shows the presence, not the absence, of defects. If a test fails, the team has evidence of a problem. If all tests pass, the team has evidence only for the tested conditions. Passing tests increase confidence but do not prove defect freedom.

The second principle is that exhaustive testing is impossible. Most systems have too many input combinations, data states, paths, devices, users, and timing conditions to test everything. Testers use risk, priorities, techniques, and constraints to choose useful coverage.

The third principle is early testing. Defects are generally cheaper to prevent or find near the time they are introduced. Reviewing requirements before design and code can prevent expensive rework. This principle supports shift-left thinking but is not limited to agile or DevOps.

PrincipleCommon CTFL clue
Defects clusterMost failures are found in a small number of modules
Pesticide paradoxThe same tests stop finding new defects over time
Context dependentSafety-critical testing differs from e-commerce testing
Absence-of-errors fallacyA defect-free product still fails if it solves the wrong problem

Defect clustering means defects are often unevenly distributed. If a complex pricing component has many failures, it may deserve more test attention than a stable static page. This does not mean testers should ignore other areas; it means evidence can guide focus.

The pesticide paradox says that repeating the same tests eventually becomes less effective at finding new defects. Tests need review and variation. New data, new paths, new techniques, and exploratory testing can reveal problems the old suite misses.

Testing is context dependent. A payroll system, an aircraft control component, a public website, and a classroom prototype have different risks, regulations, users, and acceptable evidence. A universal one-size-fits-all test process is not realistic.

The absence-of-errors fallacy closes the set. A system can have few known defects and still fail because it does not meet business goals or user needs. For example, a perfectly coded reporting tool is poor quality if it answers the wrong regulatory question.

On the exam, watch for absolute language. Statements such as test everything, prove no defects, or reuse the same tests forever conflict with multiple principles. Choose the principle that most directly matches the scenario, not just a true principle that is vaguely related.

Test Your Knowledge

A team repeatedly runs the same regression suite for many releases and notices it rarely finds new defects. Which testing principle is most directly illustrated?

A
B
C
D
Test Your KnowledgeMulti-Select

Which statements correctly reflect the seven testing principles?

Select all that apply

Exhaustive testing is normally impossible for non-trivial systems.
Testing should start as early as practical in the lifecycle.
Testing approaches should be adapted to context.
A passed test suite proves that the product has no defects.