Maskenorientiertes Testdesign zur GUI-Automatisierung

Inhaltsübersicht:

Welche Vorteile ergeben sich aus dem maskenorientierten Testdesign?

Die Programmierer der AKs benötigen keinerlei Fachwissen über die Anwendung:

  • Lediglich alle Maskenelemente der jeweiligen Maske müssen erreichbar sein.
  • Die Umsetzung kann verhältnismäßig „stumpf“ durchgeführt werden, da in der Regel keine logischen Bestandteile beachtet werden müssen.

Jede Maske wird nur ein einziges Mal implementiert:

  • Wenn sich eine Änderung am Maskendesign einer Maske ergibt, betrifft es immer nur eine AK.
  • Wird die AK entsprechend angepasst, sind alle Testfälle, die diese AK verwenden, wieder vollständig einsatzfähig.
  • Beschränkt sich die Änderung auf eine Erweiterung der ursprünglichen Maske, so sollten die bisherigen Testfälle überhaupt nicht betroffen sein.

Die Testfälle selbst können:

  • ohne Programmierkenntnisse allein von den Fachleuten für die Anwendung entworfen werden. Nur das Framework zur Zusammenstellung der Testfälle muss bedient werden können.
  • direkt aus der Anforderungsbeschreibung eines Ablaufs abgeleitet werden, die eigentliche Anwendung muss zu diesem Zeitpunkt noch nicht vorliegen. So wird ein Testfirstansatz auch für Blackbox-Tests auf GUI Ebene realisierbar.

Die mit den Testfällen dargestellte Testabdeckung wird berechenbar:

  • Da bei einem Testfall jede AK als Knoten in einem Ausführungsgraphen und die Befehle der Mikrosteuerung als Bedingungen der Knoten aufgefasst werden können, ergibt sich ein klassischer Kontrollflussgraph mit allen Berechnungsmöglichkeiten wie er aus Whitebox-Tests bekannt ist.

Die Implementierung der Automatisierung ist begrenzt. Sind alle Masken durch AKs erfasst, so ist die technische Umsetzung der Automatisierung vollständig und abgeschlossen. Die Menge der darstellbaren hingegen Testfälle ist unbegrenzt, da die AKs immer wieder anders zusammengesetzt und mit anderen Daten sowie unterschiedlichen Aktionen aufgerufen werden können.

Aus meiner Sicht bietet eine konsequent an den Masken und Bedienelementen von GUI-Anwendungen ausgerichtete Strukturierung der Testautomatisierung erfolgversprechende Lösungen zu den üblichen Problemen der GUI-Automatisierung an.