Software Testing Life Cycle STLC

Contrary to popular belief, Software Testing is not a just a single activity. It consists of series of activities carried out methodologically to help certify your software product. These activities (stages) constitute the Software Testing Life Cycle (STLC).

The different stages in Software Test Life Cycle -

software-test-life-cycle

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

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 of activities and deliverables for the different stages in STLC. Lets look into them in detail.

Requirement Analysis

During this phase, test team studies the requirements from a testing point of view to identify the testable requirements. The QA team may interact with various stakeholders (Client, Business Analyst, Technical Leads, System Architects etc) to understand the requirements in detail. Requirements could be either Functional (defining what the software must do) or Non Functional (defining system performance /security availability ) .Automation feasibility for the given testing project is also done in this stage.

Activities

  • 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 

  • RTM
  • Automation feasibility report. (if applicable)

Test Planning

This phase is also called Test Strategy phase. Typically , in this stage, a Senior QA manager will determine effort and cost estimates for the project and would prepare and finalize the Test Plan.

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 

Test Case Development

This phase involves creation, verification and rework of test cases & test scripts. Test data , is identified/created and is reviewed and then reworked as well.

Activities

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

Deliverables 

  • Test cases/scripts 
  • Test data

Test Environment Setup

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

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 

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

Test Execution

 During this phase test team will carry out the testing based on the test plans and the test cases prepared. Bugs will be reported back to the development team for correction and retesting will be performed.

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 

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

Test Cycle Closure

Testing team will meet , discuss and analyze testing artifacts to identify strategies that have to be implemented in future, taking lessons from the current test cycle. The idea is to remove the process bottlenecks for future test cycles and share best practices for any similar projects in future.

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 

  • Test Closure report 
  • Test metrics

Finally, summary of STLC 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, 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 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

 

 

comments powered by Disqus