User Interface Testing


What is User Interface Testing?

User interface testing, a testing technique used to identify the presence of defects is a product/software under test by using Graphical user interface [GUI].

GUI Testing - Characteristics:

  • GUI is a hierarchical, graphical front end to the application, contains graphical objects with a set of properties.

  • During execution, the values of the properties of each objects of a GUI define the GUI state.

  • It has capabilities to exercise GUI events like key press/mouse click.

  • Able to provide inputs to the GUI Objects.

  • To check the GUI representations to see if they are consistent with the expected ones.

  • It strongly depends on the used technology.

GUI Testing - Approaches:

  • Manual Based - Based on the domain and application knowledge of the tester.

  • Capture and Replay - Based on capture and replay of user actions.

  • Model-based testing - Based on the execution of user sessions based on a GUI model. Various GUI models are briefly discussed below.

Model Based Testing - In Brief:

  • Event-based model - Based on all events of the GUI need to be executed at least once.

  • State-based model - "all states" of the GUI are to be exercised at least once.

  • Domain model - Based on the application domain and its functionality.

GUI Testing Checklist:

  • Check Screen Validations

  • Verify All Navigations

  • Check usability Conditions

  • Verify Data Integrity

  • Verify the object states

  • Verify the date Field and Numeric Field Formats

GUI Automation Tools

Following are some of the open source GUI automation tools in the market:

ProductLicensed UnderURL
Dojo ToolkitBSD

Following are some of the Commercial GUI automation tools in the market.

Rational Functional TesterIBM
SikuliMicro Focus International