In the earlier days of Software development, testing was considered as a single phase and was performed only after the coding or the implementation phase. But after the evolution of the software development process and with the increasing complexity of software applications, the testing activities were defined to ensure effective software testing. This lead to the Software Testing Life Cycle of STLC. In this tutorial, we will study STLC and its various phases in detail.
What is Software Testing Life Cycle?
Software Testing Life Cycle or STLC refers to a series of systematic and well-defined steps performed during the testing of a software application.
Advantages of STLC
- The testing team gets involved right from the initial phases of SDLC. This helps in a better understanding of the application which results in overall better testing.
- STLC ensures lesser project cost and timely delivery since the testing team can uncover bugs and anomalies quickly by following the systematic test process.
- Since each STLC phase has a well-defined goal and deliverable so it helps in measuring the progress with the different milestones achieved in each phase.
Phases of STLC
Now, let’s see the different well-defined phases of the software testing life cycle along with their goals and deliverables.
- Requirement Analysis – In this phase, the testing team understands the requirement and analyze all the requirements documents. Along with that, the scope of testing is defined as to what all features can and will be tested and what all features will be out of the scope of the testing activities.
- Test Planning and Control – Test planning is one of the most important activities in the 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 stakeholders.
Test control includes continuous monitoring of the test progress with a set plan and along with the escalation of any deviation to the concerned stakeholders.
- 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 the test infrastructure, creation of high-level test cases and the creation of the requirements traceability matrix.
- Test Case Development – This phase involves the actual test case creation. It also involves the specification of test data and automated test scripts creation using different automation tools like Selenium WebDriver, Katalon Studio, etc.
- Test Environment Setup – This phase involves the creation of a test environment closely simulating the real-world environment. The testing team uses this environment to test the whole application. The different types of testing manual, automated, performance, etc are carried out here.
- Test Execution – This phase involves manual and automated test case execution. During test case execution any deviation from the expected result leads to the creation of defects in a defect management tool or manual logging of bugs in an excel sheet. Once, the development team fixes the bugs, the bugs are retested for validation.
- Exit Criteria Evaluation and Reporting – This phase involves analyzing the test execution result against the specified exit criteria and the creation of a test summary report. If the exit criteria conditions are met then the project is moved to the next phase, Test Closure.
- Test Closure – This phase marks the formal closure of testing. It involves checking if all the project deliverables are delivered, archiving the testware (everything involved in testing like test plan, test case, automation scripts), test environment and documenting the learning.
That’s all we have in this section, I hope by now, STLC and its various phases would be clear to you. Please let me know in the comments if you have any questions. Also, you can check our complete software testing tutorial here-