Contrary to popular belief, software testing is not a single or isolated act of finding bugs in the software once it is ready. To achieve optimum quality, you have to perform multiple activities during the software development process (SDLC).
Software testing life cycle, also called STLC, is the phases of the testing process during software development. Each step has clear goals, actions, and deliverables that serve as the input to the next stage.
Popular STLC Phases
A team can divide the testing process into as many steps as appropriate. The six stages, used by most teams, are:
1. Requirements analysis
In this phase, the QA team studies the SRS (software requirement specification) from a testing perspective. They communicate with various stakeholders to clarify questions about testability. They also evaluate the possibility of automation.Deliverables:
- List of all testable requirements
- Automation study report
2. Test Planning
In this phase, the test manager or the test lead will prepare a detailed plan for testing. Activities include determining the testing strategy, choosing the automation tools, and resource planning.Deliverables:
- Test strategy
- Test plan
- Test effort and cost estimation report
3. Test Development
In this phase, testers prepare test cases, test automation scripts, and test data. Peers and team lead review the test cases once they are ready. The Requirement Traceability Matrix (RTM), which maps the requirements to test cases, is also prepared in this phase. The RTM is a vital document that helps in verifying that test cases have indeed been written for all requirements.Deliverables:
- Test cases
- Test automation scripts
- Test data
4. Test Environment Setup
In this step, the QA team sets up the software environment based on the hardware and software specifications. If the software is multi-platform, the team will create multiple such environments.
You can start this phase alongside the Test Development phase.
If the software system is ready, testers can also perform smoke testing to verify the validity of the environment.
5. Test Execution
The test team starts executing the test cases based on the test plan. Test cases are marked as passed or failed, and corresponding defect reports are prepared and filed in a bug tracking tool. Some modern test management tools can automatically file bugs with relevant details when testers mark a test case as passed or failed.
Once a test run is complete, the product manager will determine if the defects are acceptable or if another round of testing is required, in which case the testers will retest once developers fix the bugs.Deliverables:
- Test run execution reports
- Defect reports
6. Test Closure
Once all the critical issues have been fixed and tested, testing is said to have been completed.
The test team analyzes test artifacts like test cases for improvements in the future or other projects.
A final test closure report that includes all the test metrics of interest is prepared and signed off.