The 7 software testing principles briefly explained. Everyone who works in software development company should know these principles.
It happens frequently that testers or qa people are not taken into account as part of the process in the software development lifecycle and this happens expecially wh...
The 7 software testing principles briefly explained. Everyone who works in software development company should know these principles.
It happens frequently that testers or qa people are not taken into account as part of the process in the software development lifecycle and this happens expecially when the principles are not known.
Size: 755.02 KB
Language: en
Added: Jul 04, 2019
Slides: 9 pages
Slide Content
7 Software testing principles Ing. Donato Di Pierro
1.Testing shows the presence of defect , not their absence A lot of people think that testing can prove that there are no defects within the software under test Objective of software testing is to show that defects are present Software for which no defects are found with testing activities is not bug free
2.Exhaustive testing is impossible Test everything is for sure very expansive both in time and money terms Just in exceptional cases can be possible to test everything, otherwise test execution is affected from time, budget, risk analysis , testing techniques and priorities
3.Early testing saves time and money Test activities should start as soon as possible over a software lifecycle Errors or defects , if not detected can propagate from a phase to another (e.g. From analysis to design and to the implementation ) becoming more harmful and difficult to fix back in every development product affected It’s easier to fix defects in the early phases of the project, so the propagation can be avoided
4.Defects cluster together Most of the defects are contained within small number of modules Pre-release testing can help identifying these defects and then the module more affected Predicted defect cluster ( based on the static testing mainly ) together with actual observed defect cluster, are important input for the risk analysis and the subsequent estimation of the effort needed to conduct test activities
5.Beware of the pesticide paradox When the same tests are repeated over and over the risk is that they are not eventually discovering other issues anymore , like a pesticide Test cases should be updated Test data should be updated
6.Testing is context dependent Testing is done differently in different contexts Software for mobile application is not safety critical for example , so the test will be conducted in a different way than safety-critical industrial control software
7.Absence of errors is a fallacy As a consequence of principles 1 and 2, test everything and find every existing defect is not possible It is a fallacy to expect that testing a large number of test cases and finding a lot of issues then fixed can guarantee a good quality of the software under test User experience and performance are also part of the good quality of a software product ( non-functional aspects )