Grafische Bedienoberflächen

Meinrad Happacher,

Funktionstests automatisiert - das Projekt Attest

Beim Funktionstest automatisierungstechnischer Produkte erfolgt die Interaktion mit grafischen Bedienoberflächen meist manuell, was zu hohem Personal- und Zeitaufwand führt. An der TU München entstand im Rahmen des Verbundforschungsprojekts „Attest“ eine Lösung zur effizienten Automatisierung dieser Aufgabenstellung.

Umfangreiche PC-basierte Softwaretools zur Parametrierung, Konfiguration und Programmierung sind bei Produkten wie beispielsweise einem elektrischen Antrieb nicht mehr wegzudenken. Mit Hilfe der Tools kann der Kunde das Produkt optimal integrieren und auf seine konkrete Aufgabenstellung hin anpassen. Dies erfordert jedoch vom Anbieter dieser Produkte neben dem Test des eigentlichen Produkts den Test des dazugehörigen Software-Tools, welches über eine grafische Bedienoberfläche bedient wird. Deren ständige Weiterentwicklung, eine Vielzahl von Produkt-Varianten und Einstellmöglichkeiten sowie notwendige Regressionstests nach einer Fehlerbehebung, bedingen einen hohen wiederkehrenden Testbedarf. Eine Automatisierung der Testdurchführung kann hierbei helfen, die vielen unverzichtbaren Testläufe zügig abzuarbeiten.

Die Schwierigkeit ist allerdings, dass die grafische Bedienoberfläche auf eine manuelle Bedienung und nicht auf den Zugriff durch ein technisches System ausgelegt ist. Um eine durchgängig automatisierte Testdurchführung zu ermöglichen, muss ein entsprechendes Werkzeug also die Aktionen des menschlichen Bedieners nachbilden. Dazu gehören sowohl die Eingaben des Benutzers als auch die Erfassung der über die Bedienoberfläche angezeigten Informationen. Folgende verbreitete Ansätze werden bis dato verfolgt, um die gestellte Aufgabenstellung zu lösen:

Capture & Replay

Der Ansatz basiert auf der Aufzeichnung von Benutzereingaben, die anschließend beliebig oft automatisch abgespielt werden können. Nachteil ist: Bei einer Veränderung des zeitlichen Ablaufs oder der Bildschirmauflösung klicken diese Tools meistens „ins Leere". Nach einer Veränderung der Bedienoberfläche müssen die Aufzeichnungen meist komplett neu erstellt werden.

Instrumentierung

Bei diesem Ansatz wird eine zusätzliche Testschnittstelle in das Softwaretool integriert. Dadurch ist ein robuster Zugriff sichergestellt. Die Bedienung erfolgt dabei jedoch nicht mehr direkt über die Bedienoberfläche, was die Aussagekraft des Tests vermindert. Der Aufwand zur Pflege dieser Schnittstelle ist zudem nicht zu vernachlässigen.

Skriptbasierte Tools

Diese Tools ermöglichen in Abhängigkeit der verwendeten Umsetzungstechnologie der Bedienoberfläche (Windows Forms, HTML) einen robusten Zugriff auf die zu bedienende Benutzeroberfläche. Der Nutzer dieser Tools implementiert die Ablaufskripten, welche die Bedienhandlungen des menschlichen Bedieners widerspiegeln. Wesentlicher Nachteil dieses Ansatzes: Ein hoher Implementierungsaufwand zur Erstellung und Pflege der Skripten.

Anzeige

Ein neuer Lösungsansatz

Im Gegensatz zu den vorherigen Ansätzen vollzieht die von der TU München vorgestellte Lösung eine klare Trennung unterschiedlicher Aufgabenaspekte, die durch den Benutzer beim Funktionstest durchzuführen sind (Bild).

Der neue Lösungsansatz zur Bedienung grafischer Benutzeroberflächen mit den vier wesentlichen Aufgaben.

© itm

Zugriff

