Hierarchical GUI test case generation using automated planning
Authors:
- M.E. PollackMPM.E. Pollack
- M.L. SoffaMSM.L. Soffa
- 1 February 2001
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 27 (2) , 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.Keywords
This publication has 18 references indexed in Scilit:
- A method to automate user interface testing using variable finite state machines2002
- Using a goal-driven approach to generate test cases for GUIs1999
- ADDI: A tool for automating the design of visual interfacesComputers & Graphics, 1997
- Test Case Generation as an AI Planning ProblemAutomated Software Engineering, 1997
- Regression testing of GUI event interactions1996
- A reduced test suite for protocol conformance testingACM Transactions on Software Engineering and Methodology, 1994
- Redundancy identification/removal and test generation for sequential circuits using implicit state enumerationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 1993
- Integrated data capture and analysis tools for research and testing on graphical user interfaces1992
- Conditional Nonlinear Planning1992
- Testing Software Design Modeled by Finite-State MachinesIEEE Transactions on Software Engineering, 1978