Software Testing Life Cycle
Overview
The Software Testing Life Cycle (STLC) is a sequence of activities conducted to perform software testing. It is a series of steps that are followed in a sequence to test the quality of the software. The STLC is a part of the Software Development Life Cycle (SDLC) and is performed after the coding phase.
Lifecycle
Requirement Analysis
In this phase, the testing team examines the requirements to determine which are testable from a quality assurance perspective.
Activities performed:
- Identify/collect details on testing priorities and areas of focus
- Identify the types of tests to be conducted
- Determine the test environment where testing will be performed
- Analyze automation feasibility, if necessary
Test Planning
In the test planning stage of STLC, the team defines objectives, scope, approach, resources, and schedule for the testing activities.
Activities performed:
- Drafting test plans or strategy documents for diverse testing types
- Selecting testing tools
- Estimating testing efforts
- Planning resources and defining roles and responsibilities
Test Design
This phase involves creating, verifying, and refining test cases and test scripts. Test data is identified or created, reviewed, and subsequently revised as needed.
Activities performed:
- Develop test cases and automation scripts (if applicable)
- Review and finalize test cases and scripts
- Generate test data (if the test environment is available)
Test Environment Setup
The test environment determines the software and hardware conditions under which a work product is tested. Setting up the test environment is a critical aspect of the testing process and can occur concurrently with the Test Case Development stage. If the test environment is provided by the customer or development team, the test team may not be involved in its setup but will need to perform a readiness check (smoke testing) to ensure it is suitable for testing.
Activities performed:
- Understand the necessary architecture and environment setup, and prepare a list of hardware and software requirements for the test environment
- Set up the test environment and prepare the test data.
Test Execution
During this phase, the testers carry out the testing based on the test plans and test cases prepared. Bugs will be reported back to the development team for correction, and retesting will be performed.
Activities performed:
- Document test results, and log defects for failed cases
- Map defects to test cases in RTM
- Retest the Defect fixes
- Track the defects to closure
Test Reporting
Testing team will meet, discuss and analyze testing artifacts to identify strategies that have to be implemented in the future, taking lessons from the current test cycle. The idea is to remove the process bottlenecks for future test cycles and share best practices for any similar projects in the future.
Activities performed:
- Evaluate cycle completion criteria based on Time, Test coverage, Critical Business Objectives, Quality
- Document the learning out of the project
- Prepare Test closure report
Last updated on