Software Testing Life Cycle-STLC
- Process of testing software in a systematic procedure to deliver quality software is known as STLC.
- It begins with test initiation phase followed by test planning, test designing, test execution, test reporting and finally ends with test closure.
- Usually system testing begins with Test Initiation where a Test manager selects certain reasonable Tests to be applied based on risks involved and requirement of the project to be tested.
- SRS and Risks act as input to Test initiation phase and Test Strategy is prepared as output.
Fig: Testing process in a development life cycle
The Fig shows a wide picture of a testing process carried out in a development life cycle. A coded build is sent for testing wherein various test inputs are applied on the build to find out the results. If the build fails a test, defect is analyzed and sent again for coding to development team. This loop continues till the build is defect free. The output of this process is a complete stable build that meets the requirement specifications.
Software Testing Phases
Fig: Phases in STLC with their outputs marked in bullet
Let us now see what happens in each phase.
Test Initiation Phase of STLC
Fig: Test Initiation phase of Software Testing Life Cycle
Test planning phase in STLC
- With the help of Test strategy document, Test lead prepares a Test Plan that defines ‘Who’ will test and ‘What’ to be tested, ‘When’ to be tested and ‘How’ to test.
- During planning phase, following process is undertaken:
Prepare Test Plan
Review Test plans
- After completion of review meeting, training sessions are done for selected testers to impart them with thorough understanding of project requirement.
Test Design phase in STLC
- Test Designing is an act of preparing Test Cases.
- After completion of necessary training sessions, testers begin selecting Test cases.
- Every Test case defines a unique Test condition to validate software build in terms of usability*, functionality* and non-functionality.
Methods to Prepare Test Cases
- Functional and System Specific Test Case Design
- Used Case Specific Test Case Design
- Application or Prototype based Test Case Design
Test Execution phase in STLC
- Once a developed build is received by the testers, black box testing begins i.e. Execution of prepared test cases starts. This is Test Execution.
Test Reporting phase in STLC
- While executing the test cases, tester reports the bug in Defect management tool.
- Bug once fixed is send back to tester for regression testing where he re-executes the test case. If the test passes he marks it ‘Closed’ in the defect management tool else marks it ‘Reopen’.