Human nature dictates that the focus is on new things and in the context of software product that is also the case. But it is critical to ensure core features and previous capability is not broken or lost with the introduction of new code, whether that be attending to previous bugs or introduction of new features.

Indeed should comprehensive regression testing include all the historical code base and test cases or just a sample? With the advent of Agile development and Continuous Integration, that is probably no longer viable to consistently run all the previous test cases.

A potential solution is to create a Test Suite called for instance Email Regression 1.0 etc.

A collection of Test Cases can be assigned to that Regression Test Suite then simply running that Test Suite will ensure to the extent of the tests cases within that Test Suite, there can be a level of confidence that the new code has not introduced any bugs. Naturally the more test cases in the suite suite the higher the confidence interval of bug free code should be.

So for instance after any code was introduced relating to email then the Email Regression Test should be run.

 

Any Test Suite can be copied and subsequently renamed as a Regression Test to satisfy the above requirements. From that copied Test Suite test cases can be added or deleted.

Following these steps will enable an effective regression testing program to be put in place without undue stress on developers or testers.