7๏ธTesting Principles

The 7 Testing Principles are the fundamental principles that guide an effective testing approach.

The goal is to design a thorough yet feasible set of test cases that exercises the system as thoroughly as possible within time and resource constraints.

Principle
Definition
Explanation
Example

๐Ÿ” Testing shows the presence of defects

Testing can only identify the presence of defects, not their absence

Testing should be continued to ensure that all defects are caught and resolved

A defect is found during testing, corrected, and then retested

โŒ Exhaustive Testing is not possible

A black box testing technique where you systematically test all possible combinations of inputs and conditions to uncover errors.

To "exhaust" ๐Ÿ’ฏ all possibilities in order to have high confidence โœ… in the stability and robustness of the system.

Test valid values ๐ŸŸข, invalid values ๐Ÿ”ด, edge cases ๐ŸŸ , repetition of valid/invalid values ๐ŸŽก, and different combinations.

๐Ÿš€ Early testing

Start testing early in the SDLC to capture and eliminate defects in the early stages

By identifying and resolving issues early on, the cost and time required for testing and rework can be significantly reduced

Testing during the requirement gathering and design phases

๐Ÿ” Defect clustering

A small number of modules usually contain most of the defects detected during pre-release testing or operation

More testing efforts can be focused on these modules, which can help to reduce the number of defects in the software

Modules that contain most of the defects are identified and more testing is focused on them

๐Ÿค The pesticide paradox

Vary the testing techniques and methods used to ensure that all defects are caught and resolved

Repeating the same testing techniques may not catch defects that were caught and resolved initially

Using a variety of testing techniques such as unit testing, integration testing, and system testing

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ Testing is context-dependent

Consider the context in which the software is being developed and tested

The testing approach and techniques used may vary depending on the context

Testing approaches and techniques used for web-based software may differ from those used for mobile applications

๐Ÿ“ˆ Pareto principle

80% of the defects are likely to be caused by 20% of the modules

Focusing on this 20% of modules can help to improve the quality of the software

Identifying and focusing on the 20% of modules that are likely to have the most defects

Last updated

Was this helpful?