Software Testing Life Cycle [ STLC ] Models or Phases in Software Testing: The software testing life cycle (STLC) defines some sequence of activities that need to 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 every organization has a testing life cycle.
STLC Phases & Entry, Exit Criteria: The way of doing testing is changed day by day. So to test today’s application, testers need to be more technical and also have process-oriented because the job of testers is changed gradually from finding bugs to a broader range that is right from the beginning when the requirements for the projects also not finalized.
As we have discussed, software testers’ role is changed as compared to a few decades ago, and companies are following a life cycle the same as in the development cycle. So the cycle which we follow during testing is called the Software Testing Life Cycle (STLC).
What is Software Testing Life Cycle (STLC)?
Software Testing Life Cycle (STLC), which is followed in the organization is nothing but a testing process which is performed in a systematic and planned manner. The main motto of the following STLC is to deliver a quality product. When we are going through in STLC process, we are going through various phases, and each phase has different goals and also deliverables.
During the Software Testing Life Cycle (STLC), we follow the below phases, and every phase has its entry criteria and also 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 an Entry, exit criteria, activities, and deliverables. As we have already mentioned, each phase has Entry, 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. But 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 need to be completed before ending the testing process.
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 get any confusion or do not understand any feature, then the QA reaches to stakeholders like Business analyst (BA), client, product lead for better understanding of the product, or 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 supposes to be carried to and also analyze the automation feasibility if organization 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 why this stage is also called the test strategy phase.
In this phase test manager or test, lead involves determining how much effort and cost for the project. The test plan also prepared based on the requirement analysis. Few other activities also happen like resource planning, tool selection (if automation requirement), roles and responsibilities for resources, and any training is required for resources. Deliverables of this phase are test plan 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, the next job for the testers or QA is test case development. in this phase, the QA persons started writing the test cases, and the testing team prepared the test data if required during testing.
Once the test case is ready, it is reviewed by any of your team or by the team lead. And 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 which condition the software is going to be tested. It is an independent activity, so at the time of 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, then 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 is not matched with the expected result, the QA person will raise a bug or defect on a task management tool, and 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 Test Closure Report, Test Metrics finally. At the same time, the testing team will sit in a place and Discuss what all went well, which area needs to be improved & taking the lessons from current STLC as input to upcoming test cycles, which will help to strengthen bottleneck in the STLC process.
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.