Regression testing is an important task in a software development or maintenance process. It ensures that modified software does not break any existing functionality. From a cost perspective, regression testing is expensive and time consuming. When it comes to regression testing database application changes, it is still more expensive. The authors of this paper provide a framework for performing regression tests efficiently on database applications.
The challenge with regression testing database applications is the inability to control the state of the database during the testing process. Resetting databases and rerunning jobs make regression testing very costly. Through proper scheduling, controlling, and parallel testing, the efficiency of database regression testing is improved. These are the focus areas of the paper and the proposed framework.
Discussions start with a detailed overview of regression testing, stressing it from a database application perspective. Then, the authors provide theoretical discussions on regression test scheduling strategies and the parallel testing framework. A methodology to evaluate the database application testing framework is detailed with a good example. Finally, the authors detail the experiments that were conducted to test the effectiveness of the proposed framework and its results.
This paper attempts to focus on an area, database application regression testing, that certainly is an issue from a cost perspective for the software development community. However, this paper is just a start, and the software community may not readily use the propositions in the paper. Enhancements to the proposed framework are required, and need to be tested on practical regression test processes.