Zum Inhalt springen
Ein orangefarbener Adapter mit der Aufschrift „KEYWORD“ verbindet zwei quadratische Stecker mit Dokument- und Codesymbolen; darüber befinden sich die Logos von TestBench und Robot Framework, darunter in einem orangefarbenen Kasten der Titel „The Keyword is the contract“

24 September 2026

The Keyword Is the Contract – Wie die richtigen Abstraktionsebenen die Zusammenarbeit, die Wartbarkeit und die technische Flexibilität verbessern

Warum Abstraktion?

Für sauberen Code gibt es einen Grundsatz: eine Abstraktionsebene pro Funktion. Eine Funktion bleibt auf einer Detailebene, statt fachliche Logik mit der Verarbeitung einzelner Zeichenketten zu vermischen. Das macht Code lesbarer, verständlicher, wartbarer und wiederverwendbar. Auf Tests lässt sich dieser Grundsatz übertragen. Zwei Standards zeigen, wo die Abstraktion ansetzen kann.

Abstraktion 1: die Architektur der Testautomatisierung

Die Generische Testautomatisierungsarchitketur des ISTQB, beschrieben im CTAL-TAE-Lehrplan, überträgt denselben Gedanken auf die Automatisierungslösung und unterscheidet vier Ebenen:

  • Testgenerierung – Testfälle entwerfen und entscheiden, was getestet wird
  • Testdefinition – Testsuiten, Testfälle, Testdaten und die wiederverwendbare Keyword-Bibliothek
  • Testausführung – die Ausführungsumgebung für Tests, Protokolle und Berichte
  • Testanpassung – der Code, der mit den Schnittstellen des Testsystems kommuniziert

Nützlich ist das Modell durch die Trennung, die es vorgibt. Eine Änderung auf einer Ebene erzwingt selten Änderungen auf einer anderen. Wird ein Button umbenannt, betrifft das die Anpassungsebene – nicht zweihundert Testfälle. Und wenn derselbe fachliche Schritt statt über die Benutzeroberfläche über eine API geprüft wird, muss sich an der Testdefinition nichts ändern.

Die Ebenen zeigen, wo die Grenzen verlaufen. Sie erklären aber noch nicht, wie eine auf der obersten Ebene formulierte Absicht unten zu ausführbarem Code wird.

Abstraktion 2: die Testspezifikation

Die Antwort ist Keyword Driven Testing. ISO/IEC/IEEE 29119-5 beschreibt diesen Ansatz und in der zweiten Ausgabe von 2024 die Hierarchie ausdrücklich. Ganz unten stehen allgemeine technische Keywords wie „Click“, „Fill Text“ oder „Get Element States“. Daraus werden fachliche Keywords wie „Anmeldung mit Kundenkonto“ oder „Bestellung aufgeben“ zusammengesetzt. Ein Testfall besteht dann aus einer Folge fachlicher Keywords und den zugehörigen Testdaten. Wer den Fachbereich kennt, kann ihn lesen, ohne Code vor sich zu haben.

Die Hierarchie allein ist dabei nicht das Entscheidende. Sie schafft einen Vertrag: Der Name eines Keywords und seine Parameter bilden die Schnittstelle zwischen beiden Welten. Fachtester:innen können Schritte umstellen, eine Datenvariante ergänzen oder aus vorhandenen Keywords einen neuen Testfall zusammenstellen, ohne den Automatisierungscode anzufassen.

Drei hervorgehobene Abschnitte mit den Titeln „Testsequenz“, „CarConfig starten und anmelden“ und „Benutzer anmelden“ werden deutlich sichtbar angezeigt. Jeder Abschnitt listet nummerierte Schritte auf, wobei Pfeile auf die entsprechenden Codezeilen in einem Textblock auf der rechten Seite verweisen. Die Codezeilen sind nummeriert und enthalten Anweisungen wie „Benutzernamen eingeben“ und „Auf die Schaltfläche ‚Anmelden‘ klicken“. Farbige Linien verbinden die Schritte mit dem Code und veranschaulichen den Anmeldevorgang mit dem TestBench-Client sowie die Zuordnung der Testschritte zu den Codefragmenten.

Abstraktion 3: die Tools

