Software Testing Life Cycle (STLC) refers to different stages/phases in Testing process which is executed in systematic and planned manner. Each phase has different goals. In this post we will discuss in detail about what is Software Testing Life Cycle (STLC), it’s characteristics, various phases of STLC and how they work.
What is Software Testing Life Cycle (STLC)
Software Testing Life Cycle (STLC) is a sequence of specific activities conducted during the Testing process to ensure software quality goals are met. STLC involves both Verification and Validation activities. Software Testing is not just an isolated or single activity, but a series of activities is to be performed to help certify a software product.
Fig. 1 – Introduction to Software Testing Life Cycle
Characteristics of Software Testing Life Cycle (STLC)
The characteristics include:
- STLC is an essential part of Software Development Life Cycle (SDLC). But, STLC deals only with the Testing phases.
- STLC is to be started as soon as requirements are defined or Software Requirements Specification (SRS) Document is shared.
- STLC provides a step-by-step process to ensure quality software.
- While the software or the product is developing in the early stage of STLC, the tester can analyse and define the scope of Testing, entry and exit criteria and also the Test Cases. It helps in reducing the Test Cycle time and provide better quality.
- When development phase is over, the Testers are ready with Test Cases and start with execution. This helps in finding bugs in the initial phase.
Software Testing Life Cycle (STLC) Phases
Below are the phases of STLC:
- Requirement Analysis
- Test Planning
- Test Case Development
- Test Environment Setup
- Test Execution
- Test Cycle Closure
Fig. 2 – Software Testing Life Cycle (STLC) Phases, Entry and Exit Criteria
Each of the above stages has a definite Entry and Exit criteria, Activities & Deliverables associated with it. Entry Criteria gives all the required documents that must be completed before Testing can begin. Exit Criteria defines all the documents/items/tasks that must be completed before Testing can be concluded.
Every Phase has its Entry and Exit Criteria in the Software Testing Life Cycle (STLC). Ideally, next stage cannot be started until the Exit criteria for the previous stage is met. But practically this is not always possible. Below are the activities and deliverables for the different stages in STLC life cycle. Let’s look into them in detail.
STLC Phase 1 – Requirement Analysis
This is a very important phase in STLC. In this first phase of STLC, the QA (Quality Analyst) interacts with the System Analyst, Business Analyst, Development Manager/Team Lead, etc. or if required the QA may also interact with Client to completely understand the requirements of the system/ application. During this phase the QA also takes many essential decisions regarding the types of testing & techniques to be performed, feasibility for Automation Testing implementation, etc.
Activities of Requirement Analysis Phase:
- Identify types of tests to be performed.
- Gather details about Testing priorities.
- Prepare RTM (Requirement Traceability Matrix).
- Automation Feasibility Analysis.
Deliverables of Requirement Analysis Phase:
- RTM (Requirement Traceability Matrix)
- Automation Feasibility Report (if applicable)
STLC Phase 2 – Test Planning
In this phase the QA/QA Lead/QA Manager plans for the entire Testing process, hence this phase is also called as Test Strategy Phase. Typically in this Phase, Senior QA manager will analyse cost or efforts for the project and would prepare and finalize the Test Plan. This is very important phase as any small mistake in this phase can lead to major issues in the project regarding time, money, efforts, etc.
Activities of Test Planning Phase:
- Preparation of Test Plan.
- Test tool selection.
- Test effort estimation.
- Resource planning and determining roles and responsibilities.
- Training requirement.
Deliverables of Test Planning Phase:
- Test Plan/ Strategy Document.
- Effort Estimation Document.
Fig. 3 – Sample Test Plan Template
STLC Phase 3 – Test Case Development
In this phase, activities like Creation, Review & Updating Test Cases as well as Test Scripts are done. Test Data and Test Cases are prepared by the Software Testers team in this phase.
Activities of Test Case Development Phase:
- Create Test Cases, Automation scripts.
- Review & baseline Test Cases.
Deliverables of Test Case Development Phase:
- Test Cases/Scripts.
- Test Data.
Fig. 4 – Sample Test Case Template
STLC Phase 4 – Test Environment Setup
In this phase, Test Environment in which the testing team performs testing is setup. Test environment is prepared by understanding the required software & hardware requirements, system architecture etc.
Activities of Test Environment Setup Phase:
- Understanding of required architecture, prepare Software and hardware Requirements list.
- Setup Test Environment and Test Data.
Deliverables of Test Environment Setup Phase:
- Environment ready with Test Data set up.
- ‘Smoke Test’ Results also called ‘Build Verification’ Test Results.
STLC Phase 5 – Test Execution
In this phase, the Test Cases which were prepared earlier are executed. Different Testing techniques and methods are performed on the software application to find bugs and errors. Bugs are reported to the development team. The development team resolves the bugs and the system is retested to ensure that it is bug free and ready to go live.
Activities of Test Execution Phase:
- Execute tests as per plan.
- Document test results, and log defects for bugs.
- Map defects to test cases in RTM.
- Retest the defect fixes.
- Track the defects to closure.
Deliverables of Test Execution Phase:
- Completed RTM with the execution status.
- Test Cases updated with results.
- Defect Reports.
STLC Phase 6 – Test Closure
When the testing team is confident that all the reported bugs are resolved and the system is ready according to the client’s requirements, the Software Testing Life Cycle enters the last stage i.e. Test Closure stage. Documentation, closure reports are prepared in this phase.
Activities of Test Closure Phase:
- Testing completed.
- Generate Test Report.
Deliverables of Test Closure Phase:
- Test Closure report
- Test metrics
By implementing Software Testing Life Cycle (STLC), efficient and effective Testing process can be achieved.