Software Testing Life Cycle (STLC) is the testing process which is executed in systematic and planned manner. In STLC process, different activities are carried out to improve the quality of the product. Let’s quickly see what all stages are involved in typical Software Testing Life Cycle (STLC).
Following steps are involved in Software Testing Life Cycle (STLC). Each step is have its own Entry Criteria and deliverable.
- Requirement Analysis
- Test Planning
- Test Case Development
- Environment Setup
- Test Execution
- Test Cycle Closure
Ideally, the next step is based on previous step or we can say next step cannot be started unless and until previous step is completed. It is possible in the ideal situation, but practically it is not always true.
So Let’s discuss what all activities and deliverable are involved in the each step in detailed.
Requirement Analysis:
Requirement Analysis is the very first step in Software Testing Life Cycle (STLC). In this step Quality Assurance (QA) team understands the requirement in terms of what we will testing & figure out the testable requirements. If any conflict, missing or not understood any requirement, then QA team follow up with the various stakeholders like Business Analyst, System Architecture, Client, Technical Manager/Lead etc to better understand the detail knowledge of requirement.
From very first step QA involved in the where STLC which helps to prevent the introducing defects into Software under test. The requirements can be either Functional or Non-Functional like Performance, Security testing. Also requirement and Automation feasibility of the project can be done in this stage (if applicable)
Entry Criteria |
Activities |
Deliverable |
Following documents should be available:
– Requirements Specification. – Application architectural Along with above documents Acceptance criteria should be well defined. |
Prepare the list of questions or queries and get resolved from Business Analyst, System Architecture, Client, Technical Manager/Lead etc.
Make out the list for what all Types of Tests performed like Functional, Security, and Performance etc. Define the testing focus and priorities. List down the Test environment details where testing activities will be carried out. Checkout the Automation feasibility if required & prepare the Automation feasibility report. |
List of questions with all answers to be resolved from business i.e. testable requirements
Automation feasibility report (if applicable) |
Test Planning:
Test Planning is most important phase of Software testing life cycle where all testing strategy is defined. This phase also called as Test Strategy phase. In this phase typically Test Manager (or Test Lead based on company to company) involved to determine the effort and cost estimates for entire project. This phase will be kicked off once the requirement gathering phase is completed & based on the requirement analysis, start preparing the Test Plan. The Result of Test Planning phase will be Test Plan or Test strategy & Testing Effort estimation documents. Once test planning phase is completed the QA team can start with test cases development activity.
Get the Sample Test Plan Template here.
Entry Criteria |
Activities |
Deliverable |
Requirements Documents (Updated version of unclear or missing requirement).
Automation feasibility report. |
Define Objective & scope of the project.
List down the testing types involved in the STLC. Test effort estimation and resource planning. Selection of testing tool if required. Define the testing process overview. Define the test environment required for entire project. Prepare the test schedules. Define the control procedures. Determining roles and responsibilities. List down the testing deliverable. Define the entry criteria, suspension criteria, resumption criteria and exit criteria. Define the risk involved if any. |
Test Plan or Test strategy document.
Testing Effort estimation document. |
Test Case Development:
The test case development activity is started once the test planning activity is finished. This is the phase of STLC where testing team write down the detailed test cases. Along with test cases testing team also prepare the test data if any required for testing. Once the test cases are ready then these test cases are reviewed by peer members or QA lead.
Also the Requirement Traceability Matrix (RTM) is prepared. The Requirement Traceability Matrix is an industry-accepted format for tracking requirements where each test case is mapped with the requirement. Using this RTM we can track backward & forward traceability.
Entry Criteria |
Activities |
Deliverable |
Requirements Documents (Updated version of unclear or missing requirement).
Automation feasibility report. |
Preparation of test cases.
Preparation of test automation scripts (if required). Re-requisite test data preparation for executing test cases. |
Test cases.
Test data. Test Automation Scripts (if required). |
Test Environment Setup:
Setting up the test environment is vital part of the STLC. Basically test environment decides on which conditions software is tested. This is independent activity and can be started parallel with Test Case Development. In process of setting up testing environment test team is not involved in it. Based on company to company may be developer or customer creates the testing environment. Mean while testing team should prepare the smoke test cases to check the readiness of the test environment setup.
Entry Criteria |
Activities |
Deliverable |
Test Plan is available.
Smoke Test cases are available. Test data is available. |
Analyze the requirements and prepare the list of Software & hardware required to set up test environment.
Setup the test environment. Once the Test Environment is setup execute the Smoke test cases to check the readiness of the test environment. |
Test Environment will be ready with test data.
Result of Smoke Test cases. |
Test Execution:
Once the preparation of Test Case Development and Test Environment setup is completed then test execution phase can be kicked off. In this phase testing team start executing test cases based on prepared test planning & prepared test cases in the prior step.
Once the test case is passed then same can be marked as Passed. If any test case is failed then corresponding defect can be reported to developer team via bug tracking system & bug can be linked for corresponding test case for further analysis. Ideally every failed test case should be associated with at least single bug. Using this linking we can get the failed test case with bug associated with it. Once the bug fixed by development team then same test case can be executed based on your test planning.
If any of the test cases are blocked due to any defect then such test cases can be marked as Blocked, so we can get the report based on how many test cases passed, failed, blocked or not run etc. Once the defects are fixed, same Failed or Blocked test cases can be executed again to retest the functionality.
Entry Criteria |
Activities |
Deliverable |
Test Plan or Test strategy document.
Test cases. Test data. |
Based on test planning execute the test cases.
Mark status of test cases like Passed, Failed, Blocked, Not Run etc. Assign Bug Id for all Failed and Blocked test cases. Do Retesting once the defects are fixed. Track the defects to closure. |
Test case execution report.
Defect report. |
Test Cycle Closure:
Call out the testing team member meeting & evaluate cycle completion criteria based on Test coverage, Quality, Cost, Time, Critical Business Objectives, and Software. Discuss what all went good, which area needs to be improve & taking the lessons from current STLC as input to upcoming test cycles, which will help to improve bottleneck in the STLC process. Test case & bug report will analyze to find out the defect distribution by type and severity. Once complete the test cycle then test closure report & Test metrics will be prepared. Test result analysis to find out the defect distribution by type and severity.
Entry Criteria |
Activities |
Deliverable |
Test case execution is completed
Test case Execution report Defect report |
Evaluate cycle completion criteria based on Test coverage, Quality, Cost, Time, Critical Business Objectives, and Software Prepare test metrics based on the above parameters.
Prepare Test closure report Share best practices for any similar projects in future |
Test Closure report
Test metrics |
Conclusion:
I think I have addressed all major points of Software Testing Life Cycle (STLC). I would like all of you to please share you experience on STLC in below comment section. To get software testing articles in your inbox click here to subscribe with your email address. If you really like the article then please share over below multiple sharing options below.
Happy Testing!!!