James Marcus Bach, Who Doesn’t Know! A noted thought leader, a prominent speaker, author and the creator of Rapid Software Testing™ in QA communit...Read More
In today’s era of technology, significance of software testing is an essential part in order to improve the quality of a Software product. During the development of any software product, errors can pop up in any of the phases of the Software development life cycle and some of them remain unnoticeable.
There are strong possibilities that code has many errors, whether it is in Design phase or in Functionality phase. So it is necessary to perform Software testing that helps in identifying and rectifying the errors. Hence, to understand the importance of testing, there are some key points that will explain why your product/project should undergo it.
3. Product Quality
4. Customer satisfaction
Here comes, Software Testing Life Cycle (STLC) which tells the sequence or process of different activities performed by the testing team in a planned manner to ensure the quality of the software or the product. Different phases/stages of STLC are:
1. Requirement Analysis
2. Test Planning
3. Test case Development
4. Environment setup
5. Test execution
6. Test Cycle Closure
Requirement Analysis is the first step involved in Software test life cycle (STLC). In this step, testing team reviews the software requirements to identify the testable requirements. These testable requirements can be Functional or Non-Functional. After gathering the requirements, they focus on testing priorities and Identify test environment details where testing is supposed to be carried out.
• Prepare the list of questions and queries and get resolved from BA, Client and TM/TL etc.
• Define Testing focus and Test priorities
• List down the testable requirement details where testing activity is carried out.
• Check out the automation tool feasibility if required, then prepared the report for it.
Important Read: Efficient Ideas To Explore The Types of Requirements For Testing
Once testing team have gathered a general idea of what needs to be tested, the next step is to prepare the Test Plan. In this phase, Senior QA manager involves in the activities like:-
• Preparation of test plan/strategy document for various types of testing.
• Define the Objective and Scope of Product/Project.
• List down the testing types involves in STLC
• Test tool selection if required
• Resource planning and determining roles and responsibilities.
• Prepare the test schedule
Once the test planning phase is completed then comes Test Case Development phase. It includes the creation and verification of test cases or test scripts. Along with test cases, testing team also prepares the test data. Once the cases are ready then they are reviewed by peer members or QA lead.
Main activities involve in Test Case Development:
• Prepare Test case
• Prepare Test automation Test scripts if required
• Prepare test data preparation for executing test cases/test scripts.
Setting up the test environment have an important role in Software Testing Life Cycle. A testing environment is a setup of software and hardware for the testing teams to execute test cases. Test environment decides the software and hardware conditions under which product/project is tested. Development team or client provides the test environment setup.
Main activities involve in Test Environment Setup:
• After Analyzing the requirement, prepare the list of hardware & software to set up the test environment
• Prepare the Test Environment
• Perform Smoke test.
• Accept/reject the build depending on the smoke test result
The next phase in Software Testing Life Cycle (STLC) is Test Execution. Test execution is the process of executing the code and comparing the expected and actual results. Test team starts executing the test cases & Test scripts based on the planned test cases. If a test case result is Pass/Fail then the same should be updated in the test cases document. In this, defect report should be prepared for failed test cases and should be reported to the Development Team through bug tracking tool for fixing the defects.
Main activities involve in Test Execution:
• Execute the test cases.
• Update the status for test cases i.e. Passed, Failed, Blocked, Not Run etc.
• Assign bug id for Failed, and Blocked Text cases.
• Resting is performed after fixing the bugs from the development side
• Track defects to closure.
The final phase of the Software Testing Life Cycle (STLC) is Test Cycle Closure. In this, testing team is calling out for the meeting in which team has to prepare the test closure report and give sign-off to the product.
Main activities involve in Test Cycle Closure:
• Evaluate the cycle completion criteria based on Test coverage, Quality, cost and Time etc.
• Prepare test closure report
With time, the cost of fixing the defects increases during various phases of the Software development life cycle. So it is always the best policy to get rid of the bugs as soon as we found them in order to improve the quality of the software product.