Regression testing on object-oriented programs

Regression testing is an important activity at both testing and maintenance phases. When a piece of software is modified, it is necessary to ensure the quality of the software is preserved. To this end, regression testing retests the software using the test cases selected from the original test pool. We present a regression testing technique that selects test cases by utilizing static information from the analysis of the program structure and dynamic information by tracing the function-calling sequences. To compare the effectiveness of this technique with other existing approaches, we conducted an empirical study on an industrial trial real-time system. The results show that not only, does this technique preserve all the necessary information for regression testing, but it is also much more efficient and more precise than the existing techniques.

[1]  Gregg Rothermel,et al.  A safe, efficient regression test selection technique , 1997, TSEM.

[2]  Gregg Rothermel,et al.  A Comparative Study of Regression Test Selection Techniques , 1997 .

[3]  Joseph Robert Horgan,et al.  Dynamic program slicing , 1990, PLDI '90.

[4]  Gregg Rothermel,et al.  An empirical study of regression test selection techniques , 2001, ACM Trans. Softw. Eng. Methodol..

[5]  Joseph Robert Horgan,et al.  A study of effective regression testing in practice , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[6]  John A. N. Lee,et al.  A methodology for test selection , 1990, J. Syst. Softw..

[7]  David S. Rosenblum,et al.  TESTTUBE: a system for selective regression testing , 1994, Proceedings of 16th International Conference on Software Engineering.

[8]  Bogdan Korel,et al.  Automated regression test generation , 1998, ISSTA '98.

[9]  Gregg Rothermel,et al.  Regression test selection for C++ software , 2000 .

[10]  Hareton K. N. Leung,et al.  A cost model to compare regression test strategies , 1991, Proceedings. Conference on Software Maintenance 1991.

[11]  Mary Lou Soffa,et al.  Interprocedual data flow testing , 1989 .

[12]  Susan Horwitz,et al.  Incremental program testing using program dependence graphs , 1993, POPL '93.

[13]  David Chenho Kung,et al.  A technique for the selective revalidation of OO software , 1997, J. Softw. Maintenance Res. Pract..

[14]  Mary Lou Soffa,et al.  Program Slicing‐Based Regression Testing Techniques , 1996 .

[15]  Hareton Leung,et al.  A firewall concept for both control-flow and data-flow in regression integration testing , 1992, Proceedings Conference on Software Maintenance 1992.

[16]  David Chenho Kung,et al.  Or Regression Testing of Object-Oriented Programs , 1996, J. Syst. Softw..

[17]  Mei-Hwa Chen,et al.  Effect of class testing on the reliability of object-oriented programs , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[18]  Thomas Ball,et al.  On the limit of control flow analysis for regression test selection , 1998, ISSTA '98.

[19]  Gregg Rothermel,et al.  Selecting regression tests for object-oriented software , 1994, Proceedings 1994 International Conference on Software Maintenance.