This blog is to understand the different phases of the Software Testing Life Cycle (STLC).
Let’s understand the sequence of the testing process which helps to meet Software Quality Goals by following the STLC process.
To understand the STLC, we must first learn about Software Testing and Life Cycle individually.
Let us first understand Software Testing.
The process of scanning the performance, quality, and functionality between the expected and the existing requirements OR to validate the difference between the existing and the expected requirements and to evaluate the software’s features.
What is a Life Cycle?
The life cycle means stages of testing that a QA/Tester performs on the software during the entire Testing Process.
Now that we know about Software Testing and Life Cycle, we can move forward with STLC.
What is Software Testing Life Cycle?
Certain phases are executed to perform testing to make sure that the required software/application or website/app is as functional as required.
There are 6 different phases in the STLC. STLC is a process that is executed to meet the quality goals. The QA team follows STLC. It is similar to the Software Development Life Cycle, also known as SDLC, and can also run alongside the SDLC.
Objectives of STLC:
The main objective of STLC is to help the testers decide the priorities for what steps to carry out and when. Each of the phases of STLC has some Entry Criteria and Exit Criteria. QA can plan out the testing plan based on criteria.
- Entry Criteria is a minimum set of conditions that should be considered before starting the testing.
- Exit Criteria is also a minimum set of conditions to be completed to stop the testing.
Phases of STLC:
Each step in this process is carried out systematically. The testing activities start from the Requirements analysis and go through all the phases one by one before completing the test cycle closure phase.
Each phase varies from organization to organization.
The common phases are as follows:
- Requirement Analysis: In this phase, the QA Team understands the requirements for the project in detail and coordinates with the Developing teams/Clients to understand what the team will be testing.
Stages that are executed in the Requirement Analysis phase are: –- Review the Software Requirements Document (SRD)
- Business Requirements
- Architectural Requirements
- System and Integration Requirements.
- Test Planning: Test Planning is known as the most important/efficient phase in the STLC. In this, the QA/Project Manager calculates the cost and the efforts of the team required and strategizes the plan to further the testing process.
Objectives of the Test Planning are: –- To identify the testing scope and objectives.
- Plan a test strategy i.e. which techniques/tools will be used.
- Assigning roles and responsibilities to the team.
- Test Case Development:In this phase, the testing team makes detailed test cases. If required, the test data is also prepared by the team. After the testing team creates the Test Data and Test Cases, the Project/QA Manager reviews it and reworks it as well if required.
Points kept in mind while creating Test Cases: –- Test Cases need to be kept simple.
- End-users should be kept in mind while preparing the Test Cases.
- Need to use laymen’s terms for the same.
- Test Case repetition should be avoided.
- Test Environment Setup: The Test Environment is a vital part of the STLC, as the test environment helps to decide on which software, using which tools/methods the testing should be implemented. Test Env. Setup can be executed simultaneously with the Test Case planning. Either the development team or the clients take care of the setup. This does not include the testing team, even though it is a vital part of STLC.
Steps to Setup the Test Environment: –- A list of the required Software and Hardware needs to be prepared after analyzing the requirements.
- Set up the Test Env. with the mentioned software and hardware.
- Test Execution: The test team carries out the test plan and the test cases prepared for the Test Execution. During the execution, any bugs found will be assigned back to the development team using any Bug Tracking Tool. After the given bugs are fixed, the testing team will retest the issues.
Activities that take place in Test Execution: –- Test ExecutionTest result analysis
- Defect retestingTest Reporting
- Test Cycle Closure: A team meeting will be organized to discuss the strategies that are currently followed or need to be followed to prevent Bug Leaks.