Smart Regression Testing
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
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
3. 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.
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.