Software Testing Life Cycle (STLC) Phases

software-testing-life-cycle

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
  • Requirements Document available (both functional and non functional)
  • Acceptance criteria defined.
  • Application architectural document available.
  • Analyse business functionality to know the business modules and module specific functionalities.
  • Identify all transactions in the modules.
  • Identify all the user profiles.
  • Gather user interface/ authentication, geographic spread requirements.
  • Identify types of tests to be performed.
  • Gather details about testing priorities and focus.
  • Prepare Requirement Traceability Matrix (RTM).
  • Identify test environment details where testing is supposed to be carried out.
  • Automation feasibility analysis (if required).
  • Signed off RTM
  • Test automation feasibility report signed off by the client
  • RTM
  • Automation feasibility report (if applicable)
Test Planning
  • Requirements Documents
  • Requirement Traceability matrix.
  • Test automation feasibility document.
  • Analyze various testing approaches available
  • Finalize on the best-suited approach
  • Preparation of test plan/strategy document for various types of testing
  • Test tool selection
  • Test effort estimation
  • Resource planning and determining roles and responsibilities.
  • Approved test plan/strategy document.
  • Effort estimation document signed off.
  • Test plan/strategy document.
  • Effort estimation document.
Test case development
  • Requirements Documents
  • RTM and test plan
  • Automation analysis report
  • Create test cases, test design, automation scripts (where applicable)
  • Review and baseline test cases and scripts
  • Create test data
  • Reviewed and signed test Cases/scripts
  • Reviewed and signed test data
  • Test cases/scripts
  • Test data
Test Environment setup
  • System Design and architecture documents are available
  • Environment set-up plan is available
  • Understand the required architecture, environment set-up
  • Prepare hardware and software development requirement list
  • Finalize connectivity requirements
  • Prepare environment setup checklist
  • Setup test Environment and test data
  • Perform smoke test on the build
  • Accept/reject the build depending on smoke test result
  • Environment setup is working as per the plan and checklist
  • Test data setup is complete
  • Smoke test is successful
  • Environment ready with test data set up
  • Smoke Test Results.
Test Execution
  • Baselined RTM, Test Plan , Test case/scripts are available
  • Test environment is ready
  • Test data set up is done
  • Unit/Integration test report for the build to be tested is available
  • Execute tests as per plan
  • Document test results, and log defects for failed cases
  • Update test plans/test cases, if necessary
  • Map defects to test cases in RTM
  • Retest the defect fixes
  • Regression Testing of application
  • Track the defects to closure
  • All tests planned are executed
  • Defects logged and tracked to closure
  • Completed RTM with execution status
  • Test cases updated with results
  • Defect reports
Test Cycle closure
  • Testing has been completed
  • Test results are available
  • Defect logs are available
  • Evaluate cycle completion criteria based on – Time, Test coverage, Cost, Software Quality, Critical Business Objectives
  • 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
  • Test Closure report signed off by client
  • Test Closure report
  • Test metrics