Software Testing Life Cycle [ STLC ] Models or Phases in Software Testing: The software testing life cycle (STLC) defines some sequence of activities that must be performed sequentially to produce a quality product. STLC process is a combination of a few phases, and each phase has some set of goals and deliverables. Each organization has a different set of phases but has a testing life cycle.
STLC Phases & Entry, Exit Criteria: The way of testing is changing daily. So, to test today’s application, testers need to be more technical and process-oriented because testers’ jobs have gradually changed from finding bugs to a broader range right from the beginning when the project requirements are not finalized.
As we have discussed, the software testers’ role has changed compared to a few decades ago, and companies are following a life cycle like the development cycle. So, the cycle we follow during testing is called the Software Testing Life Cycle (STLC).
What is the Software Testing Life Cycle (STLC)?
Software Testing Life Cycle (STLC), followed in the organization, is nothing but a testing process that is performed systematically and planned. The main motto of the following STLC is to deliver a quality product. When going through the STLC process, we go through various phases with different goals and deliverables.
During the Software Testing Life Cycle (STLC), we follow the below phases, and every phase has its entry criteria and deliverables.
- Requirement Analysis
- Test Planning
- Test Case Development
- Environment Step
- Test Execution
- Test Cycle Closure
What is the entry and Exit Criteria
Each phase is associated with Entry and exit criteria, activities, and deliverables. As mentioned, each phase has Entry and exit criteria, activities, and deliverables, which means each phase is interdependent. You can’t enter the next stage until you complete the exit criteria of the current stage. However, following entry and exit criteria for every phase is impossible, so we try to concentrate on each phase’s activities and deliverables.
- Entry Criteria: means before testing begins, you have to complete the prerequisite items
- Exit Criteria: This means items must be completed before the testing ends.
STLC Life Cycle
There are different stages of the Software Testing life cycle (STLC):
- Requirement Analysis
- Test Planning
- Test Case Development / Design
- Test Environment Step
- Test Execution
- Test Closure
The Very first phase of the Software Testing Life Cycle (STLC) is Requirement analysis. When the test team receives the BRS document, the test team will go through the document and identify the requirements from a testing perspective.
The main job of Quality Assurance (QA) in this phase is to understand the requirements, which means that they will go to test and the required inputs to test that. If QA persons are confused or do not understand any feature, then the QA reaches out to stakeholders like business analysts (BA), clients, and product leads for a better understanding of the product or to clear the doubts.
In this life cycle, the tester’s presence is beginning, so it will prevent introducing any defect into the software test. Identify test environment details where software testing is supposed to be carried out and also analyze the automation feasibility if the organization was planning for the automation.
Entry Criteria: BRS (Business Requirement Specification)
Deliverables: List of all testable requirements, Automation feasibility report (if applicable)
Test planning is one of the essential phases of software testing because it is the first step of the testing process, and all testing strategy is defined in this stage. That is why this stage is also called the test strategy phase.
In this phase, the test manager or test lead is involved in determining how much effort and cost for the project. The test plan was also prepared based on the requirement analysis. Other activities include resource planning, tool selection (if automation is required), roles and responsibilities for resources, and any training required. Deliverables of this phase are test plans and effort estimation documents.
The main goal of this phase is to identify the activities and resources that help meet the testing objectives, or you can say that the strategy, effort, and cost estimates are defined by the test manager or test lead in this phase.
Entry Criteria: Requirements Documents
Deliverables: Test Strategy, Test Plan, and Test Effort estimation document.
Test Case Development / Design
Once the test planning activity is finished, test case development is the next job for the testers or QA. In this phase, the QA persons start writing the test cases, and the testing team prepares the test data if required during testing.
Once the test case is ready, it is reviewed by any of your team or team lead. In parallel, the Requirement Traceability Matrix (RTM) is also prepared, which helps verify whether the requirement is full-filled.
Entry Criteria: Requirements Documents (Updated version of unclear or missing requirement)
Deliverables: Test cases, Test Scripts (if automation), Test data.
In this phase, we mainly decided on the software’s condition to be tested. It is an independent activity, so when writing the test cases, we can parallel to the environment setup. Once the setup is ready, the test team does the smoke test to check the test environment’s readiness.
Entry Criteria: Test Plan, Smoke Test cases, Test Data
Deliverables: Test Environment. Smoke Test Results.
Once the developers do the unit testing, the test team will get a test build. Then, the test team will start executing the test cases. Based on the test cases, if the actual result does not match the expected result, the QA person will raise a bug or defect on a task management tool and a retest will be performed once the defect is fixed.
Entry Criteria: Test Plan document, Test cases, Test data, Test Environment.
Deliverables: Test case execution report, Defect report, RTM
This is the final stage of STLC, where we prepare the Test Closure Report Test Metrics. At the same time, the testing team will sit in a place and Discuss what went well and which area needs to be improved & take the lessons from the current STLC as input to upcoming test cycles, which will help strengthen the STLC process’s bottleneck.
Entry Criteria: Test Case Execution report (make sure there are no high severity defects opened), Defect report
Deliverables: Test Closure report, Test metrics
Note: The Mentioned phase order may not be the same for all organizations. We can make this post more contentful if you share your view on the software testing life cycle (STLC) in the comment section.