Saturday, 15 June 2013

Software Testing Life Cycle (STLC)

Software Testing Life Cycle (STLC)

Software Testing Life Cycle (STLC) defines the steps/stages/phases in testing of software. 

The different stages in Software Testing Life Cycle:


  1. Requirement Analysis
  2. Test Planning
  3. Test Case Design / Development
  4. Environment setup
  5. Test Execution / Reporting / Defect Tracking
  6. Test Cycle Closure / Retrospective study

Software_Testing_Life_Cycle

1) 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
  1. Identify types of tests to be performed. 
  2. Gather details about testing priorities and focus.
  3. Prepare Requirement Traceability Matrix (RTM).
  4. Identify test environment details where testing is supposed to be carried out. 
  5. Automation feasibility analysis (if required).

Deliverables 
  1. RTM
  2. Automation feasibility report. (if applicable)

2) 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
  1. Preparation of test plan/strategy document for various types of testing
  2. Test tool selection 
  3. Test effort estimation 
  4. Resource planning and determining roles and responsibilities.
  5. Training requirement

Deliverables 
  1. Test plan /strategy document.
  2. Effort estimation document.

3) Test Case Design / 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
  1. Create test cases, automation scripts (if applicable)
  2. Review and baseline test cases and scripts 
  3. Create test data (If Test Environment is available)

Deliverables 
  1. Test cases/scripts 
  2. Test data

4) 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 
  1. Understand the required architecture, environment set-up and prepare hardware and software requirement list for the Test Environment. 
  2. Setup test Environment and test data 
  3. Perform smoke test on the build

Deliverables 
  1. Environment ready with test data set up 
  2. Smoke Test Results.

5) Test Execution / Reporting / Defect Tracking

 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 
  1. Execute tests as per plan
  2. Document test results, and log defects for failed cases 
  3. Map defects to test cases in RTM 
  4. Retest the defect fixes 
  5. Track the defects to closure

Deliverables 
  1. Completed RTM with execution status 
  2. Test cases updated with results 
  3. Defect reports

6) Test Cycle Closure / Retrospective study

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
  1. Evaluate cycle completion criteria based on Time,Test coverage,Cost,Software,Critical Business Objectives , Quality
  2. Prepare test metrics based on the above parameters. 
  3. Document the learning out of the project 
  4. Prepare Test closure report 
  5. Qualitative and quantitative reporting of quality of the work product to the customer. 
  6. Test result analysis to find out the defect distribution by type and severity.

Deliverables 
  1. Test Closure report 
  2. Test metrics

19 comments:

  1. Thanks for all your information.Website is very nice and informative content.

    Software Estimation Techniques Training in Chennai

    ReplyDelete

  2. It is really a great work and the way in which u r sharing the knowledge is excellent.
    Thanks for helping me to understand basic concepts. As a beginner in software testing your post help me a lot.Thanks for your informative article. software testing Training | software testing Training in chennai

    ReplyDelete
  3. Thanks, Learned a lot of new things from your post! Good creation and HATS OFF to the creativity of your mind.
    Very interesting and useful blog!
    Manual Testing Course in Gurgaon


    ReplyDelete
  4. Its a wonderful post and very helpful, thanks for all this information.
    Loadrunner Training in Delhi

    ReplyDelete
  5. Thank you for your post. This is excellent information.
    selenium online training in Bangalore

    ReplyDelete
  6. Thanks for sharing this blog. This is so informative blog
    Learned a lot of new things from your post! Good creation .
    Loadrunner Training in Delhi

    Loadrunner Training Course in Delhi

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete
  10. Thanks for sharing such a great blog Keep posting.
    Loadrunner Training in Delhi

    ReplyDelete
  11. Thanks for sharing this informative content , Great work
    Leanpitch provides online training in Agile coach during this lockdown period everyone can use it wisely.
    Certified agile coaching Bangalore

    ReplyDelete

  12. Thanks for sharing this informative content , Great work
    Leanpitch provides online training in Devops during this lockdown period everyone can use it wisely.Devops Online Training

    ReplyDelete
  13. if you are looking for best computer course in Delhi. Arth institute provides you the best computer courses .that will help you to grow faster .
    best computer course in Delhi

    ReplyDelete
  14. great post on Software Testing Life Cycle (STLC)
    Software Testing classes in Pune

    ReplyDelete

Share your feedback and queries here. Your feedback are more valuable to us!