Hierarchical GUI Test Case Generation Using Automated Planning

  • The authors propose a testing technique that can automatically generate test cases for GUIs. These tests are composed of certain events. What are the GUI events that they can generate?


These certain events are paths in the GUI, and these paths have certain sequences. These paths are created when the user clicks on certain components of a GUI in a particular order, such as by clicking on labels, buttons , menus, and pop-up lists. More specifically clicking on edit and then clicking on cut, copy, or paste. These would all have different paths and each button or pop-up menu generates an event that may open another window.Joe Zumpella

The authors classify the events generated by PATHS into four categories:
  • Menu-Open Events which expand the GUI events available to the user.
  • Unrestricted-focus Events which open GUI windows that don't restrict the view's focus, merely expand the GUI events that are available.
  • Restricted-focus Events which open GUI windows that, once invoked, monopolize the GUI interaction.
  • System-interaction Events which interact with the underlying software to perform actions.
Elizabeth Zehner


  • What is a planner? How can a planner to applied to the problem of automatically generating test cases for GUIs?

A planner just develops certain steps that will help us achieve a certain goal. The initial state, the goal state, along with the set of operators and set of objects are all used here. We can use hierarchical planning here to help decompose the many differents components and events of a particular GUI. This helps us determine the paths that any user might take while using a GUI, such as the paths I gave above.Joe Zumpella

Given a four-tuple of an initial state, a goal state, a set of operators, and a set of objects, a planner returns a set of steps to acheive the goal. Preconditions and effects are defined for each operator. The test designer then specifies initial and goal states to test and PATHS uses this information to generate a plan.
Elizabeth Zehner

  • What is a partial-order plan? What does it mean to linearize a partial order plan?

A partial-order plan means that the steps of the order are not necessarily ordered to any other steps of the order. Only some are are ordered with respect to one another. With these partial order plans a total order plan can be derived by adding ordering contraints. These total order plans are obtained, which is called a linearization of the partial order plan. This "partial order plan is a solution to a planning problem if and only if every consistent linearization of the partial oreder plan meets the solution conditions."Joe Zumpella

Partially-ordered Plans order only some steps with respect to other steps. Total-order plans can be derived from these by adding ordering constraints, this is called linearization.
Elizabeth Zehner


  • The authors propose a testing technique that can automatically generate test cases for GUIs. These tests are composed of certain events. What are the GUI events that they can generate?
Given a set of initial states and goal states, the authors' tool finds a path between these states by generating a sequence of events. Normal a user causes these events to occur by interacting with the components of a GUI. These events are caused by selecting menu options or mouse clicking on buttons in the GUI. Examples of events are File - Open and Edit - Copy.

  • What is a planner? How can a planner to applied to the problem of automatically generating test cases for GUIs?
A planner (given an initial state, a goal state, a set of operators, and a set of objects) returns a set of steps (instantiated operators) to achieve a goal. This is "valuable for GUI test case generation as GUI's typically have a large number of components and events and the use of [hierarchical planning] allows us to conceptually decompose the GUI into different levels of abstraction, resulting in greater planning efficiency." Planners are also useful because they allow the tester to predict likely paths that a user may take. Such as File Open - Write text, Delete text - File Save.

  • What is a partial-order plan? What does it mean to linearize a partial order plan?
A partial order is an order where not all steps of the plan are ordered with respect to one another. Linearization of a partial order is the any linear ordering of the steps of the partial order in a way consistent with the ordering constraints of the plan.

Dan Fiedler


Link to this Page