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 -

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