“Software Testing” is a vital part of software development. It is the stage where any kind of software application is tested to have a better quality results before it is delivered to the users in the market. So, for the testers it is important to have a good knowledge of Software Testing Life Cycle (STLC).
Software Testing Life Cycle (STLC) is a process of testing software in a well planned and systematic way. This process of software testing comes immediately when we are done with Software Development Life Cycle (SDLC) process. Software testing life cycle process let us know what exactly need to be fixed and what are the existing bugs or defects in a software application.
Different companies follow different software testing life cycle stages depending upon their business needs. Here, we are discussing a general software testing life cycle that is usually followed by every organization. These steps provide you an overall insight about what this process is all about and what are the various stages included in this.
Below is our list of 6 Software Testing Life Cycle
STLC Phases:
Requirements Analysis
Test Planning
Test Design
Test Implementation
Evaluation of Exit Criteria
Test Closure
1. Requirements Analysis
In software testing, the first step is the gathering of requirements such as what to test and what not to test. It is impossible to follow further steps in software testing life cycle, when we are not cleared about our requirements. In requirement analysis, we actually gather and invest for getting detailed information about the project or software application to be tested. Here in this stage, a tester is required to have interaction with the clients, business analysts, developers, etc. to get an understanding about the functional and non-functional requirements
Activities Performed
- Preparing for Requirement Traceability Matrix (RTM)
- Requirement gathering
- List preparation of what to test and what not to test
2. Test Planning
Test Planning is the most important phase of STLC because in this phase on the basis of requirements gathered, we decide for the test strategies. In test strategies, we do a detailed analysis of what will be tested and what will not be tested, plan for test plan, time frame, cost, deadlines, exit criteria, common risk, environment, tools, etc. This phase is also known as Test Strategy phase. Here QA lead/Test Manager decides for cost estimation and time frame for the project.
Activities Performed
- Test Plan or Test Strategy document preparation
- Cost estimation
- Resource planning
- Test Tools
3. Test Design
In this phase, after fully understanding the module we focus on test cases creation, test environment setup, and test tools setup.
Test Cases Creation: Here, test case development activities are performed with the intention to create maximum numbers of possible test cases according to test scenarios.
Test Environment Setup: Here, a particular tester decides for the test environment on which further testing of the software application will be done which may include: operating system, browsers, devices, etc.
Test Tools Setup: Here the testing team plan for which type of test tools will be used in both manual and automation testing when required.
For example:
- Automation tools: HP Quick Test Professional (QTP), Selenium, etc.
Activities Performed
- Test Case creation
- Test Data creation
- Planning for test environment setup
- Preparation for Automation Script
4. Test Implementation
In this phase, we perform actual testing which implies that we test the software application once we get Build form developing team. Build in a software testing is a pre executed number which is further used for testing input or data. Test Implementation carries four steps which include: test case execution, comparison of the results, bug reporting, and bug verification.
Test Case Execution: It is the time when a software testing team got builds and start test case execution step as soon as a possible. Test cases may be executed in two ways either manually or using automated tool.
Comparison of the results: Here, we try to compare test cases actual output with the expected output of the test case for the software application or module.
For example:
- Actual Output = Expected Output (then test passes)
Bug reporting: This step comes into concern when a failed test case comes out while comparison of the test results. Then the main role of a tester comes in and that is to write and prepare a nice and effective bug report document which will be handed over to the developing team.
Bug verification: The reported bugs or defects are tested once again for the final verification and for the product quality.
Activities Performed
- Execution of a Test Case
- Bug Tracking
- Bug Reporting
- Retesting of a bug
5. Evaluation of Exit Criteria
Exit criteria are the set of conditions that should be met before closing of a project phase. All different stages have different exit criteria.
6. Test Closure
This is a final and last step performed in software testing life cycle to collect and generate a common document which may include: collection of all data or inputs, summary reports, experience faced both good and bad during all phases of STLC.
Activities Performed
- Test closure report
- Sharing of project experience
CONCLUSION
We hope that our article on Software Testing Life Cycle Stages comes useful to you in the testing field. This is a comprehensive cycle to let you know about the performance of software and offer you better insights about their working.
Have something to add to this story? Let us know in comments.