October 4, 2016

Software Testing Life Cycle (STLC)

What is Software Testing Life Cycle (STLC)
Software Testing is not a single activity. It consists of several activities carried out in a systematic way to deliver an efficient software product. All these Activities /Phases constitute STLC.

Below are the Activities /Phases of STLC:
  1. Requirements Gathering phase
  2. Test Planning Phase
  3. Test Case Development Phase
  4. Environment Setup Phase
  5. Test Case Execution Phase
  6. Test Conclusion Phase
  7. Test Cycle Closure Phase
Each of these activities have a definite Activities & Deliverables associated with it

1. Requirement Phase: During this phase of STLC, we will analyze and study the requirements. Here in this phase we will discuss with stakeholders to understand the requirements clearly and try to find out whether the requirements are testable or not. This phase helps to identify the scope of the testing. If any feature is not testable, communicate it during this phase so that the mitigation strategy can be planned.
Activities
o    Identify types of tests to be performed (Smoke, Sanity, Regression and Automation testing etc.,).
o    Prioritize the requirements.
o    Prepare Requirement Traceability Matrix (RTM).
o    Identify test environment details where testing is supposed to be carried out.
o    Automation feasibility analysis (if required).
Deliverables 
o    RTM
o    Automation feasibility report. (if applicable)
2. Test Planning Phase: Infact, Test planning is the first step of the testing process. In this phase we identify the activities and resources which would help to meet the testing objectives. Typically this will done by Sr. QA Manager.
Activities
o    Preparation of test plan/strategy document for various types of testing
o    Test tool selection
o    Test effort estimation
o    Resource planning and determining roles and responsibilities.
o    Training requirement
Deliverables 
o    Test plan /strategy document.
o    Effort estimation document.
3. Test Case Development PhaseThe major task in this STLC phase is of creation of the detailed test cases. Prioritize the test cases also identify which test case will become part of the regression suite. Before finalizing the test case, It is important to carry out the review to ensure the correctness of the test cases. And it is also important to take the confirmation of the the test cases created before the actual execution starts. If automation testing is required, identify the test cases for automation and proceed for scripting the test cases and make sure that you sent them fro review and got confirmation.
Activities
o    Create test cases, automation scripts (if applicable)
o    Review and baseline test cases and scripts
o    Create test data (If Test Environment is available)
Deliverables 
o    Test cases/scripts
o    Test data
4. Test Environment Setup PhaseTest environment includes software and hardware conditions under which product is to be 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 this case test team is required to do a readiness check (smoke testing) of the given environment.
Activities 
o    Setup test Environment and test data
o    Perform smoke test on the build
Deliverables 
o    Environment ready with test data set up
o    Smoke Test Results.
5. Test Execution PhaseDuring 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 once the bug is fixed by the development team, retesting/regression will be performed.
Activities 
o    Execute tests as per plan
o    Document test results, and log defects for failed cases
o    Map defects to test cases in RTM
o    Retest the defect fixes
o    Track the defects to closure
Deliverables 
o    Completed RTM with execution status
o    Test cases updated with results
o    Defect reports
6. Test Conclusion Phase: This phase concentrates on the exit criteria and reporting. We've to know the reporting persons. Depending on your project and stakeholders choice, you can decide on reporting whether you want to send out a daily report or weekly report etc.
There are different types of reports
o    DSR – Daily status report
o    WSR – Weekly status reports
The important point is, the content of the report changes and depends upon whom you are sending your reports.
o    If you are reporting to Project managers belong to testing background then they are more interested in the technical aspect of the project, so include the technical things in your report ( number of test cases passed, failed, defects raised, severity 1 defects etc.).
o    If you are reporting to upper stakeholders, they might not be interested in the technical things so report them about the risks that have been mitigated through the testing.
Activities
o    Provide the accurate figures and result of testing
o    Identify the risks which are mitigated
Deliverables 
o    Updated Taceability Metrics
o    Test Status report
o    Risk management report
7. Test Cycle Closure Phase: 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 following are the tasks for the Test Closure:
o    Check for the completion of the test. Whether all the test cases are executed or mitigated deliberately. Check there are no severity 1 defects opened.
o    Do lessons learnt meeting and create lessons learnt document.( Include what went well, where are the scope of improvements and what can be improved)
Activities
o    Evaluate cycle completion criteria based on Time,Test coverage,Cost,Software,Critical Business Objectives , Quality
o    Prepare test metrics based on the above parameters.
o    Document the learning out of the project
o    Prepare Test closure report
o    Qualitative and quantitative reporting of quality of the work product to the customer.
o    Test result analysis to find out the defect distribution by type and severity.
Deliverables 
o    Test Closure report
o    Test metrics

2 comments:

  1. Hello friends, nice post and nice urging commented at this place, I am in fact enjoying by these.
    Thanks a lot, this post helps a lot making some high-level architectural decision. Thanks for the information.
    software testing services
    software testing companies
    Regression testing services
    Performance testing Services
    Test automation services

    ReplyDelete
  2. Great post and informative one about software testing lifecycle. It's really helpful to understand the manual and automation testing concepts. Software testing services will plays a major role in software development company. Keep sharing more content like this.

    ReplyDelete