The 7 Testing Principles

Blog, October 13, 2023

Blog, October 13, 2023

Testing principles are a set of fundamental concepts that ensure good practices in testing activities and generally help secure an effective testing process.

Over time, a number of testing principles have been proposed to provide general guidelines for all testing activities. ISTQB Foundation describes 7 principles, which we outline below.

1. Testing shows the presence, not the absence, of defects.

Testing can show that defects are present in the test object, but it cannot prove that there are no defects. This principle emphasizes that the primary purpose of testing is to identify defects or issues in the software. Testing can reduce the likelihood that defects remain in the software, but even if no defects are found, testing cannot prove the correctness of the software.

2. Exhaustive testing is impossible.

It is not possible to test all inputs, all scenarios, or all functionality in a complex software system. Therefore, testing efforts should focus on high-priority areas, frequently used functionality, and scenarios that are most likely to contain defects. Test design techniques can be used to design tests effectively, and risk-based testing can help prioritize them.

3. Early testing saves time and money.

Testing activities should start as early as possible in the process. Detecting and handling defects early is more cost-effective and reduces the risk of defects spreading into later development phases. To identify defects early, both static and dynamic testing should begin as soon as possible.

4. Defects cluster together.

This principle suggests that defects tend to cluster or concentrate in specific areas or modules of the software. Testers should focus their efforts on these high-risk areas to increase the likelihood of finding critical defects.

5. Repetition weakens testing (formerly known as the Pesticide Paradox).

If the same tests are repeated too many times, they gradually become less effective at finding new defects. To avoid this effect, it may be necessary to update test cases and test data, and new tests may need to be created. In some cases, however, repeating the same tests can be beneficial—for example in automated regression testing.

6. Testing is context dependent.

There is no universally applicable approach to testing, and the effectiveness of testing depends on the context of the software project. Different projects may require different testing approaches, techniques, and priorities. Test strategies should be tailored to the specific needs of the project.

7. The absence-of-defects fallacy.

It is a fallacy (i.e., a misconception) to assume that verifying the software guarantees system success. This principle reminds us that finding and fixing defects is not the only objective of testing. Testing should also evaluate whether the software meets its requirements and satisfies user needs and expectations. The absence of defects does not guarantee user satisfaction.

Find the 7 principles in the illustration

Below, you will find the 7 principles illustrated. The illustration is not designed to be fully understood at first glance, but rather as part of a memory technique used in the ISTQB Foundation course to help participants remember the principles for the exam. Join the ISTQB Foundation course to get the full walkthrough of the illustration.

Want to learn more?

If you would like to gain a deeper understanding of the 7 testing principles—as well as general testing terminology, techniques, methods, and much more, we recommend taking ISTQB Foundation. Read more about the course here.

Who illustrated the 7 testing principles?

The illustration was developed and drawn by Trifork QI’s instructor and Lead Education Architect, Lars Bjørstrup. Lars is a former professional illustrator and has created illustrations for everything from children’s books and newspaper front pages to posters and websites.

Many of Trifork QI’s courses include similar illustrations by Lars, designed to help participants more easily remember concepts, techniques, and other syllabus topics.