The progression of activities that conducted to perform Software Testing is known as Software Testing Life Cycle (STLC). It consists of a set of activities that are carried out methodologically to help authorize your software product.
Wanna know everything in detail? Here you go…
There are actually different Phases of STLC including:
- Requirement analysis
- Test Planning
- Test case development
- Environment Setup
- Test Execution
- Test Reporting
All these phases have some Entry & Exit criteria, and Activities & Deliverables associated with it.
Now before knowing about Software Testing Life Cycle phases, we should know little about “Entry” and “Exit” criteria.
- Entry Criteria: It gives the prerequisite items that should be completed before testing can initiate.
- Exit Criteria: It defines the items that should be completed before testing can be wind up.
Now we have Entry and Exit Criteria for all levels in the Software Testing Life Cycle (STLC). In our real world, we will not be allowed to enter the next stage till the exit criteria for the previous stage is met. As practically, this is not always possible. So in this Blog, we will focus on the different stages of Software Testing Life Cycle and Activities & Deliverables.
Let’s look into all the phases in detail and let’s first start with STLC phase of “Requirement Analysis”.
Requirement Analysis is the very first phase of Software Testing Life Cycle (STLC). In this phase, Quality Assurance (QA) team will understand the requirement given by the Client in terms of –
“What we will testing & figure out the testable requirements?”
The QA team will reach out to various stakeholders (Client, Business Analyst, Technical Leads, System Architects etc) to understand the requirements in deep.
Requirements may be either-
- Functional (defining what the software must do)
- Non-Functional (defining system performance or security availability)
Some activities which are carried out during the requirement analysis phase are given below:
- Identify types of tests on which QA team will perform.
- Details about testing priorities and focus.
- Preparing Requirement Traceability Matrix (R T M) document.
- Identify test environment.
- Automation feasibility analysis (if it is required).
The output after completion of requirement analysis phase:
- RTM (Requirement Traceability Matrix), which is a single document delivered to confirms 100% test coverage. It also tells us the missing requirement.
- Automation feasibility report (if it is applicable).
Now after gathering and understanding the requirements, we will move to the second phase of STLC i.e. Test Planning.
Test Planning phase starts just after the completion of the Requirement Analysis phase. In this phase, a QA manager will analyze efforts and estimates the cost of that project and he also would prepare and finalize the Test Plan. As per these prepared documents, they will also come up with the testing effort estimations.
Some activities which are carried out during the test planning phase are given below:
- Preparation of test plan document.
- Selection of the Test tool, which is used during the testing process.
- Estimation of Test effort.
- Planning of Resource needed during the testing process.
- Determining team’s roles and responsibilities, which will help during the test process.
- Training requirement, if required to all the testing team, so that the team could give maximum efforts.
The output after completion of test planning phase:
- Test plan document, which is a document that defines the test strategy, its objectives, and the resources (manpower, software, hardware) used in the testing process, test schedule, Test Estimation and test deliverable.
- Effort Estimation document.
As we had planned our testing process, resource and effort estimation, now we will move to the third phase of STLC i.e. Test Case Development.
Test Case Development
This phase started once the test planning activity has been completed. This is the phase of STLC in which testing team writes down the detailed test cases. This phase comprises of creation, verification and rework of test cases & test scripts. As in the figure given above, in which a test case template is given.
(Note: The given test case template is not a fixed format as this could vary.)
Some activities which are carried out during the test case development phase are given below:
- Creation of test cases, automation scripts used for automation testing (if applicable).
- Review and baseline test cases and scripts.
- Create test data (If Test Environment is available).
The output after completion of test case development phase:
- Test case document.
- Test data, which is required during testing.
After creating a test case, we have to set up the environment as well. So, the next phase of STLC is Test Environment Setup.
Test Environment Setup
Basically, the software will be tested on behalf of the test environment. This is independent activity and can be started parallel with Test Case Development. The testing team is not involved in the process of setting up a testing environment.
Some activities which are carried out during the test environment setup phase are given below:
- Understanding the architecture, setting up testing environment and prepare hardware and software requirement list for the Test Environment.
- Setup test Environment and test data.
- Perform the smoke test on the build, to ensure that the critical functionality or module are working as expected.
The output after completion of this phase:
- Environment ready with test data set up
- Smoke Test Results.
Once the phases including preparation of Test Case Development and Test Environment setup are completed then test execution phase can be kicked off. During this phase, the testers will carry out the testing based the test cases prepared and also from the Test Plan.
If tester found any test case get failed then corresponding defect or bug can be reported to developer team via bug tracking system or tools (like Jira, Trac, Redmine, OTRS, Mantis BT, BugZilla, WebIssues, Fossil, etc).
Bugs which are found during execution of test case will be reported back to the development team for correction and retesting will be performed. Once the prepared test case is passed by the tester then same can be marked as Passed.
Some activities which are carried out during the test execution phase are given below:
- Based on test planning execute the test cases.
- Update status of test cases like Passed, Failed, Blocked, Not Run etc.
- Assign Bug Id for all Failed and Blocked test cases.
- Do Retest once the defects are fixed, to ensure that the defect or bug found has been fixed by developers or not.
- Track the defects to closure.
The output after completion of this phase:
- Test case execution report.
- Defect report, which is a document that contain all the detail information required to reproduce the bugs along with the Author details, problem area, open or close dates, release or build number, test environment, defect type, problem description, how it was detected, who detected it, priority, severity, status, etc.
As in this phase, the testing team will deliberate and figure out the cycle completion criteria based on Test coverage, Quality of process, Cost, Time taken, Critical Business Objectives. This is the last phase of Software Testing Life Cycle (STLC).
Some activities which are carried out during the test reporting or closure phase are given below:
- Evaluation on completion of cycle criteria which is based on Time taken by the team, Test coverage, Cost of fixing the bug, Software, Critical Business Objectives, Quality.
- Document the learning out of the project.
- Preparation of Test closure report.
- Analysis of test results.
The output after completion of test reporting or closure phase:
- Test Closure report is a document which summarized all the test that has been conducted during software development life cycle. It also summarized all the details of bug and analysis of the bug that has been fixed or removed. It contains a report of test cases which has been executed, and also types and number of defects found and its analysis, etc.
- Test metrics is a document which helps in taking a decision on process change.
In nutshell, it may be concluded that similar to development life cycle, software testing life cycle also consists of many phases and each stage counts a large number of activities to strategically carry out the testing process in an effective and efficient manner and subsequently confirm the maximum productivity and quality achievement.
|STLC Stage||Entry Criteria||Activities Carried out||Exit Criteria||Output After Completion|
|Requirement Analysis||# Requirements Document|
# Acceptance criteria as per given requirement.
# Application architectural document available.
|# Analyse of business functionality.|
# Identify all transactions in the modules.
# Identify all the user profiles.
# Gather user interface/authentication, geographic spread requirements.
# Identification types of tests
# Details of testing priorities.
# Preparation of Requirement Traceability Matrix (RTM).
# Automation feasibility analysis (if required).
|# Signed off RTM|
# Test automation feasibility report signed off by the client
#Automation feasibility report (if applicable)
|Test Planning||# Requirements Documents|
# Requirement Traceability matrix.
# Test automation feasibility document.
|# Analysis of various testing approaches|
# Finalizing best testing approaches.
# Preparation of test plan document
# Selection Test tool
# Test effort estimation
# Resource planning
# Determining roles and responsibilities.
|# Approved test plan/strategy document.|
# Effort estimation document signed off.
|# Test plan/strategy document.|
# Effort estimation document.
|Test Case Development||# Requirements Documents|
# RTM and test plan
# Automation analysis report
|# Creation of test cases|
# Creation of test design
# Creation of automation scripts (If it is applicable and required)
# Review and baseline test cases and scripts
# Create test data
|# Reviewed and signed test Cases/scripts|
# Reviewed and signed test data
|# Test cases/scripts|
# Test data
|Test Environment Setup||# System Design and architecture documents|
# Environment set-up plan.
|# Basic knowledge of required architecture and environment set-up|
# Hardware and software development requirement list
# Finalize connectivity requirements
# Prepare environment setup checklist
# Setup test Environment and test data.
# Perform smoke test.
# Depending on smoke test result ,Accept/reject the build
|# Environment setup is working as per the plan and checklist|
# Test data setup is complete
# Smoke test is successful
|#Environment ready with test data set up.|
# Smoke Test Results.
|Test Execution||# Baselined RTM,Test Plan , Test case/scripts.|
# Test environment is ready
# Test data set up is done
# Report for Unit or Integration test
|# Execute tests as per plan|
# Test results, and log defects documentaion for failed cases
# Test plans/test cases updation
# Map defects to test cases in RTM
# Retest the defect fixes
# Regression Testing of application
# Track the defects till closure
|# Execution of All tests planned|
# Defects logged and tracked to closure
|# Completed RTM with execution status|
# Updation of Test cases with results
# Defect reports
|Test Reporting||# Test results|
# Defect logs
|# Evaluate cycle completion criteria|
# Preparation of test metrics
# Document for enhancing the knowledge of Project
# Test closure report document
# Qualitative and quantitative reporting
# Test result analysis
|# Test Closure report signed off by client.||# Test Closure report|
# Test metrics
I have tried to cover all major points or you can say major topics related to Software Testing Life Cycle (STLC) in this blog post. Anythough for further queries, feel free to place your valuable comments in the comments section below!