Industrial real-time regression testing and analysis using firewalls

Industrial real-time systems are complex and need to be thoroughly tested before being released to the customer. We have found that last minute changes are often responsible for the introduction of defects, causing serious problems for the customer. We demonstrate that these defects can be introduced into real-time software in diverse ways, and there is no simple regression testing method that can deal with all of these defect sources. This paper describes the application of a testing firewall for regression testing whose form differs depending upon the defect. The idea of the testing firewall is to limit the regression testing to those potentially affected system elements directly dependent upon changed system elements, and then to thoroughly test these elements. This has resulted in substantial savings in regression testing costs, and yet has been effective in detecting critical defects with significant implication in terms of customer acceptance at ABB. Empirical studies are reported for these experiences in an industrial setting.

[1]  Ferhat Khendek,et al.  Timed test cases generation based on state characterization technique , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[2]  Gertrude Neuman Levine,et al.  Defining deadlock , 2003, OPSR.

[3]  BibleJohn,et al.  A comparative study of coarse- and fine-grained safe regression test-selection techniques , 2001 .

[4]  Richard C. Holt,et al.  Some deadlock properties of computer systems , 1971, SOSP '71.

[5]  Sandro Morasca,et al.  Generating test cases for real-time systems from logic specifications , 1995, TOCS.

[6]  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.

[7]  Hareton K. N. Leung,et al.  Insights into testing and regression testing global variables , 1990, J. Softw. Maintenance Res. Pract..

[8]  Clarence A. Ellis,et al.  On the probability of deadlock in computer systems , 1973, SOSP '73.

[9]  Lee J. White,et al.  Correcting for unreliable regression integration testing , 1995, Proceedings of International Conference on Software Maintenance.

[10]  Rothermel Karen,et al.  A Comparative Study of Coarse-and Fine-Grained Safe Regression Test Selection , 1999 .

[11]  Ferhat Khendek,et al.  Timed Wp-Method: Testing Real-Time Systems , 2002, IEEE Trans. Software Eng..

[12]  Hareton Leung When testing fails , 1993 .

[13]  Anders Pettersson,et al.  Integration Testing of Fixed Priority Scheduled Real-Time Systems , 2001 .

[14]  Laura K. Dillon,et al.  Verifying General Safety Properties of Ada Tasking Programs , 1990, IEEE Trans. Software Eng..

[15]  Rachel Cardell-Oliver Conformance test experiments for distributed real-time systems , 2002, ISSTA '02.

[16]  Lee J. White,et al.  Firewall regression testing of GUI sequences and their interactions , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[17]  Hareton Leung,et al.  A study of integration testing and software regression at the integration level , 1990, Proceedings. Conference on Software Maintenance 1990.

[18]  Mary Lou Soffa,et al.  Hierarchical GUI Test Case Generation Using Automated Planning , 2001, IEEE Trans. Software Eng..

[19]  Tiko Kameda,et al.  Testing Deadlock-Freedom of Computer Systems , 1980, JACM.

[20]  Lee J. White,et al.  User-based testing of GUI sequences and their interactions , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[21]  David Chenho Kung,et al.  Class Firewall, Test Order, and Regression Testing of Object-Oriented Programs , 1995, J. Object Oriented Program..

[22]  David Chenho Kung,et al.  Change impact identification in object oriented software maintenance , 1994, Proceedings 1994 International Conference on Software Maintenance.

[23]  Hassan Gomaa Software development of real-time systems , 1986, CACM.