When to Stop Testing (Exit Criteria in Software Testing)

Learn via video courses
Topics Covered

Overview

Software Testing is a much-needed part of every software development life cycle. Without testing, you can’t deploy any software into the market. But do you know, what the two most important steps matter in the Software testing life cycle? - when to start testing(Entry criteria) and when to stop testing(Exit criteria)?

In entry criteria, we start testing as early as possible to identify bugs in the development cycle itself so it will be easy to fix them. In exit criteria, there are some metrics based on which we decide when to stop testing or how much testing is enough.

Introduction

Testing is an important aspect of software development as without testing, we can't think about deploying our application into production. However, when to stop testing is also quite challenging. On the one hand, too little testing can leave software vulnerable to bugs, errors, and security vulnerabilities, while on the other hand, excessive testing can be costly and delay the release of the software.

In this article, we will see when to stop or what are the exit criteria in software testing in detail. Whether you're a software developer, tester, or manager, this article will provide valuable insights to help you optimize your `testing efforts and improve the quality of your software.

When is it Enough Testing?

Deciding how much testing is enough is a very crucial task as you can’t predict enough parts from a testing point of view. As long as continuous development is going on, testing will be there, But still, there are some factors to decide whether enough testing has been done or not. Some of these are time and budget constraints, test coverage, quality metrics, user feedback, etc.

Stopping when all Defects are Found: Is it Possible?

The main aim of testing is not to find as many defects in the software but to prove that the software does work even with intentions of breaking it. No one can assure you that the software is completely 100% bug-free or the testing has been fully completed.

Not every software testing is easy, some are so complex that they may have unlimited bugs. You can't detect every bug hence it’s impractical to test it.

The fact is testing is an endless process and it continues till the software exists. It is not impossible to find all defects in software but definitely, it is not the decisive factor to stop testing.

Decision to Stop Testing: Exit Criteria

Here are some points based on which you can decide when to stop testing:

  • When test cases are completed with a maximum pass percentage
  • When the defect rate drop from the calculated level
  • When the budget came to its end
  • When the release deadlines have been reached.

What are the Completion or Exit Criteria?

The exit criteria are nothing but the conditions or criteria based on which the test cycle ends. All the Coverages (Pass, Defect) and test completion are factors that decide the exit criteria.

Here are some points :

1) Defect closure rate: This completion criterion is based on the rate at which defects are being identified and fixed.

2) Test case coverage: Completion criteria based on test case coverage means that a certain percentage of the total test cases should be executed and passed successfully before testing can be considered complete.

3) Time-based criteria: When testing is limited to a specific period, such as a certain number of days, weeks, or months, time-based criteria can be used to determine when testing must be stopped.

What should be present in the Exit Criteria?

The exit criteria is usually decided at the beginning of the test cycle i.e. Test planning stage and it also depends on the project and requirements. Below are some key points you can decide when to stop testing as per your project needs.

  1. Time and budget constraints
  2. Stakeholder approval
  3. Risk-based analysis
  4. Time and budget constraints
  5. Defect closure rate

Testing can be Stopped When:

Ideally, these points should be present in the exit criteria:

  1. When the deadline is about to end, the pass rate and defect rate should achieve.
  2. The entire testing budget has been depleted.
  3. All testing-related documents and deliverables have been created, reviewed, and shared with the appropriate stakeholders.
  4. All the high-priority bugs must be resolved and the bug rate level comes at a low level.

Conclusion

As we all know, "Testing is a never-ending process" and it may happen that just now you finished with the testing and suddenly found a new bug. It’s just like the cycle will continue. But how would we know when to stop testing at last?

Here are some checklists below, if you get most of your answers in "yes", you may stop testing, and if not, you may find out what exactly is missing before the bug hits production.

  • Is the test case pass rate as defined and required?
  • Has complete test coverage been achieved?
  • Has the decided defect count been reached?
  • Have all major high-priority defects been fixed and closed?
  • Have all defects been retested and closed?
  • Have all test deliverables been reviewed and published?