Software Testing Life Cycle

Software Testing Life Cycle (STLC) is defined as a set of procedures and methods performed by a tester during the testing of an application. In other words, it is a sequence of structured and well-defined strategies for performing testing activities to achieve the optimum quality standards of software. With the help of STLC, testing is executed in phases, which makes the testing process much easier and more efficient. Each testing phase in STLC has individual goals and deliverables.

Following are some characteristics of STLC:

  • Software Testing Life Cycle (STLC) is performed within the Software Development Life Cycle (SDLC). It is an important phase of SDLC.
  • Once the requirements and specifications are documented by the stakeholders, testing can be initiated.
  • It applies time limitations to the testing process of a project.
  • It helps the testers to easily to track the testing activities.
  • STLC phases reflect systematic testing, which leads to faster test execution and defect raising.
  • It helps to accomplish the target of delivering an optimum quality product to the client as well as to its users.

Let us discuss the phases of STLC. There are mainly six testing phases in Software Testing Life Cycle, as mentioned below:

  1. Requirement Analysis
  2. Test Planning
  3. Test Case Development/Test Design
  4. Test Environment Setup
  5. Test Execution
  6. Test Closure
Software Testing Life Cycle

Before moving forward to STLC phases in-depth, let us discuss the Entry and Exit criteria of testing. Entry and Exit criteria are associated with each phase of STLC.

Entry Criteria: A set of preconditions that should be satisfied before the start of a test phase.

Exit Criteria: A set of preconditions that should be satisfied before ending a test phase.

Requirement Analysis Phase

It is the first phase of the software testing life cycle. In this phase, the tester gathers all the information documents (requirements and specifications) of the software collected in the SDLC process. The testing team will understand and examine the documents from a testing perspective to identify all the testable requirements or features. If requirements are not clear or any feature is non-testable, the team may consult with various stakeholders (Business Analysts, Clients, System Architects, etc.) It helps in defining the scope of testing and explores the automation feasibility for the project.

Requirements are further categorized into functional and non-functional requirements once the testing team recognizes and frames all the requirements. Specification of testing priorities and creation of a test plan will be the next step after requirement analysis.

Entry Criteria: Requirement specification and User acceptance criteria documents are the entry criteria for the Requirement Analysis phase.

Exit Criteria: Requirement Traceability Matrix (RTM), Testing and Automation feasibility (if applicable) reports are the exit criteria for the Requirement Analysis phase. Requirement Traceability Matrix is a document that captures all the user requirements and maps them with test cases.

Test Planning Phase

In this phase, the testing team performs activities related to test planning. Based on the requirement traceability matrix, a test plan document is prepared and finalized in this phase. The QA lead or manager will make a test plan which contains testing strategies, estimated time, and cost of performing testing activities. Testing activities consist of resource planning and allocation of roles and responsibilities, finalizing test strategies, testing tool selection (for automation), required training for the team, and estimation of testing efforts. All these testing activities take place after the completion of the Requirement Analysis phase.

Entry Criteria: The exit criteria of the Requirement Analysis phase will be the entry criteria for the test planning phase, i.e., Requirement Traceability Matrix (RTM), Testing and Automation feasibility (if applicable) reports.

Exit Criteria: The test plan document, test strategy document, and efforts estimation document are the exit criteria for the test planning phase.

Test Case Development or Test Design Phase

In this phase, the testing team starts performing test case design and development activities. A version of test scenarios, test cases, and test scripts (if automation) is drafted by testers for test execution. The drafted version should be clear, efficient, and acceptable for test execution with 100% of test coverage. Once the test cases are prepared, the team should also prepare the required test data for testing.

After drafting the final version of test cases, a peer review must be done within the team. The team should also update the Requirement Traceability Matrix (RTM) with the finalized test strategy and test cases.

Entry Criteria: The exit criteria of the Test planning phase will be the entry criteria for Test Case Development or Test Design phase, i.e., Test plan document, test strategy document, and efforts estimation document.

Exit Criteria: Reviewed test cases, test scripts along with test data (if test environment available) are the exit criteria for test case development or test design phase.

Test Environment Setup Phase

In this phase, environment setup activities are performed, such as configuration and deployment of software and hardware devices in which the product is tested. Test environment setup is an independent task and can be done parallelly to test case development or test design phase. The testing environment is deployed by either development or client team, and the testing team is not involved in the deployment of the environment. Once the environment is deployed, testers perform Smoke testing to ensure that environment is working as expected.

Entry Criteria: The exit criteria of the Test Case Development and Test Planning phases will be the entry criteria for Test Environment Setup phase, i.e., Test plan document, test setup document, test data, and Smoke test cases

Exit Criteria: Working test environment along with test data and Smoke test results are the exit criteria for Test Environment Setup phase.

Test Execution Phase

In this phase, the actual test execution gets started based on the test cases developed in the earlier phase. Execution of test cases and test scripts followed by defect reporting is performed using the test environment built in the previous phase. Defects are logged using a defect tracking tool for all the failed test cases, and once they are fixed, retesting is performed for all the test cases.

Entry Criteria: The exit criteria for Test Case Development, Test Planning, and Test Environment Setup phases will be the entry criteria for the Test Execution phase, i.e., Test plan document, test cases, test scripts, and test environment setup.

Exit Criteria: Executed test cases result and defect reports are the exit criteria for the Test Execution phase.

Test Closure Phase

Test Closure is the last phase of the Software Testing Life Cycle. In this phase, all the testing deliverables are prepared and collected for the test closure report. Test closure report consists of the requirement specification document, test plan document, test case results, and defect reports. The team will discuss and evaluates the testing reports to find out the bottlenecks of this testing cycle by comparing the expected and actual results.

Entry Criteria: The only entry criteria for the Test Closure phase is testing should be completed, and all the documents must be prepared.

Exit Criteria: Signed-off test closure report by the client is the only exit criteria for the Test Closure phase.