Gui Testing

gui example
example of a graphic user interface
In computing, a graphical user interface (GUI, sometimes pronounced gooey) is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and office equipment. A GUI represents the information and actions available to a user through graphical icons and visual indicators such as secondary notation, as opposed to text-based interfaces, typed command labels or text navigation. The actions are usually performed through direct manipulation of the graphical elements [1]



  • GUIs make software easy to use, understand and learn
  • GUIs can constitute as much as 60% of an application’s total code
    • Difficult to develop and to test!

GUI Testing challenges

GUIs make systems testing more difficult for many reasons:
  • GUI changes break the tests
    • Most early test failures are due to GUI changes
    • May need to wait for GUI ‘stabilization’
  • State space and test case explosion
    • Many ways in/out: multiple ways (mouse, keyboard,…) to achieve the same goal
  • Observing visible (and invisible) GUI states/properties
    • GUI Maps
  • Event-driven nature of GUIs
    • Unsolicited events
[1] Gui definition freely adapted from Wikipedia®