Software Testing Life Cycle (STLC) Phases
What is the Software Testing Life Cycle (STLC)?
The Software Testing Life Cycle (STLC) is a series of specific activities carried out during the testing process to ensure that software quality objectives are met. STLC activities include both verification and validation. Contrary to popular belief, software testing is not a single/isolated activity. It consists of a series of activities carried out methodically to aid in the certification of your software product. STLC is an abbreviation for Software Testing Life Cycle.
Software Testing Life Cycle Stages
Every Software Testing Life Cycle Model (STLC Model) includes the six major phases listed below:
- Requirement Analysis
- Test Planning
- Test case development
- Test Environment setup
- Test Execution
- Test Cycle closure
Each stage has distinct Entry criteria and Exit criteria, Activities, and Deliverables.
What are STLC Entry and Exit Criteria?
- Entry Criteria: Entry Criteria gives the prerequisite items that must be completed before testing can begin.
- Exit Criteria: Exit Criteria define the items that must be completed before testing can be concluded
All levels of the Software Testing Life Cycle have Entry Criteria and Exit Criteria.
In an ideal world, you would not proceed to the next stage until the previous stage’s exit criteria were met. However, in practice, this is not always possible. So, for this tutorial, we will concentrate on activities and deliverables for the stages of the STLC life cycle. Let’s take a closer look at them.
Requirement Phase Testing
Requirement Phase Testing, also known as Requirement Analysis, is a phase of testing in which the test team studies the requirements from a testing standpoint to identify testable requirements. The QA team may interact with various stakeholders to fully understand the requirements. Functional or non-functional requirements are possible. This stage also includes determining the feasibility of automation for the testing project.
Requirement Phase Testing Activities
- Determine the types of tests to be performed.
- Collect information about testing priorities and focus.
- Prepare Requirement Traceability Matrix (RTM).
- Identify the test environment details where testing is to be performed.
- Analysis of automation feasibility (if required).
Requirement Phase Testing Deliverables
- RTM
- Report on automation feasibility (if applicable)
Read more: 7 Software Testing Principles
Test Planning in STLC
In the STLC, Test Planning is a phase in which a Senior QA manager determines the test plan strategy, project effort, and cost estimates. Furthermore, the resources, test environment, test limitations, and testing schedule are all established. The Test Plan gets prepared and finalized in the same phase.
Test Planning Activities
- Test plan/strategy document preparation for various types of testing
- Tool selection for testing
- Test effort estimation
- Planning resources and determining roles and responsibilities
- Training requirement
Test Planning Deliverables
- Test plan /strategy document.
- Effort estimation document.
Test Case Development Phase
Following the completion of the test plan, the Test Case Development Phase entails the creation, verification, and rework of test cases and test scripts. Initially, the Test data is identified, then created, reviewed, and reworked following the preconditions. The QA team then begins developing test cases for individual units.
Test Case Development Activities
- Make test cases and automation scripts (if applicable)
- Review and baseline test cases and scripts
- Make test data (If Test Environment is available)
Test Case Development Deliverables
- Test cases/scripts
- Test data
Test Environment Setup
Test Environment Setup determines the software and hardware conditions under which a work product is tested. It is a critical aspect of the testing process and can be completed concurrently with the Test Case Development Phase. If the development team provides the test environment, the test team may not be involved in this activity. The test team must conduct a readiness check (smoke testing) of the given environment.
Test Environment Setup Activities
- Understand the required architecture, set up the environment, and prepare a list of hardware and software requirements for the Test Environment
- Setup test Environment and test data
- Perform a smoke test on the build
Deliverables of Test Environment Setup
- Environment ready with test data set up
- Smoke Test Results
Test Execution Phase
The testers test the software build based on the test plans and test cases that have been prepared. The procedure includes test script execution, script maintenance, and bug reporting. If bugs are reported, they are returned to the development team for correction and retesting.
Test Execution Activities
- Execute tests as per plan
- Document test results and log defects for failed cases
- Map defects to test cases in RTM
- Retest the Defect fixes
- Track the defects in closure
Deliverables of Test Execution
- Completed RTM with the execution status
- Test cases updated with results.
- Defect reports
Test Cycle Closure
The Test Cycle Closure phase involves the completion of test execution, which includes activities such as test completion reporting, the collection of test completion matrices, and the collection of test results. Members of the testing team meet to discuss and analyze testing artifacts to identify future strategies that must be implemented based on lessons learned from the current test cycle. The goal is to eliminate bottlenecks in the process for future test cycles.
Test Cycle Closure Activities
- Evaluate cycle completion criteria based on Time, Test coverage, Cost, Software, Critical Business Objectives, Quality
- Prepare test metrics based on the above parameters.
- Document the learning out of the project
- Prepare Test closure report.
- Qualitative and quantitative reporting of quality of the work product to the customer.
- Test result analysis to find out the defect distribution by type and severity.
Deliverables of Test Cycle Closure
- Test Closure report
- Test metrics
Read more: Automation Testing Tools – How to Choose The Right One
STLC Phases along with Entry and Exit Criteria
STLC Stage | Entry Criteria | Activity | Exit Criteria | Deliverables |
Requirement Analysis |
|
|
|
|
Test Planning |
|
|
|
|
Test case development |
|
|
|
|
Test Environment setup |
|
|
|
|
Test Execution |
|
|
|
|
Test Cycle closure |
|
|
|
|