Lecture
The criteria for completing software testing are defined in order to make sure that the functionality and quality of the product being developed have been verified to a sufficient degree.
The main criteria for completing testing:
Testing must be continued, i.e. it is assumed that the more errors are found during testing, the more we can still find

The number of detected errors tends to zero; therefore, the testing process can be completed.

For example, 90% code coverage by tests is required, which means that most of the code has been tested and checked for errors.

4. Quantitative reliability indicators
The criterion for completing testing by reliability indicators, which are calculated from the reliability module of the software product.
Other common criteria for completing testing:
Test coverage: The software code must be adequately covered by tests in order to verify all the main functions and components. This includes unit testing of individual modules, integration testing of the interaction between modules, and system testing of the whole product as a whole.
Successful execution of test scenarios: All planned test scenarios must be executed without errors and problems. Testing should cover various usage scenarios, as well as positive and negative test cases.
Error handling: Errors found during testing must be handled adequately. The development team must investigate and fix the errors found, and then retest the fixed components to make sure they work correctly.
Time and resources: Testing must be completed within a given time period and with the available resources. Planning and managing testing time are important aspects of achieving completeness.
Quality assurance: The evaluation of test results must reach a level at which the development team can confidently state the quality of the software and its readiness for release.
Customer acceptance: The completeness of testing can be confirmed and accepted by the customer or stakeholders. This may include formal approval and acknowledgment of the testing performed.
The specified coverage has been achieved.
There are no showstoppers (blockers) or critical bugs.
There are very few known bugs of medium or low priority that do not affect the use of the product.
. There is a defined process and criteria that determine whether we can move from one testing level to another. It is captured as part of the test closure report for that test level. Several examples of combinations of completion criteria for different testing levels can be defined as follows:
As you can see, there are several KPIs that need to be tracked in order to complete system testing. Thus, the test completion report is quite exhaustive. This report is presented to business stakeholders, and based on the results they decide whether user acceptance testing can begin.
The significance of the criteria for completing software testing is as follows:
Quality assessment: The completion criteria help assess how fully and effectively testing has been carried out. They make it possible to determine whether all the necessary test scenarios have been executed, the code coverage by tests, and other important aspects. This makes it possible to be sure of the quality of the software under test and its readiness for use.
Risk management: The criteria for completing testing help manage the risks associated with insufficient or incomplete testing. They make it possible to make sure that critical defects have been found and fixed, that the functionality of the software has been verified, and that the system is ready for real operation. This reduces the risk of problems and of unmet user needs.
Meeting requirements: The criteria for completing testing make it possible to make sure that all the requirements of the customer or business users have been taken into account and tested. They serve as a basis for verifying the software's compliance with the stated requirements, functionality, and user expectations. This is important for achieving the project's goals and satisfying the customer's needs.
Resource efficiency: The criteria for completing testing help optimize the use of resources such as time, budget, and effort. They make it possible to set clear boundaries and limits for testing in order to reach the required level of quality without unnecessary costs.
Trust and confidence: The criteria for completing testing help build trust and confidence in the quality of the software. They serve as a basis for confirming that the necessary checks have been performed and that the system is ready for successful operation. This is important for customers, users, and other stakeholders who rely on the functionality and reliability of the software.
All these aspects underline the significance of the criteria for completing testing, which help ensure quality, manage risks, meet requirements, and build trust in the software. Taken together, all the criteria help determine the completeness of software testing and the product's readiness for the next stage, such as release or deployment. However, it should be noted that the completion criteria may vary depending on the specific requirements of the project and the quality standards established in the organization.
Comments