Today we are going to learn:
- Software testing life cycle.
- The importance of Software testing.
- Phases of software testing life cycle.
- Importance of each phase.
Software testing life cycle(STLC) is a sequence of specific activities conducted during the testing process to ensure software quality goals are met. STLC involves both verification and validation activities.
The Importance of Software Testing
Preventing a problem is always better than fixing one after it occurs. This is the main reasoning behind the STLC and why testing is required during the development process.
No matter how meticulously built, no software can be entirely perfect. Even if there are no detectable bugs, there is always a chance that something minor may have been overlooked, which can end up leading the application to crash or at the very least perform subpar.
During testing, every component of the software is examined individually to ensure all parts are working properly on their own. Then, components are tested in conjunction with others to ensure they are working properly together — and will continue to do so. If any challenges or questions come up, they can be addressed with time before the application is ready for consumer use.
STLC Phases
There are following six major phases in every Software Testing Life Cycle Model (STLC Model):
- Requirement Analysis
- Test Planning
- Test case development
- Test Environment setup
- Test Execution
- Test Cycle closure
- Requirement Analysis:
Requirement Analysis (also known as Requirement Phase Testing) is the phase during which developers, quality assurance teams, and stakeholders meet to discuss which elements of the software can and should be tested, as well as the specific kinds of tests that should be performed. In a nutshell, it is a brainstorming session.
The “requirement” aspect of the phrase refers to the unique functionalities and goals of the software that must be given precedence for testing based on the purpose of the software or the needs of the business. It involves the process of gathering initial data research on the parts of the software that should be examined as well as the different types of tests that can be undertaken.
2. Test Planning:
Test Planning is the most efficient phase of the software testing life cycle where all testing plans are defined. In this phase manager of the testing, the team calculates the estimated effort and cost for the testing work. This phase gets started once the requirement gathering phase is completed.
3. Test Case Development:
The test case development phase gets started once the test planning phase is completed. In this phase testing team note down the detailed test cases. The testing team also prepares the required test data for the testing. When the test cases are prepared then they are reviewed by the quality assurance team.
4. Test Environment Setup:
Test Environment Setup decides the software and hardware conditions under which a work product is tested. It is one of the critical aspects of the testing process and can be done in parallel with the Test Case Development Phase. Test team may not be involved in this activity if the development team provides the test environment. The test team is required to do a readiness check (smoke testing) of the given environment.
Test Environment Setup Activities
- Understand the required architecture, environment setup and prepare hardware and software requirement list for the Test Environment.
- Setup test environment and test data
- Perform a smoke test on the build
Deliverables of Test Environment Setup
- Environment ready with test data set up
- Smoke Test Results.
5. Test Execution:
After the test case development and test environment setup, the test execution phase gets started. In this phase testing team start executing test cases based on prepared test cases in the earlier step.
6. Test closure:The final stage of the testing cycle is about transparency and measuring results. You will need to document all testing activities to ensure correctness in existing software. The test closure report is prepared by QA lead and then analyzed by other team members. The report summarizes the entire testing cycle (strategies used, product quality, total costs, coverage, etc.). It follows the standard procedures:
- Test results analysis;
- evaluation of the following criteria: Test Coverage, Quality, Costs, Time and Objectives;
- test metrics.
Entry criteria: Test case execution summary.
Exit criteria: Test closure report.
Conclusion:
Software Testing Life Cycle is a systematic way of performing testing. It gives better product quality, quick bug fixing results, and effective and efficient test results.
Oh, great! Now that you are here, time to motivate me. Click claps, and share this blog.
Be the bugs with you. Hail Testers \m/