Verknüpfung von imbus TestBench und Robot Framework

Das Robot Framework ist ein generisches Open Source Framework für die Testautomation von Akzeptanztests. Es nutzt den Ansatz des „Keyword Driven“ Tests und kann durch die Verwendung  externer Libraries an ein beliebiges Testobjekt angepasst werden. Mit dem von imbus entwickelten Testadapter (spezieller iTEP-Wrapper) kann das Framework aus der TestBench heraus auf sehr einfache Art verwendet werden. Die Verbindung dieser beiden im Markt sehr gut etablierten Werkzeuge ermöglicht dem Anwender die Umsetzung eines sehr transparenten und intuitiven Anwendungsscenarios für die Aufgabe der Testautomation. 

Workflow

Die Testfälle werden nach dem Import der jeweiligen Keyword Library in der TestBench erstellt. Dabei werden die Keywords dieser Libraries in fachliche Interaktionen geschachtelt, so dass die Testdesigner automatisch ein leicht wartbares Repository für die aufgabenbezogenen Testabläufe erstellen. Diese Tests können sich dabei mit den unterschiedlichsten Schnittstellen (GUI, SQL, WEB-Service, Filesystem, etc.) beschäftigen.  Die durchzuführenden Testfälle werden später über eine entsprechende Filterung zu einer ablauffähigen Sequenz zusammengestellt und im XML-Format exportiert. Diese exportierte Testspezifikation wird anschließend unter Verwendung der iTEP in das Robot Framework konforme Eingangsformat (Extension: .robot) gewandelt, dabei kommt ein spezieller von imbus entwickelter iTEP-Wrapper zum Einsatz.

Dieser iTEP-Wrapper führt bereits während dieses Transformationsvorganges Syntaxprüfungen durch und ist so in der Lage mögliche Spezifikationsfehler direkt zu erkennen. Als Erweiterung dieser Syntaxprüfung wird von der GUI des iTEP-Wrappers die Option des „DryRun“ zur Verfügung gestellt. Diese Option ermöglicht den kompletten Check der erzeugten Testsuiten inklusive einer Überprüfung der vollständigen Installation aller notwendigen Komponenten auf dem jeweiligen Zielsystem. 

Da zu diesem Zeitpunkt alle für die Durchführung der Tests notwendigen Informationen validiert im Filesystem vorhanden sind, kann anschließend die eigentliche Durchführung mit allen verfügbaren Optionen (Nutzung von RIDE, Aufruf über Jenkins PlugIn oder über den einfachen Aufruf per Batch) gestartet werden.

Die nach dem Testlauf existierenden Ergebnisse werden ebenfalls mit dem erstellt iTEP-Wrapper geparst und es entsteht dabei ein TestBench konformes XML- Protokollfile. Nach dem Import dieser Datei sind sämtliche Resultate der Durchführung in der TestBench verfügbar, dies umfasst auch ev. während der Testdurchführung erstellte externe Dateien (z.B. Screenshots im Fehlerfall).

Fazit

Die Zusammenführung dieser beiden Werkzeuge zu einer durchgängigen Toolkette ermöglicht es einem Testteam dynamisch auf die Herausforderungen auch in kurzen Releasezyklen zu reagieren. Gleichzeitig erfüllt die Toolkette jedoch alle Anforderungen die sich im Umfeld des Testens mit erweiterten Dokumentationspflichten oder auch speziellen Traceabilty Nachweisen ergeben können.

Für existierende Robot Framework Anwender existiert somit die Möglichkeit die „Insellösung der Testautomation“ in ein professionelles Tool für das Testmanagement einzubetten und damit in die anzustrebende Koexistenz zu den sicherlich ebenso notwendigen manuellen Testfällen zu überführen. Sowohl die Erstellung der Testfälle als auch die Festlegung der Reihenfolge ihrer Durchführung erfolgen anschließend in einer sehr übersichtlichen hierarchischen Struktur per Drag & Drop. Zusätzlich stehen dem Nutzer die Möglichkeiten der rollenbezogenen Aufgabenverteilung, der Filterung, des Reportings und auch der Versionierung innerhalb der TestBench für alle Testfälle eines Projektes zur Verfügung.

Für bestehende TestBench Kunden ergibt sich über die Integration des Robot Frameworks ein interessanter Ansatz für eine kostengünstige Lösung im Umfeld beliebiger Testautomations-anforderungen. Da bereits für viele gängige Aufgaben passende Libraries existieren und darüber hinaus beliebige eigene Keyword Libraries in Python oder Java (für Adaptionen im Umfeld von .net Anwendungen kann die Remote Library genutzt werden) erstellt werden können, steht dem TestBench Anwender das Tor zum Einstieg in die Testautomation nun weit offen…