Software Testing Life Cycle
Software Testing Life Cycle
The Software Testing Life Cycle (STLC) is a sequence of activities conducted to perform software testing. It consists of a series of activities carried out methodologically to help certify the software product
Requirements Analysis
Test Planning
Test Case Development
Environmental Setup
Test Execution
Test Cycle Closure
Entry and Exit Criteria
Software Testing Life Cycle (STLC) stages are generally executed sequentially
Entry Criteria
Gives the prerequisite items that must be completed before testing can begin
Exit Criteria
Defines the items that must be completed before testing can be concluded
In an ideal world, you will not enter the next stage until the exit criteria for the previous stage has been met. However, practically, this is not always possible
Requirements Analysis
Requirements are analyzed to determine how they can be validated
Requirement Type Considerations
Functional
define what the software must accomplish
Non-functional
define availability, capacity, continuity, and security
Activities:
Identify the types of tests to be performed.
Gather details about testing priorities and focus.
Prepare Requirement Traceability Matrix (RTM).
Helps to ensure that all requirements are captured.
Provides traceability between requirements and design.
Facilitates requirement change management.
Facilitates testing and validation.
Provides a reference for future maintenance and upgrade.
Identify test environment details where testing is supposed to be carried out.
Perform automation feasibility analysis (if required)
Requirements Analysis Stage Detail
STLC Stage Entry Criteria Activity Exit Criteria Deliverables Requirement Analysis
Requirements Document available ( functional and nonfunctional). Acceptance criteria defined. Application architectural document available.
Analyze business functionality to know the business modules and module-specific functionalities.
Identify all transactions in the modules.
Identify all the user profiles.
Gather user interface/authentication and geographic-spread requirements.
Identify types of tests to be performed.
Gather details about testing priorities and focus.
Prepare Requirement Traceability (RTM).
Identify test environment details where testing is supposed to be carried out.
Automation feasibility analysis (if required).
Signed-off RTM.
Signed-off test automation feasibility report.
RTM.
Automation Feasibility report (if applicable).
List of questions with all answers to be resolved from business (e.g., testable requirements).
Test Planning
Also called the Test Strategy phase
Activities
Preparation of test plan/strategy document for various types of testing.
Test tool selection.
Test effort and cost estimation.
Resource planning and determination of roles and responsibilities.
Training requirements.
Test Planning Stage Detail
STLC Stage Entry Criteria Activity Exit Criteria Deliverables Test Planning
Requirements
Document.
Requirement Traceability Matrix (RTM).
Test automation feasibility report.
Analyze various approaches available.
Finalize on the best-suited approach.
Prepare test plan/strategy document for various types of testing.
Test tool selection.
Test effort estimation.
Determine resource planning and roles and responsibilities.
Approved Test plan/strategy document.
Signed-off effort estimation document.
Test plan/strategy document.
Effort estimation document.
Test Case Development
Creation, verification, and rework of test cases and test scripts.
Test data, is identified/created and reviewed, and then may be reworked.
Activities:
Create test cases and automation scripts (if applicable).
Review and baseline test cases and scripts.
Create test data (if test environment is available).
Test Case Development Stage Detail
STLC Stage Entry Criteria Activity Exit Criteria Deliverables Test Case Development
Requirements
Document.
RTM and Test Plan.
Test automation feasibility report.
Create test cases, test design, and automation scripts (where applicable).
Review and baseline test cases and scripts.
Create test data.
Reviewed and signed test cases/scripts.
Reviewed and signed test data.
Test cases and scripts.
Test data.
Test Environment Setup
Determines the software and hardware conditions under which a work product is to be tested.
The Test Environment is set up.
Activities:
Understand the required architecture and environment setup.
Prepare hardware and software requirements list for the test environment.
Set up test environment and test data.
Perform a smoke test on the build.
STLC Stage Entry Criteria Activity Exit Criteria Deliverables Test Environment setup
System design and architecture documents are available.
Environment set-up plan is available.
Understand the required architecture, environment setup.
Prepare hardware and software development requirement list.
Finalize connectivity requirements.
Prepare environment setup checklist.
Set up test environment and test data.
Perform smoke test on the build.
Accept/reject the build depending on smoke test result.
Environment
setup is working per the plan and checklist.
Test data setup is
complete.
Smoke test is successful.
Environment ready with
test data setup.
Smoke test results.
Smoke Testing
Smoke testing is a software testing process that determines whether or not the deployed software build is stable.
The Aim of Smoke Testing:
To detect any early defects in a software product.
To demonstrate system stability.
To demonstrate conformance to requirements.
To assure that the acute functionalities of the program are working properly.
To measure the stability of the software product by performing testing.
To test all of the functions of the software product.
Test Execution
Testing performed per test plans and test cases.
Bugs reported to the development team for correction.
Retesting performed after correction.
Activities:
Execute tests per Test Plan.
Document test results and log defects for failed test cases.
Map defects to test cases in RTM.
Retest the defects submitted and fixed by the development group.
Track the defects to closure.
Test Execution Stage Detail
STLC Stage Entry Criteria Activity Exit Criteria Deliverables Test Execution
Baselined RTM,
Test Plan, and Test case/scripts are available.
Test environment is ready.
Test data setup is done.
Unit/Integration test report for the build to be tested is available.
Execute tests per plan.
Document test results and log defects for failed cases.
Update test plans/test cases, if necessary.
Map defects to test cases in RTM Retest the defect fixes.
Regression Testing of application.
Track the defects to closure.
All tests planned are executed.
Defects logged and tracked to closure.
Completed RTM with execution status.
Test cases updated with results.
Defect reports.
Regression Testing
Regression testing is a type of software testing, wherein test cases are re-executed to check that the previous functionality of the application is working properly, and that the new changes have not produced any bugs.
Regression testing can be performed on a new build when there is a significant change in the original functionality. It ensures that the code still works even when the changes are occurring. Regression means retesting those parts of the application that are unchanged.
Whenever the bug is fixed, we retest the Bug, and if there is any dependent module, we conduct Regression Testing.
Test Cycle Closure
Activities:
Evaluate cycle completion criteria based on time, test coverage, cost, software, critical business objectives, and quality.
Prepare test metrics based on the cycle completion criteria.
Document the learning out of the project.
Prepare test closure report.
Provide a qualitative and quantitative quality report to the customer.
Test the results analysis for the defect distribution by type and severity.
Test Closure Stage Detail
STLC Stage Entry Criteria Activity Exit Criteria Deliverables Test Cycle closure
Testing has been completed.
Test results are available.
Defect logs are available.
Evaluate cycle completion criteria based on time, test, cost, software quality, and critical business objectives.
Prepare test metrics based on the above parameters.
Document the learning out of the project.
Prepare test closure report.
Provide a qualitative and quantitative quality report of the to the customer.
Review test result analysis to find out the defect distribution by type and severity.
N/A
Test Closure Report.
Last updated