Importance of Software Testing Life Cycle
November 28, 2011
Software testing is not a single activity but a series of planned tasks that need to be executed along with the software development activities to ensure that a product is delivered without any errors. This post aims to explain the overview of steps in a Software Testing Life Cycle. Take this as a simple guide to plan your testing activities.
In the Requirements Analysis phase,
- You start by analyzing the business functionalities and business rules by studying the requirements document and application architecture.
- You then identify the modules, transactions and user roles associated with the system to be tested.
- You decide the tests to be performed and assign priorities to them. These details are put together in the Requirements Traceability Matrix (RTM)
- You may also perform automation testing feasibility (recommended).
- You will first evaluate various testing methodologies available in order to decide which approaches suit the system best.
- Test Strategy/Test Plan document need to be prepared. This includes the test approach, resources, test management tool, defect management tool and schedule details.
Test Case Development
With the test strategy document and requirements specification document in place, you can begin to write the test cases.
- You create test cases and automation test scripts. An appropriate test automation tool can be used if possible. It is important to plan for automation right at the beginning since it will help you save a lot of time in testing as the product develops.
- You then review the test cases
- Finally, creation of test data for all the test cases is done.
Once the test cases and test data are ready, the next thing to do is execute the test cases and log the results. It is essential to set up the test environment and then begin testing activities.
- Understand the required architecture to carry out the testing.
- Set up a test environment by getting the system ready with all the requisite hardware and software in place.
- The networking and connectivity needs are taken care of with the help of network management staff.
- Finalize the test data that will be used for testing. Once all is set, a run of smoke testing is carried to ensure that the basic functionalities of the system works as expected. Depending upon the smoke test results, you then accept or reject the application.
- If the smoke test results are good enough for the product to be tested, you can commence the planned testing activities.
- The test execution results are logged in to the test management tool and the defects are logged and passed on to the development team. A separate defect management tool can be used or you can use the built-in defect logging functionality of your test management tool.
- When a defect is fixed, you need to retest the function and either closes the defect or reopens it. You are responsible to track every defect to its closure.
- With every new release of the software, you must do a round of regression testing to ensure that no new defects are introduced into the system.
Test Cycle Closure
With this, the end of software testing life cycle has been reached. You have successfully completed the testing, results of which are recorded and logged.
- You should now prepare test metrics report with the details including software quality, test coverage attained, critical business objectives and cost-time factor.
- Bug report must be prepared which gives a chart representation of all the defects by its severity and/or type.
- You are responsible for creating a final report about the system that was tested to help the client take a go live/no live decision.
- Test closure report must be signed off by the client to officially call an end to the testing cycle.
Remember that it is essential for you to start the software testing activities alongside the development activities, rather than waiting for the development cycle to end. It minimizes the overall cost and effort that is spent on both testing and development activities.
To automate the Software Testing life cycle, Download the Enterprise Version of TestingWhiz now!