Is regression testing a mundane task? What value does regression test add? Well, the answer is it is not a mundane task. Designing a regression strategy goes a long way in ensuring product quality with least effort. Typically, regression testing constitutes 70 percent of the total testing effort due to frequent changes done in the software and also adoption of agile methodology.

Time and again, as is the case with most of the projects, Oak Systems had to confront the reality of cost/schedule and effort constraints. This prompted Oak Systems in devising sound regression test strategies at a very early stage of progression testing based on the type and nature of data processing/Application. Devising a sound regression strategy saves lot of time and effort.

Three such strategies that were successfully devised are outlined here;

1.  Test Bucketization

We will explain this strategy with an example. Regression tests for Supply chain Application was done with this method.

The entire application was split into major components (buckets). The most critical tests were selected for each bucket for regression. This also involved regressing all tests in the component. High degree of discretion was required while classifying the tests for regression as it involved small sampling which decided the performance of the application in production.

Methodology was to split an application into following buckets

  • Configuration: All tests related to configuration was subjected to regression.
  • Transactions: All/partial set of online / Realtime tests was subjected to regression.
  • Reports: Only statutory reports were subjected to regression.

Prerequisites for adoption: Domain experts need to be pressed into service for this type of regression test design

Test Bucketization-Oaksys


2. Test prioritization

Regression tests for Real Time Service Management was done with this method.

Based on levels of Criticality of the tests vis-a-vis the business effect the tests were prioritized. Here the key factor was that there is a alternative / Workaround is available in the application. Also it was assumed that lower priority tests, should they fail during production there is time to fix without effecting business cycle. This method involved sampling either small or big size.  This   method   also took care of short regression cycle when released from development was delayed.

The advantage with this method is that limited amount of planning/replanning would suffice.

Methodology for adoption of this method: Based on levels of Criticality of the tests vis-a-vis   the   business impact, the tests are prioritized. It is also possible that different components of the applications are taken up on priority basis.

The tests with highest priority was taken up first and then the remaining tests are taken up if time permits or even otherwise.

Here, All the tests related to voice support (involving forwarding, escalation etc,) were taken up first (as this channel is available all the time) followed by all tests of chat support, Knowledge repository, Email channel.

Prerequisites for adoption

  • Business impact of transaction failure need to be known
  • Work around strategy vis-a-vis SLA need to be in place
Test Prioritization-Oaksys3. Mass regression

Regression tests for Non-Financial applications involving mass processing (Scheduling / Payroll applications) was done with this method. This is the most time and effort saving method.

Certain   applications   have   characteristics   which   enable   mass   regression   within bare minimum time. The regression test architecture is planned well in advance so that   regression   cycles   are   very   short.   This   is   a   very   delicate exercise   and involves   lot   of   time   before   first   regression   is   done.   For subsequent   regression bare minimum effort is required. This regression test works with typically mass volume   data   processing   and   hence   good   Testbed   with   Baselined   Database   was maintained. On this Database the process is run and key indicators like totals are matched. The output to be matched being very statistical in nature calls for high degree of precision in selecting the key indicators which determine whether there is any defect in the application.

The Advantage of this regression test is that Test data management is easy as output produced is based on a limited seed data.

Prerequisites for adoption: Database to be backed up at several stages of the testing cycle.

Regression Testing-Oaksys


About the author: Mr Narendranath Pai, is a Technical general manager at Oak Systems Pvt Ltd. He has 30 years experience and has successfully delivered number of complex software testing solutions.

Oak Systems is providing software testing, test automation and V&V services to companies worldwide since 1998. Having tested variety of applications across multiple domains, technologies and methodologies, Oak Systems have the capability to devise appropriate Regression testing solutions to add value to the testing services. Write to us for more details about Regression testing solutions.