Using Tasks to Automate Regression Testing of GUIs

Graphical User Interfaces (GUIs) present unique challenges for software testing. In this paper, we demonstrate that a test suite originally used to test a GUI contains a large number of unusable test cases for the modified GUI. We present a novel technique to recreate unusable test cases by associating meta-information (called a task) with each test case. Tasks represent activities that can be performed by using the software. The sequence of events in a test case represents the actions needed to complete its associated task. Even when changes to the GUI make test cases unusable, many tasks remain valid across successive GUI versions. We experimentally show that our technique is able to automatically and efficiently regenerate a large number of test cases.

[1]  Aniello Cimitile,et al.  Post-maintenance testing based on path change analysis , 1988, Proceedings. Conference on Software Maintenance, 1988..

[2]  Mary Lou Soffa,et al.  Interprocedual Data Flow Testing , 1989, Symposium on Testing, Analysis, and Verification.

[3]  Rajiv Gupta,et al.  A methodology for controlling the size of a test suite , 1990, Proceedings. Conference on Software Maintenance 1990.

[4]  Joseph Robert Horgan,et al.  Incremental regression testing , 1993, 1993 Conference on Software Maintenance.

[5]  Avrim Blum,et al.  Fast Planning Through Planning Graph Analysis , 1995, IJCAI.

[6]  Lee J. White Regression testing of GUI event interactions , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[7]  David J. Kasik,et al.  Toward automatic generation of novice user test scripts , 1996, CHI.

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

[9]  David S. Rosenblum,et al.  Using Coverage Information to Predict the Cost-Effectiveness of Regression Testing Strategies , 1997, IEEE Trans. Software Eng..

[10]  David W. Binkley,et al.  Semantics Guided Regression Test Cost Reduction , 1997, IEEE Trans. Software Eng..

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

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

[13]  Bernhard Nebel,et al.  Extending Planning Graphs to an ADL Subset , 1997, ECP.

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

[15]  Gregg Rothermel,et al.  Empirical Studies of a Safe Regression Test Selection Technique , 1998, IEEE Trans. Software Eng..

[16]  Stephen F. Smith,et al.  Proceedings: The Fourth International Conference on Artificial Intelligence Planning Systems , 1998 .

[17]  Mary Lou Soffa,et al.  Using a goal-driven approach to generate test cases for GUIs , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[18]  Mary Lou Soffa,et al.  Plan Generation for GUI Testing , 2000, AIPS.

[19]  Mary Lou Soffa,et al.  Automated test oracles for GUIs , 2000, SIGSOFT '00/FSE-8.

[20]  Mary Lou Soffa,et al.  A Planning-based Approach to GUI Testing∗ , 2000 .

[21]  Mary Lou Soffa,et al.  Coverage criteria for GUI testing , 2001, ESEC/FSE-9.

[22]  Mary Lou Soffa,et al.  A comprehensive framework for testing graphical user interfaces , 2001 .

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

[24]  Mary Lou Soffa,et al.  Regression testing of GUIs , 2003, ESEC/FSE-11.