Hier kommt der Schritt, den viele Teams auslassen: Wenn die Ebenen tatsächlich getrennt sind, muss kein einzelnes Werkzeug alle abdecken. Das ist wichtig, weil die beiden Gruppen unterschiedliche Arbeitsweisen haben. Sollen Fachtester:innen Tests in VS Code spezifizieren, arbeiten sie plötzlich in einer IDE, die , wie auch Git nicht zu ihrem gewohnten Arbeitskontext gehört. Müssen Automatisierungsentwickler:innen technische Schritte durch Klicks in einer grafischen Oberfläche implementieren, fehlen ihnen die wichitgen Grundlagen ihrer Arbeit, wie Autovervollständigung, Refactoring, Versionsverwaltung und Code-Reviews.

Deshalb sollte für jede Ebene das passende Werkzeug gewählt und anschließend eine Verbindung zwischen den Ebenen geschaffen werden. In unserem Fall deckt TestBench die Testdefinition vollständig ohne Code ab: Fachtester:innen pflegen Keywords und Testdaten in einer grafischen Oberfläche und stellen daraus Testfälle zusammen. Robot Framework und VS Code übernehmen die Implementierung: Low-Code, wo die vorhandenen Robot-Framework-Bibliotheken ausreichen, und reguläres Python in benutzerdefinierten Keywords, wo sie nicht ausreichen.

Oben ist eine mehrfarbige Infografik mit dem Titel „TestBench“ zu sehen. Das Diagramm zeigt drei horizontale Ebenen: „No-Code“, „Low-Code“ und „Code“. Der Abschnitt „No-Code“ enthält separate Felder für „Testfälle“ und „Testdaten“. Darunter umfasst der Bereich „TestBench-Keyword-definitionen“ zwei Unterebenen: „Schlüsselwörter der Geschäftsebene“ und „Keywords der Navigationsebene“. Der Abschnitt „Low-Code“ enthält „Robot-Keyword-definitionen“ sowie „Keywords der Navigationsebene“ und „Keywords der Technologieebene (Bibliotheken)“. Der unterste Abschnitt „Code“ zeigt „RF-Keywordbibliotheken“ und „Keyword der Technologieebene (Bibliotheken)“ mit einem Python-Logo. Pfeile zeigen die Beziehungen zwischen den Ebenen an.

testbench2robotframework erzeugt aus einem TestBench-Bericht Robot-Framework-Testsuiten und schreibt die Ergebnisse zurück. Die TestBench-Erweiterung für VS Code hält Keywords, Beschreibungen und Testdaten synchron. ISO/IEC/IEEE 29119-5 berücksichtigt genau diesen Fall. Der Standard definiert Anforderungen an ein gemeinsames Datenaustauschformat, damit Werkzeuge verschiedener Anbieter Testfälle, Keywords und Testdaten untereinander austauschen können. Der Austausch zwischen Werkzeugen ist kein Behelf, weil es kein passendes All-in-one-Produkt gäbe. Der Standard sieht ihn als Normalfall vor.

Wo der Ansatz an Grenzen stößt

Abstraktion gibt es nicht umsonst. Keyword-Bibliotheken wachsen. Ein ungepflegter Katalog mit Hunderten fast identischer Keywords kann schlimmer sein als gar keiner: Niemand findet das passende, also legen alle ein weiteres an. Zu kleinteilige Keywords wie „Click button“ oder „Enter text“ tragen technische Details direkt zurück in die Testspezifikation und machen den Vorteil zunichte. Die Ebenen funktionieren nur, wenn jemand die Keyword-Bibliothek verantwortet, Namenskonventionen vereinbart und durchsetzt und Keywords genauso gründlich geprüft werden wie Code. Standards liefern die Struktur. Die Disziplin, sie sauber zu halten, muss das Team selbst aufbringen.

Was das konkret bringt

Zwei Dinge: ein gemeinsames Ergebnis, das Fachtester:innen lesen und Automatisierungsentwickler:innen ausführen können. Und, weniger offensichtlich: eine gemeinsame Sprache. Im Domain-driven Design heißt das „Ubiquitous Language“: ein einheitlicher, klar definierter Wortschatz, den Fachleute und Entwickler:innen sowohl im Gespräch als auch im Code verwenden. Keyword-Driven Testing schafft eine solche Sprache gewissermaßen nebenbei. Wenn „Bestellung aufgeben“ im Review, im Testfall und als Robot-Framework-Keyword dasselbe bedeutet, müssen die beiden Gruppen nicht mehr zwischen ihren Welten übersetzen. Sie arbeiten am selben Satz.