A cost-effective regression testing methodology for object-oriented programs

Zeyu Gao, Pei Hsia, David Chenho Kung · 1995

As the object-oriented (OO) paradigm enjoys an increasing acceptance in the software industry due to its reuseability, extensibility, and understandability, testing of OO programs is becoming very important, and has been considered as a challenging task. Most existing software testing methods were developed for testing traditional programs, and have been found inadequate for OO program testing. Most of the current problems in OO testing and maintenance are caused by the new features in the OO paradigm, such as classes, inheritance, encapsulation, polymorphism, dynamic binding, and message passing. In the past three years, we have developed a formal testing model and a methodology for OO program testing. Based on this methodology, we have developed an OO testing and maintenance environment (OOTME). Regression testing is an important task in software teeting and maintenance. Today, we lack systematic regression testing methods for OO programs. In this dissertation, the basic regression testing problems in OO programs are addressed, and a cost-effective regression testing methodology is presented. This methodology consists of four parts: (1) a set of formal test models for OO programs and their new features, (2) several optimal regression test strategies, (3) different methods for change analysis and impact identification, and (4) a cost-effective regression testing process. Using the proposed methods different types of code changes and ripple effects (including class change impacts and polymorphism ripple effects) can be systematically identified to form various types of firewalls to enclose the changed and affected components. Regression test cost can be reduced by only re-testing the components inside these firewalls. Our applications of this method in the OOTME have shown significant cost reduction in regression testing cost. The proposed re-test strategy (test order) provides a step-by-step guideline to regression testers in class unit re-test, and class re-integration. Using a cost-effective test order in regression test shows a strong potential in reducing the test cost on test stub constructions. In addition, our experience and experimental results are also presented.

Read the paper · More papers on PaperTik