Diese Aufgabe umfasst die eigentliche Interaktion zwischen dem Bediener und den Bedienelementen der grafischen Benutzeroberfläche. Dazu gehört beispielsweise die Eingabe einer Zeichenfolge in ein Textfeld oder die Erfassung des Wertes einer Anzeige. Bedienelemente dienen als Übertragungsobjekte von Informationen zwischen dem Bediener und der grafischen Bedienoberfläche. Sie übertragen die Informationen durch die Werte ihrer Attribute (beispielsweise Farbe, Text, Form). Die Wahl der Bedienelemente hängt neben deren möglichen Attributen zur Informationsübertragung von der Implementierungstechnologie sowie von Ergonomie- Aspekten ab. So stehen beim Entwurf der Bedienoberfläche meist mehrere mögliche Bedienelement-Typen zur Übertragung einer Information bereit. Beispielsweise können sowohl eine Text- als auch eine Combo-Box zur Übertragung einer Zeichenkette dienen.

Zur Abstraktion des konkreten Bedienelements wurde eine einheitliche Schnittstelle zur Übertragung von Informationen in Form von Sende- und Empfangsfunktionen definiert. Sind diese Funktionen einmal für die entsprechende Umsetzungstechnologie (zum Beispiel Windows Forms) implementiert, lassen sie sich bei jeder anderen Bedienoberfläche gleicher Umsetzungstechnologie wiederverwenden.

Dialognavigation

Da nicht alle Bedienelemente gleichzeitig zur Anzeige kommen können, ist eine Vielzahl untereinander gekoppelter Fenster notwendig. Daher muss der Bediener zwischen den Fenstern navigieren, um die relevanten Eingaben tätigen zu können. Zur Bereitstellung der Navigationsfunktion wurde ein modellbasierter Ansatz gewählt. Dabei ist die Struktur der Bedienoberfläche in einem Modell abgebildet. Dieses beinhaltet alle Fenster und deren Bedienelemente sowie die notwendigen Aktionen, um von einem Fenster zum anderen zu kommen. Die Modellierung des Dialogs in Form eines Graphen ermöglicht eine autonome Navigation während der Testfall-Durchführung. Ist das aktuell relevante Bedienelement nicht im aktiven Fenster, kann unter Verwendung des Modells automatisch ein Navigationspfad abgeleitet und ausgeführt werden.

Systemfunktionen

Eine Systemfunktion umfasst alle Eingaben und zu erfassenden Ausgaben zur Durchführung einer elementaren Bedienaufgabe. Zum Schreiben eines Parameterwertes ist dazu beispielsweise zunächst der Wert in ein entsprechendes Textfeld einzugeben und anschließend durch die Betätigung einer Schaltfläche zu bestätigen. Die entsprechenden Funktionen werden als Skripten implementiert und können als elementare Funktionen vom Testfall aufgerufen werden.

Testfalldurchführung

Eigentliches Ziel des Benutzers ist die Durchführung eines Testfalls. Der Testfall beschreibt aus Sicht der Anwendung die Reihenfolge der notwendigen Bedienschritte unabhängig von der Realisierung der Bedienoberfläche. Beim Grenzwerttest eines Parameters umfasst der Testfall beispielsweise die Eingabe eines gültigen Parameterwertes, die Abfrage ob der Wert richtig geschrieben wurde, die anschließende Eingabe eines ungültigen Parameterwertes und die Erfassung der erwarteten Fehlermeldung.

Die Ablaufstruktur zur Vorbereitung und Durchführung der Tests.

© itm

Der beschriebene Lösungsansatz wurde unter Verwendung existierender Technologien für Windows-Forms-basierte Bedienoberflächen umgesetzt und evaluiert (linkes Bild). Als Testautomat zur Durchführung der Testfälle kam MoTest zum Einsatz. Dieses Werkzeug ermöglicht die Ausführung von Testfällen in der Skriptsprache TCL. Zur Ausführung der Systemfunktionen sowie der autonomen Navigation wurde ein entsprechendes Software-Modul erstellt und integriert.

