January 14, 2015
Testing can sometimes become a troublesome and uncontrollable process. It can take more time and money than originally planned, and sometimes still offers insufficient insight into the quality of the test process. So what should we do?
The software testing process can be challenging to master. When the current testing process is insufficient or lacking in some areas, it may be unclear where to start making improvements. Even if the currently implemented test process seems adequate, organizational developments may be occurring at a rapid pace, and the testing process must be agile and prepared for change.
It’s not enough that a testing process is adequately covering all current testing needs, as it must also be continuously improved upon in order to keep up with anticipated changing technologies – always be looking ahead!
There are several different test process improvement models to choose from. One of the most widely-adapted and time-proven models was developed by a company called Sogeti. In its current iteration, this Business-Driven Test Process Improvement (TPI) model focuses on distinct key areas to offer insights into the maturity of a testing process and to identify actions so that you can instigate change management and achieve the desired maturity level in that area for your organization.
The TPI model offers business-driven test process improvement through categories, which aligns the order of improvement efforts with your business drivers. It considers the different aspects of the test process, such as the use of test tools, design techniques or reporting. By evaluating various aspects, the strengths and weaknesses of your test process will become clearer. These aspects are called Key Areas, of which there are 16. These Key Areas are as follows:
- Stakeholder commitment
- Degree of involvement
- Test strategy
- Test organization
- Test process management
- Estimating and planning
- Defect management
- Testware management
- Methodology practice
- Tester professionalism
- Test case design
- Test tools
- Test environment
Plan of Action
The following are some good steps to follow when evaluating TPI:
- Create awareness
- Determine your Goal, Scope and Approach
- Assess the Current Situation
- Define Improvements
- Make a Plan of Action
- Implement those Actions
- Evaluate your current status, and redirect your actions back to the previous steps as needed.
You can then use the 16 key areas to create a matrix, with ratings for four maturity levels:
- Initial – Performing activities “ad-hoc”
- Controlled – Doing the Right Things
- Efficient – Doing the Right Things in the Right Way
- Optimizing – Continuously Adapting the Right Things in the Right Way
The following displays an example of a TPI matrix, as generated using the TPI-NEXT tool from Sogeti.
Benefits of Test Process Improvement
- Increase effectiveness and efficiency of test activities
- Align testing with organizational priorities and other project processes
- Improve the value of testing to the organization
- Improve overall software quality
- Reduce down time
- Reduce errors
- Ensure compliance
- More efficient and effective business operations
- Long-term reduction in the cost of testing
- Long-term reduction in the length of the test process
- Utilization of evaluation tool to determine if the optimal test improvements and benefits are being achieved.
Software development is always changing and progressing. While your current test process may be sufficient, it’s important to remember that you should always be evaluating and modifying your methodologies and testing habits to keep up with the software evolution. While TPI does not necessarily point out a perfect solution to your problem, it makes it easier to evaluate your structure, increase your organization’s communication, and ensure that you are always improving.
Check out this slideshare for more details about improving your test process!