What is STLC in software testing

Software Testing Life Cycle refers to a testing process that has specific steps to be executed in a definite sequence to ensure that the quality goals have been met.

In the STLC process, each activity is carried out in a planned and systematic way. Each phase has different goals and deliverables. Different organizations have different phases in STLC; however, the basis remains the same.

Phases in STLC

Below are the phases of STLC from Requirement phase to the closure phase.

  • Requirements phase
  • Planning Phase
  • Analysis phase
  • Design Phase
  • Implementation Phase
  • Execution Phase
  • Conclusion Phase
  • Closure Phase

Requirement Phase

In this phase testers analyze the customer requirements and work with developers during the design phase to see which requirements are testable and how they are going to test those requirements. It is very important to start testing activities from the requirements phase itself because the cost of fixing defect is very less if it is found in requirements phase rather than in future phases. 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.

Planning Phase

In practical scenarios, 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. During planning we also try to identify the metrics, the method of gathering and tracking those metrics. A high level test plan document is created which includes all the planning inputs mentioned above and circulated to the stakeholders.

Analysis Phase

This STLC phase defines “WHAT” to be tested. We basically identify the test conditions through the requirements document, product risks, and other test bases. The test condition should be traceable back to the requirement.

There are various factors which affect the identification of test conditions:

– Levels and depth of testing
– The complexity of the product
– Product and project risks
– Software development life cycle involved.
– Test management
– Skills and knowledge of the team.
– Availability of the stakeholders.

We should try to write down the test conditions in a detailed way. For example, for an e-commerce web application, you can have a test condition as “User should be able to make a payment”. Or you can detail it out by saying “User should be able to make payment through NEFT, debit card, and credit card”.

The most important advantage of writing the detailed test condition is that it increases the test coverage since the test cases will be written on the basis of the test condition, these details will trigger to write more detailed test cases which will eventually increase the coverage.

Also, identify the exit criteria of the testing, i.e determine some conditions when you will stop the testing.

Test Scenarios and Test Cases Development

The test scenarios and test cases development activity are started once the test planning activity is finished. This is the phase of STLC where testing team writes down the detailed test scenarios and test cases.

Along with these, testing team also prepares the test data if any required for testing. Once the test cases are ready then these test cases are reviewed by peer members or QA lead. Also the Requirement Trace-ability Matrix (RTM) is prepared.

The Requirement Trace-ability Matrix is an industry-accepted format for tracking requirements where each test case is mapped with the requirement. Using this RTM we can track backward & forward trace-ability.

Test Environment Setup

Setting up the test environment is a vital part of the STLC. Basically, the test environment decides on which conditions software is tested.
This is an independent activity and can be started parallel with Test Case Development. In process of setting up the testing environment, test team is not involved in it.
Test Execution

Implementation Phase

The 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. Also, don’t forget to take the sign off of the test cases before the actual execution starts.

Execution Phase

Once the preparation of Test Case Development and Test Environment setup is completed then test execution phase can be kicked off.
In this phase testing team start executing test cases based on prepared test planning & prepared test cases in the prior step.

Conclusion Phase

This STLC phase concentrates on the exit criteria and reporting. Depending on your project and stakeholder’s choice, you can decide on reporting whether you want to send out a daily report of the weekly report, etc.

There are different types of reports ( DSR – Daily status report, WSR – Weekly status reports) which you can send, but the important point is, the content of the report changes and depends upon whom you are sending your reports.

Closure Phase

Call out the testing team member meeting & evaluate cycle completion criteria based on Test coverage, Quality, Cost, Time, Critical Business Objectives, and Software. Discuss what all went well,

which area needs to be improve & taking the lessons from current STLC as input to upcoming test cycles, which will help to improve bottleneck in the STLC process. Test case & bug report will analyze to find out the defect distribution by type and severity. Once complete the test cycle then test closure report & Test metrics will be prepared. Test result analysis to find out the defect distribution by type and severity.