Für den Zugriff auf die Bedienelemente der Benutzeroberfläche kommt das Werkzeug „AutoIt" zum Einsatz, das ebenfalls in die Toolkette integriert ist. AutoIt ermöglicht durch eine umfangreiche Funktionsbibliothek einen komfortablen und robusten Zugriff auf die Bedienelemente der Umsetzungstechnologie Windows-Forms. Zudem wurde ein Werkzeug erstellt, das den Tester in der Phase der Testvorbereitung bei der Erstellung der notwendigen Funktionen und Modelle unterstützt: Ein AutoIt-Editor ermöglicht die Implementierung der Interaktor-Methoden zur Realisierung des Zugriffs auf Bedienelemente der Benutzeroberfläche. Die Erstellung der statischen Struktur des Dialogmodells erfolgt anhand einer toolgestützten Identifikation der relevanten Bedienelemente der automatisiert zu bedienenden Applikation. In einem grafischen Editor wird das dynamische Verhalten durch die Definition der Transitionen ermöglicht. Ein TCL-Editor lässt die Implementierung der Systemfunktionen zu.

Die Ergebnisse

Die Evaluierung anhand verschiedener Parametrierwerkzeuge ergab folgende Ergebnisse:

  • Die Implementierung der Zugriffsmethoden ist einmalig für eine Zugriffstechnologie umzusetzen und kann ohne Einschränkungen wiederverwendet werden.
  • Da die Testfälle keine Spezifika der Bedienoberfläche abbilden, sind sie sehr übersichtlich und kompakt. 
  • Die Systemfunktionen sind ebenfalls rasch und einfach zu implementieren, da die Navigationsschritte autonom durchgeführt werden.
  • Wegen der konsequenten Trennung von Testfall und Bedienung der Bedienoberfläche hat eine Änderung derselben (beispielsweise Anordnung der Bedienelemente, Veränderung der Fensterstruktur) keine Auswirkungen auf die Testfälle. Die Änderung kann aufwandsarm im Modell vorgenommen werden.

Autoren:
Bernhard Kausler ist wissenschaftlicher Mitarbeiter am Lehrstuhl für Informationstechnik im Maschinenwesen (itm) der TU München.

Dr. Rainer Stetter ist Geschäftsführer der ITQ und Software Factory. Als Mechatronik-Spezialist engagiert er sich in mehreren Verbänden zum Thema.

  • Xing Icon
  • LinkedIn Icon
Anzeige
Anzeige

Das könnte Sie auch interessieren

Anzeige
Anzeige
Anzeige

Videc

Predictive Maintenance ohne Hype

Predictive Maintenance ist zu einem Hype-Thema geworden und gilt als maßgeblich in der digitalen Transformation der Industrie. Wann sie sich wirklich lohnt, erläutert Tim Brexendorf, Geschäftsführer von Videc Data Engineering, in einem Expertipp.

mehr...
Anzeige

Check Point

Plattform für KI-Sicherheit in Unternehmen

Check Point Software Technologies hat 'Check Point AI Defense Plane' vorgestellt. Diese einheitliche KI-Sicherheitssteuerungsebene unterstützt Unternehmen dabei, die Vernetzung, Bereitstellung und den Betrieb von KI im gesamten Unternehmen zu...

mehr...

Cenit

Martin Thiel folgt auf Peter Schneck

Peter Schneck, Chief Executive Officer (CEO) von Cenit, hat sein Mandat als Vorstandsvorsitzender im Einvernehmen mit dem Aufsichtsrat zum Ablauf des 30. April 2026 niedergelegt. Neuer Vorstand und CEO ist mit Wirkung zum 1. Mai 2026 Martin Thiel,...

mehr...
Anzeige
Anzeige
Anzeige

Praxisforum für die Produktion

IT/OT Integration Summit

Die Digitalisierung der Produktion ist längst kein Zukunftsthema mehr – sie passiert genau dort, wo IT und OT aufeinandertreffen. Doch wie gelingt diese Integration in der Praxis? Genau darauf gibt der IT/OT Integration Summit am 24. Juni 2026 in...

mehr...
Jetzt Newsletter abonnieren