January 14, 2015 Improve Your Test Process, Improve your Life 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 Communication Reporting Test process management Estimating and planning Metrics 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. TPI Matrix 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. An organization cannot be considered to be in the Efficient category for a Key Area, if all requirements in the Controlled section of the same Key Area have not yet been met. 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. Continuous Improvement 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!