Optimizing a Regression Test Suite
One of the pioneering methods for test case suite optimization is aptly called Regression Test Selection (RTS). A striking precondition that surfaces here is that the cost of selecting a part of test suite is less than the cost of running the tests that RTS allows us to omit.RTS divides the existing test suite into (1) Reusable test cases; (2) Retestable test cases; (3) Obsolete test cases. In addition to this classification RTS may create new test cases that test the program for areas which are not covered by the existing test cases.
The brief discourse on Regression testing is incomplete without the token of ROI(Return on Investment). ROI is a financial tool that assists management in evaluating how well it can cover its risks. Return on investment (ROI) as a measurement in a business model has become an important means of evaluating whether a project should be undertaken.
An optimized Regression suite bails the project out of the web of looming impracticality to active pursuance with a growing ROI. It lays to rest impending doubts in the mind of management when it comes to negotiating potential risks involved in the project. These risks may be subtle and inconspicuous but elementary in running a successful show. A healthy ROI is the end product out backed by a confident management with elimination of risks. A well tuned and effective optimized regression suite is paramount since regression is often carried out in a time crunched mode. The nagging question then is that am I getting a valid return on the investment made. Finally an automated Regression suite of test cases gives a visual benefit in an immediate spurt in ROI.
Here we cannot ignore the roles of Software Tester and Developer in optimizing a Regression suite. They are the bedrock for any evaluation of the integrity of a system.
– We can group bug fixes into homogenous partitions which address similar regression areas modelling an overlap. This will enable performing multiple regressions with a single test case execution.
– The developer’s role cannot be undone when it comes to optimizing regression suite. There has to be a direct liaison between the testers and the developers. S/he knows the ‘how’, ’what’ and ‘when’ of fixing bugs in an application and can play a major role in prod3izing a penetrating regression suite with optimal overtones. They have a fair idea of where bugs might have inflicted the system and so can ascertain missed test cases and prejudge redundant test cases to trigger the expanse of test coverage. They can act as a guide to the testers since they have a firsthand knowledge of the bugs and thus maximize optimization of the regression test suite.