GUI Testing

Revision as of 15:24, 1 November 2006 by Juliant (Talk | contribs) (Overview)


Overview

In GUI Testing one wants to assert certain properties of a graphical application, the application under test (AUT). Certain problems arise in this area:

  • Test case generation
    To generate a test case one has to specify the user interaction with the AUT and the properties that have to be checked.
  • Test case execution
    To verify the test case, the AUT has to be executed as if the user would issue the commands. During the execution the properties and assertions defined for the test have to be checked.
  • Level of testing
    GUI Testing can occur on multiple levels: From high level (did an issued action do the right thing) to low level (did the popup-menu appear at the right position and with the right font).
  • Regression testing
    Depending on the type of GUI testing, even small layout changes in the AUT break the available tests.

Capture & Replay

To address the problem of test case generation, event capturing can be used. In this approach, the tester performs the desired test manually while a capturing tool records all events which occured. Into this sequence of events the tester then inserts assertions at the desired position.

The test case can then be run which sends the recorded event sequence to the AUT and checking if the current execution state of the AUT matches with the assertions.

To have some sort of protection against layout changes, caputred events should not just depend on the mouse position but also on the underlying widgets. This means that the action is not issued on a position but on a (somehow identified) widget and thus is not affected when the widget changes position.

See GUI Capture for a discussion about the capturing part.

See GUI Testing/Test Case generation for a discussion about how to specify the test case.

See GUI Replay for a discussion about test case execution.