Software Testing Life Cycle or STLC is a set of chained activities to be conducted during the testing process in order to satisfy the software quality goals.
Software Testing Life Cycle (STLC) is not a single/isolated activity but a series of predefined activities involving both verification and validation.
These activities are carried out methodologically to help certify the software product.
Entry and Exit Criteria in STLC Explained
In Software Testing Life Cycle or STLC, every level or phase has an entry and exit criteria.
Entry Criteria: This states the prerequisite items or criteria that must be satisfied before the testing of that phase begins.
Exit Criteria: This states that the items or criteria to be fulfilled before the testing of a particular phase or level can end.
Ideally, one cannot enter the next stage unless the exit criteria for previous is satisfied, but it is not always, practically possible.
Thus, in this article, we will focus on the different activities and deliverables required or involved in different stages and phases of the STLC.
Software Testing Life Cycle Phases
Software Testing Life Cycle (STLC) Model has a total of 6 stages that need to be completed in order to get your Software certified.
Also, each of these stages has its definite entry and exit criteria, deliverables and activities.
The phases are:
- Requirement Analysis
- Test Planning
- Test Design
- Test Environment Setup
- Test Execution
- Test Closure
The phase requires the test team to study the requirement document and analyze it from a testing point of view to identify the testable requirements.
These requirements can be functional or non-functional and hence be dealt with accordingly.
The QA team may also interact with the stakeholders to clarify any doubts regarding the requirements.
- Requirement Document (functional and non-function both) must be available in this phase.
- Acceptance criteria need to be defined.
- The architectural document of the application must be available.
- It is identifying different types of tests that need to be performed.
- The feasibility analysis for automation is done if required.
- Identifying the test environment details.
- The details about the priorities and focus of testing are gathered.
- Preparing Requirement Traceability Matrix (RTM)
- RTM sign off
- The client signs off on Test automation feasibility report
- RTM to be generated.
- The Automation feasibility report is generated, if applicable.
The second stage of the Software Testing Life Cycle called Test Planning involves the test plan strategy determination by the Senior QA manager.
The resources, test environment, testing schedule, test limitations are determined, and the plan is prepared and finalized accordingly.
This phase also involves estimating the efforts and cost of the project.
- Requirement documents must be available.
- Traceability matrix from the previous phase must be available.
- Document for test automation feasibility from the previous phase.
- Selection of testing tool
- Test effort and cost estimation
- Test plan/strategy document for various testing to be prepared.
- Training requirements need to be analyzed.
- Roles and responsibility determination and resource planning are to be done.
- Test plan/strategy document needs to be approved.
- Effort and cost estimation documents must be signed off.
- Test plan documented and delivered.
- Effort and cost estimation document delivered.
3. Test Design
The verification, creation, and rework of various test cases and test scripts are to be completed in the test design of the Software Testing Life Cycle (STLC).
Before starting with testing, the test data needs to be identified, created and then reviewed and later reworked depending on the preconditions set.
After the test data finalization, the QA team can start the development process of various test cases for different units.
- Requirement documents are available from previous phases.
- Test plan and RTM delivered from previous phases.
- Analysis report for automation available.
- Automation scripts, if applicable, and test cases for testing are to be created.
- These test cases and scripts are reviewed and baselined.
- If the testing environment is available, then test data is created.
- Test cases/scripts have to be reviewed and signed.
- Test data must be reviewed and signed.
- Test cases or scripts generated.
- Test data finalized.
The hardware and software conditions under which the testing will be done are determined in this phase of the Software Testing Life Cycle (STLC).
It can be done in parallel with the Test Design Phase.
Test environment setup is one of the most critical aspects of the testing process.
Before starting the actual testing, the test team performs a readiness check or smoke testing of the test environment.
This phase need not be performed if the Test Design provides the test environment.
- Environment setup plans from the test design phase must be available.
- Design and architecture documents of the system must be available.
- Hardware and software requirement list is prepared by understanding the required environment setup and architecture.
- The test data and environment are set up.
- Before actual testing, smoke testing of the build is done.
- Smoke tests should be successful.
- Environment setup must work as per plan and checklist.
- Test data setup in the environment is completed.
- An environment ready set up with test data is delivered.
- The smoke test results are generated.
The fifth phase of the Software Testing Life Cycle (STLC), called the test execution, involves the actual testing of the build software according to the test cases and test data generated in the third phase of Software Testing Life Cycle (STLC) and is performed inside the developed testing environment.
The testers are required to execute this phase.
Test script execution, bug reporting, and test script maintenance are some of the steps involved with this phase of the Software Testing Life Cycle (STLC).
If any bugs are reported, then the testing halts and is reverted to the development team for correction.
Once the development team solves the bug, retesting is performed.
- Test data set up with the environment must be completed.
- Test plan, baselined RTM, and test cases/scripts should be made available.
- The test environment needs to be ready, and smoke tested.
- Unit and integration testing reports for different modules should be available.
- The tests need to be executed as per plan.
- For any detected bugs, retesting will be performed.
- RTM is mapped with defects to test cases.
- The test results and defects for failed cases are documented and logged.
- Defects must be closed through retesting and before getting into the final phase.
- All Test cases and plans successfully executed.
- Bugs logged and tracked till their closure.
- RTM with execution status is completed and delivered.
- The results of the test cases are updated.
- Bug reports are delivered.
6. Test Closure
The final phase of the Software Testing Life Cycle (STLC), Test Closure is a crucial phase to remove the process bottlenecks for any future test cycles.
This phase involves activities like collection of test completion matrices, test completion reporting and final test results.
Apart from these, it also involves a meeting of testing team members to discuss and analyze the testing strategies that can be implemented in future, as a lesson taken from the current test cycle.
- All testing has been completed.
- The final test results are available.
- Complete Defects log is available.
- Test closure report will be prepared.
- Time, Cost, Software, test coverage, quality, critical business objectives are used to evaluate cycle completion criteria.
- Test metrics based on the above parameters will be prepared.
- The defect distribution by type and severity is found out using test result analysis.
- Quantitative and qualitative reporting of the quality of the Software is reported to the customer.
- The client will sign off the test closure report.
- Test metrics delivered.
- Test closure report generated.