This is a GUI Testing Tool and concept to automatically analyse and test any GUI with a model based approach. This is the final thesis for my academic studies.


Testing Graphical User Interfaces (GUI) is done very differently in commercial and academic environments. In commercial environments GUIs are tested with the simple and convenient Capture and Replay method. Academically developed GUI test methods use powerful but inconvenient model based approaches on the other hand.

My approach combines both methods to a convenient but powerful GUI testing method. The basic idea is the following:

GUI Test Diagram Overview

  1. The user executes example sequences on a GUI
  2. A Model of the GUI is Generated
  3. Test Sequences on the Model are Automatically generated
  4. The Test Sequences are automatically executed on the GUI

The GUI Models stay compact and clear because they use hierarchies and orthogonality.

A systematic combinatorial approach generates the Test Sequences. This keeps the sequences complete but lean.


Convenient but Powerful GUI-Testing • Capture-&-Replay Approach • Model Based • Systematic Test Sequence Generation • Automatic Model Generation • User Friendly GUI Models • Complete but Compact Test-Sequences • Test Arbitrary GUIs


As part of my final thesis I also developed a prototype. The prototype is a Plugin for the commercial testing tool TESTONA. You can see it in action here:

Technologies & Methodologies


Languages: UML • Java • C++ • XML • XSD

Models and Methodologies: Statecharts • Capture-and-Replay • Classification Tree Method • Widget Trees

Libraries & Frameworks: Eclipse RCP • EMF • OSGI • Graphiti • JNativeHook • FRUIT

Automated Testing: JUnit

IDE: Eclipse


This was a self organized project as an employee in the Berner & Mattner enterprise.

To realize this project I worked together with many other teams. I modified and integrated parts of their work into my GUI Testing Tool.


I released a scientific paper   as part of this project. I also released the final thesis  and the final presentation  (in german).