Well, this question is not easy to answer. There is no guarantee that defects will not emerge even if exhausted testing is deliberately used in software development. Defects exist and are waiting to be discovered as the system is continuously used and tested. Only time will tell when these defects will occur.
So when should we stop testing? Although there is no concrete answer to this question, there are ways to give signs when to stop testing. Let us look at some ways or factors that will show that testing is enough and should be stopped.
One can say that enough tests can be done by evaluating the exit criteria. So, what is the meaning of exit criteria? Exit criteria is an ongoing activity or a set of conditions that should be satisfied or fulfilled before completing a defined task of a software testing life cycle. It is a measure to tell if the testing should be declared complete or go with more testing. In a software development testing activity, some exit criteria should be considered before deciding to stop the test.
First, choosing critical test cases is a high priority to be passed. Critical test cases are test cases that need to pass so that the system can be considered valid. These are functionality or features that are important in a system. In testing critical test cases, another reason also that must be considered is the risk involved. One of the techniques used is risk-based testing, where the testing is done using the probability of a risk to occur. Usually, it involves assessing the risk-based critical part of the business and its complexity, in addition to those areas that are greatly visible and prone to errors or bugs to exist. For example, on a social media platform such as Facebook, online user privacy is one of the critical items that should be considered. Test cases related to privacy should be given importance since it involves the sharing of personal information. One person does not want his or her information to be accessed by just anyone out there without proper authority given by the owner of that information. Therefore, test cases like these must be a priority to be passed first.
Second, functional coverage must be achieved or completed, so that all-important and major functionality is covered as possible. It also indicates that all items in the test plan have been tested. This will give confidence from the business owner’s side that you have covered the important functionality of the product.
Third, re-testing of high priority defects should be closed first. Re-testing fixed defects are based on the consensus of the team. Normally priority defects must be closed before deploying the changes to the production environment. For example, the priority defects of a software development project have been fixed and re-tested. The tester has verified that it resolves the problem, and its expected result was achieved. Hence, testing can now be ended based on the condition above. If the time or budget is running out and lower priority defects are still present, then an exemption must be made by the product owner. Documentation for workaround must be made to ensure that when it leaks to the production, the operation team can still do what is needed by following whatever is written in the documentation. An unresolved defect should not be a blocker or showstopper to any critical functionality of the software.
Lastly, reaching the scheduled deadline and allotted budget of a project. If the project reaches its end date or allotted budget, the stakeholders will decide to release the developed software into production. Thus, everything will come to an end, and so as testing.
In conclusion, the testing activity will not last forever in a project. In reality, we cannot do exhaustive testing and removed all the bugs. That is why testing will end at some point. Many factors to consider when to stop testing, and it is not easy to decide whether testing should stop sooner or later.
If you are looking for software testing courses in Melbourne, Sydney, Brisbane, Adelaide, Perth, Canberra or anywhere in Australia or if you are after software testing training and job placement, qa training and placement, visit www.logitrain.com.au