
Seven software testing principles (as laid out by ISTQB)
A crucial element in software development is software testing, which can be difficult to structure. Testers know that deploying robust processes and methodologies can deeply affect efficiency. Therefore, they will typically adhere closely to best practice – something our teams do as a matter of course. A good starting point for us has always been the seven software testing principles as laid out by the International Software Testing Qualifications Board (ISTQB). Today we revisit these vital elements that can make all the difference to your software testing efforts.
ISTQB’s 7 Principles
ISTQB is software testing’s leading global certification scheme. It is actually one of the biggest and most established schemes in the world today, with its terminology recognised as testing’s ‘de facto’ language. The 7 principles it lays out are as follows:
- Testing shows the presence of defects, not their absence
The objective for testing teams is never to prove that a product or application is error-free. Rather, it is to confirm that end user needs will be met. Therefore, testers must continuously search for hidden defects.
- Exhaustive Testing Is Impossible
A vital skill for any software tester is the ability to identify the most important functions to test. Even though automation has technically proven this principle wrong (!), exhaustive testing would doubtless destroy any project timeline. As a result, different techniques must be prioritised and then used to test specific combinations, thus ensuring the optimal amount of testing.
Early Testing Saves Time And Money
Generally speaking, testing should begin as soon as the test requirements have been defined. This quick start allows for the detection of any defects or errors as soon as possible. As a result, you can then limit the amount of issues discovered during the later stages of testing, saving money.
- Defects Cluster Together
In the software testing world, 80% of defects are typically found in the first 20% of modules being tested.
- Beware Of The Pesticide Paradox
If the same set of tests are executed repeatedly, then they will eventually be unable to reveal new defects. This principle is based upon the theory that insects build an immunity to pesticides when crops are continually exposed to them.
- Testing Is Context Dependent
Test subjects typically require a specific type of approach, meaning that the context is vitally important. An example of this would be applications designed for use in specific industries; i.e., a cruise app will be very different to an insurance app.
- Absence-Of-Errors Is A Fallacy
Yes, that is correct – there is no such thing as a perfect piece of software! (Sorry developers)
Testers: Pay Attention to the Seven Software Testing Principles
By doing so, you can make your lives so much easier. Being a software tester is often stressful, and adopting the principles will lead to far less stress. Surely that alone is worth it?!