STLC (Software Testing Life Cycle)

Software Testing Life Cycle

What is Software Testing Life Cycle (STLC)?

Software Testing Life Cycle (STLC) is a sequence of specific activities conducted during the testing process to ensure software quality goals are met. STLC involves both verification and validation activities. Contrary to popular belief, Software Testing is not just a single/isolate activity, i.e. testing. It consists of a series of activities carried out methodologically to help certify your software product. STLC stands for Software Testing Life Cycle.

STLC Phases

There are following six major phases in every Software Testing Life Cycle Model (STLC Model):

STLC Phases
STLC Model Phases
  1. Requirement Analysis
  2. Test Planning
  3. Test case development
  4. Test Environment setup
  5. Test Execution
  6. Test Cycle closure

Each of these stages has a definite Entry and Exit criteria, Activities & Deliverables associated with it.

What is Entry and Exit Criteria in STLC?

  • Entry Criteria: Entry Criteria gives the prerequisite items that must be completed before testing can begin.
  • Exit Criteria: Exit Criteria defines the items that must be completed before testing can be concluded

You have Entry and Exit Criteria for all levels in the Software Testing Life Cycle (STLC)

In an Ideal world, you will not enter the next stage until the exit criteria for the previous stage is met. But practically this is not always possible. So for this tutorial, we will focus on activities and deliverables for the different stages in STLC life cycle. Let’s look into them in detail.

Video on STLC in Software Testing

Requirement Phase Testing

Requirement Phase Testing also known as Requirement Analysis in which test team studies the requirements from a testing point of view to identify testable requirements and the QA team may interact with various stakeholders to understand requirements in detail. Requirements could be either functional or non-functional. Automation feasibility for the testing project is also done in this stage.

Activities in Requirement Phase Testing

  • 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).

Deliverables of Requirement Phase Testing

  • RTM
  • Automation feasibility report. (if applicable)

Test Planning in STLC

Test Planning in STLC is a phase in which a Senior QA manager determines the test plan strategy along with efforts and cost estimates for the project. Moreover, the resources, test environment, test limitations and the testing schedule are also determined. The Test Plan gets prepared and finalized in the same phase.

Test Planning Activities

  • Preparation of test plan/strategy document for various types of testing
  • Test tool selection
  • Test effort estimation
  • Resource planning and determining roles and responsibilities.
  • Training requirement

Deliverables of Test Planning

Test Case Development Phase

The Test Case Development Phase involves the creation, verification and rework of test cases & test scripts after the test plan is ready. Initially, the Test data is identified then created and reviewed and then reworked based on the preconditions. Then the QA team starts the development process of test cases for individual units.

Test Case Development Activities

  • Create test cases, automation scripts (if applicable)
  • Review and baseline test cases and scripts
  • Create test data (If Test Environment is available)

Deliverables of Test Case Development

  • Test cases/scripts
  • Test data

Test Environment Setup

Test Environment Setup decides the software and hardware conditions under which a work product is tested. It is one of the critical aspects of the testing process and can be done in parallel with the Test Case Development Phase. Test team may not be involved in this activity if the development team provides the test environment. The test team is required to do a readiness check (smoke testing) of the given environment.

Test Environment Setup Activities

  • Understand the required architecture, environment set-up and prepare hardware and software requirement list for the Test Environment.
  • Setup test Environment and test data
  • Perform smoke test on the build

Deliverables of Test Environment Setup

  • Environment ready with test data set up
  • Smoke Test Results.

Test Execution Phase

Test Execution Phase is carried out by the testers in which testing of the software build is done based on test plans and test cases prepared. The process consists of test script execution, test script maintenance and bug reporting. If bugs are reported then it is reverted back to development team for correction and retesting will be performed.

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 to closure

Deliverables of Test Execution

  • Completed RTM with the execution status
  • Test cases updated with results
  • Defect reports

Test Cycle Closure

Test Cycle Closure phase is completion of test execution which involves several activities like test completion reporting, collection of test completion matrices and test results. Testing team members meet, discuss and analyze testing artifacts to identify strategies that have to be implemented in future, taking lessons from current test cycle. The idea is to remove process bottlenecks 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

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