The software testing life cycle is a process used to test software and ensure it meets quality standards. The process uses several phases of systematic testing, with the testing cycle continuing until the product is ready to release.
By using STLC, development teams can refine their agile testing processes to increase consistency and effectiveness. Teams can apply time constraints to testing to ensure that each feature is thoroughly tested and approved before developing other features.
There are six phases to STLC, which are repeated until the team is confident that the product is ready to release. Each stage has defined entry and exit criteria and an associated set of activities and deliverables. Phases are usually performed one at a time, though some phases can run simultaneously.
Feature requirements are evaluated to identify testable aspects. The ability to automate testing is also evaluated during this phase.
Entry Criteria: Documented requirements, acceptance criteria, and intended product architecture.
Exit Criteria: Approved requirement traceability matrix (RTM) and automation feasibility report.
The test strategy is outlined in a test plan document, including risk and cost analysis and an estimated timeline for testing.
Entry Criteria: Requirement analysis, RTM, and automation feasibility report.
Exit Criteria: Approved test plan, including timelines and risk/cost analysis.
Test cases are created, defining test inputs, procedures, execution conditions, and expected results. Any necessary automation scripts are also created during this phase.
Entry Criteria: Approved test plan, including timelines and risk/cost analysis.
Exit Criteria: Approved test cases and automation scripts.
Testing environments are configured and deployed.
Entry Criteria: System design and project architecture definitions.
Exit Criteria: A fully functional test environment and approved test cases.
Features are tested in the deployed environment, using the established test cases. Expected test results are compared to actual results and are gathered to report to development teams.
Entry Criteria: All exit criteria from previous steps.
Exit Criteria: All tests are performed, and results are documented.
The test result report is prepared, summarizing the testing process and comparing expected and actual results.
Entry Criteria: Test results and logging from all previous phases.
Exit Criteria: Delivered and approved test closure report.