Chapter 6: STLC

In this chapter , we will study the Evolution of Software Testing, Software Testing Life Cycle and the various phases involved in STLC.

What Is Software Testing Life Cycle (STLC)

Software Testing Life Cycle refers to a testing process which has specific steps to be executed in a definite sequence to ensure that the quality goals have been met. In the STLC process, each activity is carried out in a planned and systematic way. Each phase has different goals and deliverables. Different organizations have different phases in STLC; however, the basis remains the same.

Below are the phases of STLC:

  1. Requirement Analysis phase
  2. Test Planning Phase
  3. Test Case Development Phase  
  4.   Test Environment Setup Phase
  5. Test Execution Phase
  6. Closure Phase

Every phase of STLC (Software Testing Life Cycle) has a definite Entry and Exit Criteria.

Requirement Analysis:

Entry criteria for this phase is BRS (Business Requirement Specification) document. During this phase, test team studies and analyzes the requirements from a testing perspective. This phase helps to identify whether the requirements are testable or not. If any requirement is not testable, test team can communicate with various stakeholders (Client, Business Analyst, Technical Leads, System Architects etc) during this phase so that the mitigation strategy can be planned.

Entry Criteria: BRS (Business Requirement Specification)
Deliverables: List of all testable requirements, Automation feasibility report (if applicable)

Test Planning:

Test planning is the first step of the testing process. In this phase typically Test Manager/Test Lead involves determining the effort and cost estimates for the entire project. Preparation of Test Plan will be done based on the requirement analysis. Activities like resource planning, determining roles and responsibilities, tool selection (if automation), training requirement etc., carried out in this phase. The deliverables of this phase are Test Plan & Effort estimation documents.

Entry Criteria: Requirements Documents
Deliverables: Test Strategy, Test Plan, and Test Effort estimation document.

Test Design:

Test team starts with test cases development activity here in this phase. Test team prepares test cases, test scripts (if automation) and test data. Once the test cases are ready then these test cases are reviewed by peer members or team lead. Also, test team prepares the Requirement Traceability Matrix (RTM). RTM traces the requirements to the test cases that are needed to verify whether the requirements are fulfilled. The deliverables of this phase are Test Cases, Test Scripts, Test Data, Requirements Traceability Matrix

Entry Criteria: Requirements Documents (Updated version of unclear or missing requirement)
Deliverables: Test cases, Test Scripts (if automation), Test data.

Test Environment Setup:

This phase can be started in parallel with Test design phase. Test environment setup is done based on the hardware and software requirement list. Some cases test team may not be involved in this phase. Development team or customer provides the test environment. Meanwhile, test team should prepare the smoke test cases to check the readiness of the given test environment.

Entry Criteria: Test Plan, Smoke Test cases, Test Data
Deliverables: Test Environment. Smoke Test Results.

Test Execution:

Test team starts executing the test cases based on the planned test cases. If a test case result is Pass/Fail then the same should be updated in the test cases. Defect report should be prepared for failed test cases and should be reported to the Development Team through bug tracking tool (eg., Quality Center) for fixing the defects. Retesting will be performed once the defect was fixed. Click here to see the Bug Life Cycle.

Entry Criteria: Test Plan document, Test cases, Test data, Test Environment.
Deliverables: Test case execution report, Defect report, RTM

Test Closure:

The final stage where we prepare Test Closure Report, Test Metrics.
Testing team will be called out for a meeting to evaluate cycle completion criteria based on Test coverage, Quality, Time, Cost, Software, Business objectives. Test team analyses the test artifacts (such as Test cases, Defect reports etc.,) to identify strategies that have to be implemented in future, which will help to remove process bottlenecks in the upcoming projects. Test metrics and Test closure report will be prepared based on the above criteria.

Entry Criteria: Test Case Execution report (make sure there are no high severity defects opened), Defect report
Deliverables: Test Closure report, Test metrics