January 14, 2015Improve 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 commitmentDegree of involvementTest strategyTest organizationCommunicationReportingTest process managementEstimating and planningMetricsDefect managementTestware managementMethodology practiceTester professionalismTest case designTest toolsTest environmentPlan of ActionThe following are some good steps to follow when evaluating TPI:Create awarenessDetermine your Goal, Scope and ApproachAssess the Current SituationDefine ImprovementsMake a Plan of ActionImplement those ActionsEvaluate your current status, and redirect your actions back to the previous steps as needed.TPI MatrixYou 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 ThingsEfficient – Doing the Right Things in the Right WayOptimizing – Continuously Adapting the Right Things in the Right WayThe 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 ImprovementIncrease effectiveness and efficiency of test activitiesAlign testing with organizational priorities and other project processesImprove the value of testing to the organizationImprove overall software qualityReduce down timeReduce errorsEnsure complianceMore efficient and effective business operationsLong-term reduction in the cost of testingLong-term reduction in the length of the test processUtilization of evaluation tool to determine if the optimal test improvements and benefits are being achieved.Continuous ImprovementSoftware 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!