Stop Testing or Exit Criteria: Every tester are very passionate at the beginning of a project. Create testing documents like test cases, test plans, and test strategy documents. Then once the application is developed, we test the application and comes with some interesting defects in the early stage of the project and follow up until those defects are closed.
In the first iteration we are getting and lots of defects and fix those after that again we started one more iteration we are getting less defects, and the same process runs for some iterations. But after some repetition, we are thinking about, “When we stop the Testing of the application?”.
So how we will conclude that the testing is enough, we will try to figure out with taking some real-time examples. But the fact is that testing can not be considered as complete, because we can not prove scientifically that our application is free from the errors.
But there are some common criteria for the software industry, and those criteria are:
- We Can stop the testing when the planned testing deadlines are over.
- We Can stop the testing when we are not able to find any more defects in the application by following the predefined test cases.
But we can say that both of the above statements are contradictory because we can satisfy the statement even by doing nothing. Also, the second statement is meaningless because it does not ensure the quality of our test cases.
Exit Criteria In Testing
There are few other common factors are there which can help us in deciding when to stop testing:
- Stop the testing of the application when the release deadlines or testing deadlines have reached.
- If there are some predefined passed test case percentages and you can achieve that pass percentage number, then you can stop the testing.
- When the allocated budgets for testing the application is coming to an end.
- Stop the Testing when the code coverage and functionality requirements come to the desired level.
- When the bugs level of the application comes below to the prescribed level.
- We can stop the testing of the application when the Alpha and beta testing of the application is over.
But for finding the above things, we have to keep track of the progress of our testing because those metrics can help us only to take better and accurate decisions in the sense when to stop testing or when the application is ready to release.
So to find out the above things, we must have strong and throughly covered test cases that can include various scenarios before the beginning of the test execution cycle. As we progress, we can find out the number of test cases are executed, and out of that, how many test cases got passed. Based on these metrics, we can easily find out the quality of the software product.
When To Stop Testing?
By comparing the total test cases and the number of the passed test cases, we can come up with some of the metrics like:
- Percentage Completion: We can find out this by dividing the number of executed test cases with the total number of test cases. [ (Number of executed test cases) / (Total number of test cases) ]
- Percentage Test cases Passed: We can also calculate by dividing the number of passed test cases with the number of executed test cases. [ (Number of passed test cases) / (Number of executed test cases) ].
- Percentage Test cases Failed: We can also find this by Number of failed test cases / Number of executed test cases. [ (Number of failed test cases) / (Number of executed test cases) ] Note: If you have found any defect in the test cases, then you have to mention that test cases as failed; otherwise, it will be calculated as pass.
Exit Criteria To Be Considered
- All test documents prepared, reviewed and published
- Passing all the critical tests cases
- Testing of all the complete functional coverage\
- Successful execution of major functional or business flows
- Fixing of high priority defects are done and retested
- Fixing “Show Stopper defects” or” Blockers.”
- Meetings with stakeholders have been conducted. This is where a decision is made to either go to production or not.
It is very much hard to decide to stop doing the software tests because we can not be denied that errors are the never-ending problems that occur in software. For instance, a tester has just finished doing tests on software. Upon further investigation, it has been discovered that a new bug exists. Even though tests have been done and previous bugs and errors have been resolved. This will require more tests.
The cycle continues. Does that mean software tests can be stopped?