16/5/2024
Why testing shows bugs but can't prove there are none.
Why you should focus on key areas.
Why starting tests early saves time and money.
Why starting tests early saves time and money.
What to do when bugs cluster in certain parts of the software and testing methods must adapt to different projects.
A little while ago I took a Software Tester course where I got to know the foundation of testing. One of the most interesting things I got to learn was the 7 principles of testing by ISTQB.
Why do I think they are great and helpful? Find out more in the article below.
SJSI distinguishes 7 testing principles in the ISTQB Syllabus v4.0
Testing proves that something does not work, but testing cannot ensure that there are no defects.
This principle helps set realistic expectations for what testing can achieve. It reminds the team that while testing is crucial for finding defects, it cannot guarantee a defect-free product. This understanding helps in risk management and in setting appropriate quality goals.
Testing everything is not possible, except in simple cases.
Knowing the limitations of testing resources encourages the team to prioritize testing efforts. This leads to the development of more efficient testing strategies that focus on high-impact areas, saving time and resources while ensuring accurate software assessment.
The earlier we start testing, the lower the cost of fixing the bug and its impact on the rest of the software. Early bug detection should start as early as possible.
Implementing testing early in the development process helps detect defects when they are less costly and easier to fix. This improves product quality and reduces development costs and schedule, creating a more flexible and responsive development environment.
When testing, if one of the modules has significantly more bugs than the others, there is a very high probability that this module is loaded with many more bugs. This way, we can better plan the testing strategy and identify modules that are candidates for more intensive testing.
Understanding that defects tend to cluster in certain areas allows testers to focus their efforts more effectively. This principle guides the allocation of more resources to high-risk areas, which can improve the defect detection rate and enhance the overall quality of the software.
Repeating the same tests over and over again causes them to become increasingly ineffective at detecting new faults. To overcome this paradox, it is important to modify tests, but also to develop new tests.
This principle emphasizes the need to develop test cases and strategies to detect new defects as software evolves. Encourages continuous improvement of test coverage and effectiveness, preventing the testing process from becoming outdated and ineffective.
There is no one-size-fits-all approach to testing. Testing is performed differently in different contexts.
Acknowledging that different environments and types of software require different testing approaches ensures that the testing strategy is aligned with the specific needs and risks of the project. This adaptability increases the accuracy and effectiveness of testing efforts.
fallacy - an idea that a lot of people think is true but is in fact false
It is wrong to expect that software verification will ensure the success of the system. There is no way to test thoroughly here, even as testers we cannot prove the absence of bugs, so despite performing many tests, we cannot say that the software does not contain any bugs.
This principle is crucial for adapting the development team's efforts to the real needs and expectations of users. Shifts the focus from simply finding defects to creating a product that delivers value to users by promoting user-centric design and development practices
Together, these principles guide the test team and development team in creating more reliable, efficient, and user-centric software products. They help in strategic planning, implementation and continuous improvement of test processes, aligning them with the overarching goals of the project and organization.