So first let us check what is the difference between Software testing entry criteria and exit criteria? In any software testing life cycle, we need to implement some stage gets before we enter a phase. So before we start the system testing /system integration testing certain criteria should be met before we say that the system is ready for system testing. The entry criteria in software testing are nothing, but a checklist which we go through before starting a particular testing phase.
Below is the generic list of software testing entry criteria, which is applicable for all testing phases:
- Design Documents complete, reviewed, signed off and base-lined
- Non Functional Requirements document complete, reviewed, signed off and base-lined
- Service Level Agreements complete, reviewed, signed off and base-lined
- Business Requirement Documents complete, reviewed, signed off and base-lined
- Test Plan document (i.e. detailed test plan for each respective test phase) complete, reviewed, signed off and base-lined
- Defect management process is signed off by the development and test teams
- Configuration management process is signed off by the development, test and SDC teams
- Exit Criteria from previous test phase achieved
- Test environment is available and pipe-cleaned
- Confidence scripts have been executed covering the main flows of the application with no fatal errors
- Release Notes have been supplied to the Test Team
- Testing Tools such as HPQC project set up for the logging of all test cases and defects for respective test phase
- Use Cases complete, reviewed, signed off and base-lined
- Shakeout testing prior to initial code build, and each subsequent build received
- Any risks or issues from previous test phases are highlighted
- All agreed test cases have been executed from previous test level and test results have been documented in a Test Completion report
- Previous test phase test cases & scripts to be made available if required.
- Interlocked test plan complete, reviewed by all areas involved in: System, E2E Integration test, Performance test teams and, where appropriate any interfacing third parties, and base-lined.
- Test environment(s) is built, fully configured and available for use, having completed successful environment stability checks and, where required, test user profiles created
- Test conditions and scripts are complete, reviewed and base-lined. To include ratification of proposed test coverage and associated business priorities by the authorized business and development parties.
Now like entry criteria for each phase of testing we have some generic exit criteria, which help us to determine when the testing is done. Furthermore, keep in mind it is impossible to do a testing which will cover all the possible scenarios and make the product completely the bug free. After a testing phase is done say SIT finished you need to take a call if your testing is done. In that case exit-criteria is the checklist for you.
Here is the list of Exit Criteria in software testing:
- All planned test cases and scripts have been executed. In the event of any test coverage shortfall agreement to proceed will be required from business management, project management, test management as a result of a formal risk assessment.
- There is no priority 1 and 2 defects, nor critical and major severity defects remaining open.
- Any outstanding defects have been documented and signed off by the business, or have an agreed action plan to resolve.
- Test Phase completion report completed and distributed
- Proven regression test pack(s) available and confirmed current
- Formal handover meeting to agree movement from one test phase to the next have completed
- Evidence of test coverage and risk assessment of any coverage shortfall
- All the risks and issues are identified during testing and formally documented.
Now we have gone through all the generic entry and exit criteria in software testing. In next few articles, we will cover the ones which are specific to a particular test phase.