Maik Bachmann ARRI Arnold & Richter Cine Technik GmbH & Co. Betriebs KG

Der entscheidende Punkt ist, dass man dem Tester eine Schnittstelle zur Verfügung stellt, die ihn in die Lage versetzt, seine eigenen Tests zu entwickeln.

Michael Stadler ARRI Arnold & Richter Cine Technik GmbH & Co. Betriebs KG

Das Robot Framework hat sich durch seinen Keyword-driven-Ansatz auch darin bewährt, dass der Kunde oder Tester ohne Programmierkenntnisse nachvollziehen kann, was im Test passiert.

Testautomatisierung ist heute in aller Munde. Unit-Tests sind in der Industrie bereits als Standard fest verankert. Automatisierte Blackboxtests hingegen sind oft noch nicht vollständig umgesetzt oder noch gar nicht vorhanden. Blackboxtests sind jedoch ein wichtiger Bestandteil der Softwareentwicklung, da Entwickler mit ihnen die eigentliche Funktion im Gesamtsystem überprüfen können.

Stellen wir uns vor, wir produzieren einen Schraubenzieher, der als digitale Komponente das Drehmoment anzeigt. Er besitzt eine Schnittstelle, über die man das Drehmoment auslesen kann. Des Weiteren ist bereits ein Test vorhanden, der automatisiert die Funktion des Drehmoments testet. Nun stellt sich die Frage, ob und in welchem Umfang ich meine Blackboxtests automatisieren sollte. Die einfachste Antwort darauf ist, dass alles, was mehr als einmal wiederholt wird, automatisiert werden kann. Aber ist das wirklich notwendig? Viele Ansätze der Testautomatisierung sind mit einem enormen Wartungsaufwand verbunden. So sind z. B. nur Spezialisten der Testautomatisierung in der Lage, neue Tests zu entwickeln.

Betrachten wir nochmal unseren digitalen Schraubenzieher. Die neueste Softwareversion unterstützt nun auch die Anzeige des Drehmoments in weiteren Einheiten. Im klassischen Fall müsste sich jetzt wieder ein Testautomatisierungsentwickler mit diesem Problem beschäftigen, um einen entsprechenden Test zu implementieren. Dabei kann jedoch einiges schief gehen. So sind die Anforderungen an den Test eventuell nicht klar. Das soll nicht heißen, dass der Tester nicht in der Lage ist, die Anforderungen klar genug zu formulieren, sondern vielmehr, dass es eventuell gar nicht möglich war, alle Testanforderungen zu Beginn der Testentwicklung zu kennen. Wie wahrscheinlich jeder nachvollziehen kann, endet das in einer Entwicklungsschleife. Das führt dazu, dass der Test verzögert bereitsteht. Wie kann man dieses Problem lösen? Der entscheidende Punkt ist, dass man dem Tester eine Schnittstelle zur Verfügung stellt, die ihn in die Lage versetzt, seine eigenen Tests zu entwickeln. Diese Schnittstelle muss so einfach und schnell zu begreifen sein, dass nahezu jeder damit umgehen kann.

Artikelserie

Teil 1: Automatisierte Tests mit dem Robot-Framework

Teil 2: Implementierung in Java

Unser Ansatz: Keyword-driven Testing

Zu allererst möchten wir eine der vielen Testmethoden vorstellen, die im Bereich des automatisierten Testens bei der Firma Arnold & Richter Cine Technik GmbH & Co. Betriebs KG (ARRI) Anwendung findet. Wir haben uns bereits frühzeitig für das Keyword-driven Testing entschieden. Keyword-driven Development oder Keyword-driven Testing bedeutet vereinfacht gesagt, dass Testabläufe auf ihre kleinsten Bausteine aufgebrochen und hinterher zu einem fertigen Test zusammengesetzt werden. Man versucht, jeden Testschritt in ein Keyword zu zerlegen, sodass man im Prinzip jedes Keyword und somit jeden Testschritt unabhängig verwenden kann. Keywords können wiederum aus mehreren Keywords zusammengesetzt werden, um eine logische Funktion zu kapseln. Durch dieses Vorgehen kann man einfach abstrakte Tests erstellen. Zudem erhöht es den Grad an Reproduzierbarkeit und verringert gleichzeitig den Wartungsaufwand der einzelnen Tests. Die generische Keyword-Struktur ermöglicht das einfache Wiederverwenden von Code, was Übersicht und Klarheit in die Teststruktur bringt. Der Keyword-driven-Ansatz macht, zumindest theoretisch, die Entwicklung der Keywords sowie ihre Logik unabhängig vom Testdesign und der eigentlichen Testausführung. Somit lassen sich einfach mehrere Wissenslevel von Entwicklern, Designern und Anwendern vereinen.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 9.17 - "Java EE 8"

Alle Infos zum Heft
579807479Einführung in das Keyword-driven Testing
X
- Gib Deinen Standort ein -
- or -