Testing Objectives and Principles

The main testing objectives and seven principles that support sound QA decisions without dogmatism.

Updated:

Contents

Testing principles serve practical decisions, beyond exams or quotations: when to stop, what to cover first, and why absolute quality remains unattainable even for a strong team.

The main objectives of testing

  • →Expose risks before release while fixes remain relatively inexpensive.
  • →Confirm that critical user and business expectations are met.
  • →Give the team evidence to decide whether to release, refine, reduce scope, or strengthen monitoring.
  • →Improve the product and development process through feedback as well as defect reports.

The seven principles of testing

  • →Testing shows the presence of defects but does not prove their absence. Even extensive checks cannot guarantee a perfect product.
  • →Exhaustive testing is impossible. QA therefore chooses which risks to cover first and which to accept deliberately.
  • →Early testing is cheaper and more useful than late testing. Finding a requirements gap before development is almost always preferable to discovering it in production.
  • →Defects tend to cluster. Unstable modules, complex integrations, and architectural weaknesses usually produce more problems than the rest of the system.
  • →Repeatedly running the same checks eventually stops finding new defects. This is the pesticide paradox: tests need updating and review.
  • →Testing depends on context. What is reasonable for a medical system may be excessive for an internal tool, and vice versa.
  • →Finding no defects has little value if the product solves the wrong problem. A technically clean system can still be useless to its users.

Applying the principles at work

  • →Discuss coverage of specific risks rather than arguing over absolute coverage figures.
  • →Regularly review the regression suite and remove checks that no longer add value.
  • →Shift some testing left into requirements, contracts, data schemas, and design review.
  • →Match rigor to the business context, consequences of errors, and testing costs.
💡

Testing principles are most useful when they help abandon the illusion that everything must be checked.