This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Hierarchical GUI Test Case Generation Using Automated Planning
February 2001 (vol. 27 no. 2)
pp. 144-155

Abstract—The widespread use of GUIs for interacting with software is leading to the construction of more and more complex GUIs. With the growing complexity come challenges in testing the correctness of a GUI and its underlying software. We present a new technique to automatically generate test cases for GUIs that exploits planning, a well-developed and used technique in artificial intelligence. Given a set of operators, an initial state, and a goal state, a planner produces a sequence of the operators that will transform the initial state to the goal state. Our test case generation technique enables efficient application of planning by first creating a hierarchical model of a GUI based on its structure. The GUI model consists of hierarchical planning operators representing the possible events in the GUI. The test designer defines the preconditions and effects of the hierarchical operators, which are input into a plan-generation system. The test designer also creates scenarios that represent typical initial and goal states for a GUI user. The planner then generates plans representing sequences of GUI interactions that a user might employ to reach the goal state from the initial state. We implemented our test case generation system, called Planning Assisted Tester for grapHical user interface Systems (PATHS) and experimentally evaluated its practicality and effectiveness. We describe a prototype implementation of PATHS and report on the results of controlled experiments to generate test cases for Microsoft's WordPad.

[1] B.A. Myers, “Why are Human-Computer Interfaces Difficult to Design and Implement?” Technical Report CS-93-183, School of Computer Science, Carnegie Mellon Univ., July 1993.
[2] W.I. Wittel Jr. and T.G. Lewis, “Integrating the MVC Paradigm into an Object-Oriented Framework to Accelerate GUI Application Development,” Technical Report 91-60-06, Dept. of Computer Science, Oregon State Univ., Dec. 1991.
[3] B.A. Myers, "User Interface Software Tools," ACM Trans. Computer Human Interaction, vol. 2, no. 1, pp. 64-103, 1995.
[4] D. Rosenberg, “User Interface Prototyping Paradigms in the 90's,” Proc. Conf. Human Factors in Computing Systems—Adjunct Proc. (ACM INTERCHI '93), p. 231, 1993.
[5] M.G. El-Said, G. Fischer, S.A. Gamalel-Din, and M. Zaki, “ADDI: A Tool for Automating the Design of Visual Interfaces,” Computers&Graphics, vol. 21, no. 1, pp. 79–87, 1997.
[6] L. White, “Regression Testing of GUI Event Interactions,” Proc. Int'l Conf. Software Maintenance, pp. 350–358, Nov. 1996.
[7] D.J. Kasik and H.G. George, “Toward Automatic Generation of Novice User Test Scripts,” Proc. Conf. Human Factors in Computing Systems: Common Ground, M.J. Tauber, V. Bellotti, R. Jeffries, J.D. Mackinlay, and J. Nielsen, eds., pp. 244–251, Apr. 1996.
[8] R.M. Mulligan, M.W. Altom, and D.K. Simkin, “User Interface Design in the Trenches: Some Tips on Shooting from the Hip,” Proc. Conf. Human Factors in Computing Systems (ACM CHI '91), pp. 232–236, 1991.
[9] J. Nielsen, “Iterative User-Interface Design,” Computer, Nov. 1993, pp. 32-41.
[10] M.M. Kaddah, “Interactive Scenarios for the Development of a User Interface Prototype,” Proc. Fifth Int'l Conf. Human-Computer Interaction, vol. 2, pp. 128–133, 1993.
[11] A. Kaster, “User Interface Design and Evaluation—Application of the Rapid Prototyping Tool EMSIG,” Proc. Fourth Int'l Conf. Human-Computer Interaction, vol. 1, pp. 635–639, 1991.
[12] H. Kautz and B. Selman, “The Role of Domain-Specific Knowledge in the Planning as Satisfiability Framework,” Proc. Fourth Int'l Conf. Artificial Intelligence Planning Systems (AIPS '98), R. Simmons, M. Veloso, and S. Smith, eds., pp. 181–189, 1998.
[13] A. Walworth, “Java GUI Testing,” Dr. Dobb's J. Software Tools, vol. 22, no. 2, pp. 30, 32, and 34, Feb. 1997.
[14] M. Peot and D. Smith, “Conditional Nonlinear Planning,” Proc. First Int'l Conf. AI Planning Systems, J. Hendler, ed., pp. 189–197, June 1992.
[15] D.S. Weld, “An Introduction to Least Commitment Planning,” AI Magazine, vol. 15, no. 4, pp. 27–61, 1994.
[16] D.S. Weld, “Recent Advances in AI Planning,” AI Magazine, vol. 20, no. 1, pp. 55–64, 1999.
[17] J. Koehler, B. Nebel, J. Hoffman, and Y. Dimopoulos, “Extending Planning Graphs to an ADL Subset,” Lecture Notes in Computer Science, vol. 1348, pp. 273, 1997.
[18] A. Blum and M.L. Furst, “Fast Planning through Planning Graph Analysis,” Artificial Intelligence, vol. 90, pp. 281-300, 1997.
[19] K. Erol, J. Hendler, and D.S. Nau, “HTN Planning: Complexity and Expressivity,” Proc. 12th Nat'l Conf. Artificial Intelligence (AAAI '94), vol. 2, pp. 1123–1128, Aug. 1994.
[20] L. The, “Stress Tests For GUI Programs,” Datamation, vol. 38, no. 18, p. 37, Sept. 1992.
[21] M.L. Hammontree, J.J. Hendrickson, and B.W. Hensley, “Integrated Data Capture and Analysis Tools for Research and Testing a Graphical User Interfaces,” Proc. Conf. Human Factors in Computing Systems, P. Bauersfeld, J. Bennett, and G. Lynch, eds., pp. 431–432, May 1992.
[22] L.R. Kepple, “The Black Art of GUI Testing,” Dr. Dobb's J. Software Tools, vol. 19, no. 2, p. 40, Feb. 1994.
[23] J.M. Clarke, “Automated Test Generation from a Behavioral Model,” Proc. Pacific Northwest Software Quality Conf., May 1998.
[24] T.S. Chow, “Testing Software Design Modeled by Finite-State Machines,” IEEE Trans. Software Eng., vol. 4, no. 3, pp. 178–187, Mar. 1978.
[25] S. Esmelioglu and L. Apfelbaum, “Automated Test Generation, Execution, and Reporting,” Proc. Pacific Northwest Software Quality Conf., Oct. 1997.
[26] P.J. Bernhard, “A Reduced Test Suite for Protocol Conformance Testing,” ACM Trans. Software Eng. and Methodology, vol. 3, no. 3, pp. 201–220, July 1994.
[27] H. Cho, G. Hachtel, and F. Somenzi, "Redundancy Identification/Removal and Test Generation for Sequential Circuits Using Implicit State Enumeration," IEEE Trans. Computer-Aided Design, vol. 12, no. 7, pp. 935-945, 1993.
[28] R.K. Shehady and D.P. Siewiorek, “A Method to Automate User Interface Testing Using Variable Finite State Machines,” Proc. 27th Ann. Int'l Symp. Fault-Tolerant Computing (FTCS '97), pp. 80–88, June 1997.
[29] A. Howe, A. von Mayrhauser, and R.T. Mraz, “Test Case Generation as an AI Planning Problem,” Automated Software Eng., vol. 4, pp. 77–106, 1997.
[30] A.M. Memon, M.E. Pollack, and M.L. Soffa, “Using a Goal-Driven Approach to Generate Test Cases for GUIs,” Proc. 21st Int'l Conf. Software Eng., pp. 257–266, May 1999.

Index Terms:
Software testing, GUI testing, application of AI planning, GUI regression testing, automated test case generation, generating alternative plans.
Citation:
Atif M. Memon, Martha E. Pollack, Mary Lou Soffa, "Hierarchical GUI Test Case Generation Using Automated Planning," IEEE Transactions on Software Engineering, vol. 27, no. 2, pp. 144-155, Feb. 2001, doi:10.1109/32.908959
Usage of this product signifies your acceptance of the Terms of Use.