0% found this document useful (0 votes)
3 views2 pages

7 Testing Principles Explained

The document outlines seven key principles of software testing, emphasizing that testing reveals defects rather than proving their absence, and that exhaustive testing is impractical. It highlights the importance of early testing, the clustering of defects, and the need for varied testing approaches based on context. Additionally, it addresses the limitations of repetitive testing and the misconception that a bug-free system meets user requirements.

Uploaded by

HiteshChoudhary
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

7 Testing Principles Explained

The document outlines seven key principles of software testing, emphasizing that testing reveals defects rather than proving their absence, and that exhaustive testing is impractical. It highlights the importance of early testing, the clustering of defects, and the need for varied testing approaches based on context. Additionally, it addresses the limitations of repetitive testing and the misconception that a bug-free system meets user requirements.

Uploaded by

HiteshChoudhary
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

7 Principles of Software Testing

1. Testing shows presence of defects

Meaning: Testing helps you find bugs, not prove there are none.

Example: Even if you test something many times and don't find an issue, that doesn't mean it's

100% bug-free.

2. Exhaustive testing is impossible

Meaning: You can't test all possible inputs, combinations, or paths.

Example: You can't check every feature on every browser, every device, and every condition - it

would take forever!

3. Early testing saves time and money

Meaning: Start testing as soon as possible in the software life cycle.

Example: It's cheaper to fix a bug found in the design stage than after release.

4. Defect clustering

Meaning: Most bugs are usually found in a small number of modules.

Example: One page or feature may have many bugs, while others have few or none.

5. Pesticide paradox

Meaning: Running the same tests again and again won't find new bugs.

Example: Just like using the same pesticide stops working after a while, your tests must be updated

regularly to catch new issues.

6. Testing is context dependent

Meaning: The way you test depends on the type of software.

Example: A banking app needs more security testing than a calculator app.

7. Absence-of-errors fallacy
Meaning: Just because a system has no bugs doesn't mean it meets user needs.

Example: A perfectly working app that doesn't do what the user wants is still a failure.

You might also like