Manual Testing · Fundamentals

Testing Principles

Seven well-known principles describe how testing really works. They guide what to test and how much is enough.

Beginner 5 min Lesson 3 of 24
0/24 in Manual Testing
On this page · 5 min · Beginner

Learning objectives#

  • List the seven testing principles
  • Apply them to real decisions
  • Explain the pesticide paradox
  • Explain the absence-of-errors fallacy

Explanation#

1) Testing shows the presence of defects, not their absence. 2) Exhaustive testing is impossible — prioritise by risk.

3) Early testing saves time and money. 4) Defects cluster together — a few modules contain most bugs.

5) Pesticide paradox — repeating the same tests stops finding new bugs; refresh them.

6) Testing is context dependent — a game and a medical device need different testing. 7) Absence-of-errors fallacy — bug-free software that does not meet user needs is still a failure.

Code example: Why exhaustive testing is impossible#

TextWhy exhaustive testing is impossible Illustrative
Login form: username (up to 30 chars), password (8–20 chars), "Remember me" checkbox


Possible usernames ≈ 95^30   (printable characters, every length)
Possible passwords ≈ 95^20
× 2 checkbox states
→ far more combinations than could ever be executed


So we choose: valid login, wrong password, empty fields, boundary lengths,
special characters, SQL-injection text, locked account, remember-me on/off.
Expected output
A few dozen well-chosen tests cover the real risks instead of trillions of combinations.

This example is illustrative. Copy or download it and run it in your own environment; the expected output is shown above.

Step-by-step explanation#

  1. Count the combinations to see they are effectively infinite.
  2. Use risk and techniques to choose representative tests.
  3. Focus on boundaries, errors and security.
  4. Refresh tests as the product changes.

Real-world use case#

A test lead uses defect clustering data to give the payment module extra regression time each release.

Common mistakes#

Running the same regression suite unchanged for years

It stops finding bugs (pesticide paradox). Add new cases from recent defects.

Equating zero bugs with success

Check the product actually solves the user’s problem.

Best practices#

  • Prioritise by risk
  • Track where defects cluster
  • Review and refresh test suites
  • Adapt the approach to the domain

Remember this#

Defects present ≠ absent.

Exhaustive testing is impossible — prioritise.

Pesticide paradox: refresh your tests.

Practice exercise#

Your task: Which principle explains why most bugs come from the checkout module?

Show solution
Text Illustrative
Defect clustering.

Mini quiz#

Testing Principles quizMultiple choice Question 1 of 1

Repeating identical tests eventually stops finding new defects. This is…

Score so far: 0/0

Want more? Practise all Manual Testing MCQs · Manual Testing interview questions

My notes#

Saved in this browser.

Progress is saved in this browser. Sign in to sync.