In today’s world Software Testing is equally important with that of development. Delivering quality software to the client is utmost important which requires testing to be done thoroughly by following some standard testing procedures. It takes different activities and steps to test software which makes up the Software Test Life Cycle.

Software Testing Life Cycle (STLC) is defined as a sequence of activities conducted to perform Software Testing.

Let’s look at the different phases of STLC:

1

Fig.1: STLC Stages

1. System study
In this phase Testing Team try to understand the requirement, the customer business work flow and also how each and every feature should work.
Testers interact with Business analyst for any doubts in understanding the requirement and get it clarified at this stage itself.
Automation feasibility for the given testing project is also done in this phase.

2. Test planning
Test plan is a document which drives all future testing activities. It consists of how many testers are required to work on the project, which type of testing should be done on the project, roles and responsibilities of each and every tester, which automation tool to be used, which defect tracking tool to be used etc.
Also a Senior QA manager will determine effort and cost estimates for the project in this phase.

3. Prepare Test case
Every member of testing team will start to write test cases for respective assigned features.
Writing test cases consists of many stages:
a. System study: Every tester will understand the respective feature assigned to him/her. If the tester will interact with Business Analyst to clarify if there are any doubts.

b. Testers will identify all possible scenarios and document the scenarios.This document is called test design. Then brain storming meeting will be done wherein all testers discuss the requirement get the input and document the input in order to improve the test coverage. Test lead or manager will measure the brainstorming meeting to check the percentage of test coverage.

c. Test engineers will start to write test cases wherein first all the scenarios will be  grouped based on features, prioritize the scenarios and write test cases for the            scenarios by applying test case design technique in test case template.

d. Test lead will review the test cases and give review comments.

e. If there are any review comments from the reviewer then tester will fix the review comment and update the test case document.

f. At last test lead will approve the test cases and then testers will store the test cases in test case repository.

stlc2

Fig. 2: Test Case Document

4. Prepare traceability matrix
Traceability Matrix is a document which ensures that each and every requirement has at least one test case. It is also called as cross reference matrix. The main  purpose of Requirement Traceability Matrix is to see that all test cases are covered so that no functionality should miss while doing Software testing.

There are three types of Traceability matrix:

1. Forward traceability matrix: In this Traceability matrix requirement is mapped with test case and ensure that each and every requirement has got at least one test case. It is prepared before test case execution.

2. Reverse traceability matrix: Test case is mapped with requirement and ensures that the product already developed and tested is according to the original requirement. Also ensure that we are not changing the scope of the project by adding additional features that are not specified in the requirements. It is Prepared after test case execution.

3. Bidirectional traceability matrix: It is a combination of forward traceability matrix and reverse traceability matrix. This traceability matrix ensures that all requirements are covered by test cases. It analyzes the impact of a change in requirements affected by theDefect in a work product and vice versa.

3
Fig. 3: Traceability Matrix Document

5. Test Environment setup
Test environment decides the software and hardware conditions under which the software 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.

6. Test case execution
In this phase testers will test the build or software by executing test cases. Here smoke, functional, integration testing etc will be done.

7. Defect tracking
In this phase all the bugs found during testing will be reported in defect tracking tool by the Tester and will be communicated to the developer. Developers will fix the bugs, Testers will retest the bug and if all are fixed then the bugs will be closed by the  Tester. This entire cycle is called Defect Tracking.

8. Test execution report
Test lead will prepare test case execution report at the end of every release or every test cycle and send it to testing team, development team, and management team.

4
Fig.4: Test Execution Report

9. Retrospective meeting
At the end of release test manager will do retrospective meeting wherein the entire team will discuss about achievements and mistakes done while testing.

  • Mistakes includes whether testing not completed, test cases not written completely, test coverage is not good etc.
  • Achievements include the good process followed while testing ex. After testing the test cases were swapped between the different testers and adhoc testing was done because of which more bugs were found.
    The idea is to remove the process bottlenecks for future test cycles and share best practices for any similar projects in future.

Reference:
https://www.guru99.com/software-testing-life-cycle.html