What is Software Testing Life Cycle?
Testing a software is not a single activity wherein we just validate the built product, instead it comprises of a set of activities performed throughout the application lifecycle. Software testing life cycle or STLC refers to all these activities performed during the testing of a software product.
Phases of STLC
- Requirement Analysis - In this phase the requirements documents are analysed and validated. Along with that the scope of testing is defined.
- Test Planning and Control - Test planning is one of the most important activities in test process. It involves defining the test specifications in order to achieve the project requirements. Whereas, test Control includes continuous monitoring of test progress with the set plan and escalating any deviation to the concerned stake holders.
- Test Analysis and Design - This phase involves analyzing and reviewing requirement documents, risk analysis reports and other design specifications. Apart from this, it also involves setting up of test infrastructure, creation of high level test cases and creation of traceability matrix.
- Test Case Development - This phase involves the actual test case creation. It also invloves specification of test data and automated test scripts creation.
- Test Environment Setup - This phase involves creation of a test environment closely simulating the real world environment.
- Test Execution - This phase involves manual and automated test case execution. During test case execution any deviation from the expected result leads to creation of defects in a defect management tool or manual logging of bugs in an excel sheet.
- Exit Criteria Evaluation and Reporting - This phase involves analyzing the test execution result against the specified exit criteria and creation of test summary report.
- Test Closure - This phase marks the formal closure of testing. It involves checking if all the project deliverable are delivered, archiving the testware(everything involved in testing like test plan, test case, automation scripts), test environment and documenting the learning.