What are different STLC Phases?
Thе Software Tеsting lifе Cycle (STLC) is a structurеd procеss for tеsting software applications to еnsurе they mееts quality standards. It involvеs sеvеral phasеs, еach critical to thе dеvеlopmеnt of thе softwarе.
During thе development of a softwarе product, thе STLC stagеs arе rеpеatеd as nеcеssary, rеfining thе software application until it rеachеs a lеvеl of quality suitablе for rеlеasе. STLC follows a cyclical approach and еnsurеs thorough tеsting and quality Assurance before is made public.
Due to the complexity of software, it is impossible to ensure that a product will be free of errors if only one test is performed. Therefore, multiple tests are performed on every Softwarе TеstingLife Cycle (STLC) phase.
Requirement Analysis
This is the very first phase of Software testing Life cycle (STLC). In this phase testing team goes through the Requirement document with both Functional and non-functional details in order to identify the testable requirements.
QA team may setup a meeting with the clients and the stakeholders (Technical Leads, Business Analyst, System Architects and Client etc.) in order to clarify their doubts.
Once the QA team is clear with the requirements they will document the acceptance Criteria and get it approved by the Customers.
Activities to be done in Requirement analysis phase are given below:
Analyzing the System Requirement specifications from the testing point of view
Preparation of RTM that is Requirement Traceability Matrix
Identifying the testing techniques and testing types
Prioritizing the feature which need focused testing
Analyzing the Automation feasibility
Identifying the details about the testing environment where actual testing will be done
Deliverables (Outcome) of Requirement analysis phase are:
Requirement Traceability Matrix (RTM)
Automation feasibility report
Test Planning
Test Planning phase starts soon after the completion of the Requirement Analysis phase. In this phase the QA manager or QA Lead will prepare the documents. As per these documents they will also come up with the testing effort estimations.
Activities to be done in Test Planning phase are given below:
Estimation of testing effort
Selection of Testing Approach
Preparation of Test Plan, Test strategy documents
Resource planning and assigning roles and responsibility to them
Selection of Testing tool
Deliverables (Outcome) of Test Planning phase are:
Test Plan document
Test Strategy document
Best suited Testing Approach
Number of Resources, skill required and their roles and responsibilities
Testing tool to be used
Test Case Development
In this phase the QA team write test cases. They also write scripts for automation if required. Verification of both the test cases and test scripts are done by peers. Creation of Test Data is done in this phase.
Activities to be done in Test Case Development phase are given below:
Creation of test cases
Creation of test scripts if required
Verification of test cases and automation scripts
Creation of Test Data in testing environment
Deliverables (Outcome) of Test Case Development phase are:
Test cases
Test scripts (for automation if required)
Test Data
Test Environment setup
This phase includes the setup or installation process of software and hardware which is required for testing the application. In this phase the integration of the third party application is also carried out if required in the project.
After setting up the required software and hardware the installation of build is tested. Once the installation of build is successful and complete then the Test Data is generated.
After the creation of Test data the Smoke testing is executed on the build in order to check whether the basic functionalities are working fine or not. This phase can be done in parallel with the Test Case Development phase.
Activities to be done in Test Environment Setup phase are given below:
As per the Requirement and Architecture document the list of required software and hardware is prepared
Setting up of test environment
Creation of test data
Installation of build and execution of Smoke testing on it
Deliverables (Outcome) of Test Environment Setup phase are:
Test Environment setup is ready
Test Data is created
Results of Smoke testing
Test Execution
Before starting the Test Execution phase the Test Environment setup should be ready. In Test Execution phase the test cases are executed in the testing environment.
While execution of the test cases the QA team may find bugs which will be reported against that test case. This bug is fixed by the developer and is retested by the QA.
Activities to be done in Test Execution phase are given below:
Execution of Test Cases
Reporting test results
Logging defects for the failed test cases
Verification and retesting of the defect
Closure of defects
Deliverables (Outcome) of Test Execution phase are:
Test execution Report
Updated test cases with results
Bug Report
Test Cycle Closure
In order to start the Test Cycle Closure activity the Test Execution phase should be completed. In Test Cycle phase the QA team will meet and discuss about the testing artifacts.
The whole intent of this discussion is to learn lessons from the bad practices. This will help in future projects.
Activities to be done in Test Cycle Closure phase are given below:
To evaluate the test completion on the basis of Test Coverage and Software Quality
Documentation of the learning from the project
Analyzing the test results to find out the distribution of severe defects
Test Closure Report preparation
Deliverables (Outcome) of Test Cycle Closure phase are:
- Report of Test Closure
Entry & Exit Criteria For STLC Phases
The below table briefly explains the Software Testing Life Cycle STLC along with the Entry Criteria, Activity, Exit Criteria and Deliverable associated with each phase:
Requirement Analysis
Entry Criteria | Activity | Exit Criteria |
Availability of Requirement document both Functional as well as non-functional Architectural document of the application or the product should be available Acceptance criteria defined and duly signed by the customers | Analysis of System Requirement specifications to understand the different business modules and it’s functionalities To identify the user profile, user interface and user authentication Types of tests to be performed on the application or product should be identified Should collect the details about testing priorities Preparation of RTM that is Requirement Traceability Matrix Test Environment details should be identified in order to do testing Analysis of automation possibility if it is required | RTM should be signed off The customer should sign off on the test automation feasibility |
Deliverables (Outcome) – Requirement Traceability Matrix (RTM), Report on Automation Feasibility if it is applicable |
Test Planning
Entry Criteria | Activity | Exit Criteria |
Detailed requirement document Requirement Traceability Matrix (RTM)Automation Feasibility Report | Preparation of Test Plan document Preparation of Test strategy document To analyze the best suited testing approach for the application or product To analyze the testing techniques and the types of testing to be carried out in order to maintain the quality Selection of the testing tool Estimation on the testing efforts Resource planning as per the skill required for testing and also assigning roles and responsibility to them | Approved Test Plan document Approved Test Strategy document Document of Effort estimation |
Deliverables (Outcome) – Test Plan document, Test Strategy document, Effort estimation document |
Test case development
Entry Criteria | Activity | Exit Criteria |
Detailed Requirement document Test Plan and Test strategy documents Automation Feasibility Report | Creation of test cases for all the modules or features in the application or product Creation of automation scripts if required Review of test cases and test automation scripts Test data creation | Reviewed Test cases Reviewed Test automation scripts Test data creation ready for testing |
Deliverables (Outcome) – Test cases, Test automation scripts, Test data |
Test Environment Setup
Entry Criteria | Activity | Exit Criteria |
System design documents should be available Architectural document of the application should be available Environment set-up plan document should be available | Understanding the design and architecture of the application Setting up the test environment Installation of required hardware and software in order to start testing the application Integration of any third party application (if required)Installation of build Creation of test data Execution of smoke testing on the build Accepting or rejecting the build as per the smoke test result | Environment setup is ready for testing All the required software and hardware are installed Build installation is complete and successful Test data creation is complete Smoke testing is done |
Deliverables (Outcome) – Test environment along with test data, Smoke test result |
Test Execution
Entry Criteria | Activity | Exit Criteria |
Documents like RTM, Test Plan, Test strategy, Test cases and Test scripts should be ready Test environment should be ready Test data should be ready Integration of third party application (if required) should be successful Smoke testing of the application should be successful | Execution of test cases Preparation of test result document Logging defects for the failed test cases Mapping of defects with the test cases To update the test cases and test strategy if required Fixed defects should be retested Closure of the defects if they are working as expected Execution of regression testing of the application or product in order to ensure its stability post defect closure | All test cases are executed Defects are logged and tracked for closure |
Deliverables (Outcome) – Completed the test case execution, Updated the test cases wherever required, Defects reported |
Test Cycle Closure
Entry Criteria | Activity | Exit Criteria |
All the test cases are executed and updated Test results are documented Defect logs are available | Evaluation of the test completion on the basis of Test Coverage and Software Quality Preparation of Test Closure report Analyzing the test results to find out the distribution of severe defects | Signed off Test Closure report by the client |
Deliverables (Outcome) – Test closure Report |
STLC and SDLC
Software Testing Life Cycle STLC is very similar to the the Software Development Life Cycle SDLC.
STLC is a segment or a subset or a part of the SDLC
SDLC is used to plan and execute the development of the software project while the scope of STLC is limited to testing activities
In both STLC and SDLC, the activities are executed one after the other
Both STLC and SDLC phases have entry and exit criteria to be fulfilled before entering or leaving a phase