Matthews, C. E. (2001). A Regression Test Engine, An Architecture to Support Automated Regression Test Suites, November 17, 2001.
Most commercial hardware and software products are characterized by a product life-cycle that undergoes numerous evolutions and releases. Sometimes these release cycles result in completely independent products, but more often these cycles appear to be incremental advances in features and functionality for a product. A major factor in determining customer satisfaction through multiple releases of a product is the ability of the development organization to keep from breaking functionality that isn't supposed to change.
To manage this engineering task requires that the development organization have the proper tools to assist them in verification and validation of product functionality. For most organizations this means that an automated regression system is an absolute necessity for managing their business effectively.
In this paper I describe the architecture for a regression test system. There is nothing proprietary (or even terribly ingenious) about this architecture. I have used this basic design on multiple projects. The first implementation occurred in a multi-threaded C++ application that used the Microsoft MFC architecture. The next implementation was a generic C++/Tcl application that did not use the Microsoft MFC classes and was developed for cross-platform operation on Windows and various Unix operating systems. This proposal implements the design in the Centura 4GL database language. The design is equally extendible to numerous other languages as well.