Keyword-Driven Testing jenseits des Hypes: Eine kritische Bestandsaufnahme

Ist Keyword-Driven Testing lediglich ein Hype-Thema oder die Zukunft im Testing-Bereich? Eine differenzierte Betrachtungsweise ist auf jeden Fall erforderlich. Eines ist aber klar: Im Umfeld von Testautomatisierung und Testmanagement bietet Keyword-Driven Testing entscheidende Vorteile.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 15 Min.
Von
  • Dominique Kaiser
Inhaltsverzeichnis

Ist Keyword-Driven Testing lediglich ein Hype-Thema oder die Zukunft im Testing-Bereich? Eine differenzierte Betrachtungsweise ist auf jeden Fall erforderlich. Eines ist aber klar: Im Umfeld von Testautomatisierung und Testmanagement bietet Keyword-Driven Testing entscheidende Vorteile.

Schlüsselwortgetriebenes Testen (KDT; Keyword-Driven Testing) ist eine Vorgehensweise, die sowohl für das manuelle als auch das automatisierte Testen geeignet ist. In den letzten Jahren lag der Fokus zumeist auf der Verwendung von KDT für automatisches Testen, aber auch beim manuellen Testen hat das Testverfahren nach wie vor seine Berechtigung. Prinzipiell wird beim KDT bestimmten (Test-)Abläufen jeweils ein eindeutiges Schlüsselwort zugewiesen. Es ist somit vor allem auch ein Vorgehen zum Dekomponieren monolithischer Testabläufe in kleinere, zumeist wiederverwendbare Teilabschnitte.

Ein Schlüsselwort lässt sich zum Beispiel für die Anmeldung an einem System oder das Starten einer Anwendung festlegen. Selbst komplexere Schlüsselwörter, die aus mehreren weiteren bestehen, können erstellt werden. Baut ein Unternehmen im Laufe der Zeit eine effiziente Keyword-Bibliothek auf, die Testbausteine für unterschiedlichste Aktionen enthält, wird damit das Erstellen von Testabläufen deutlich vereinfacht und beschleunigt.

Es gibt jedoch zahlreiche Varianten beziehungsweise Untergruppen von KDT-Verfahren, die formal nicht definiert sind und sich teilweise erheblich voneinander unterscheiden. Außerdem ist festzuhalten, dass fast jede KDT-Umsetzung in der Praxis kundenspezifisch erfolgen muss. Das heißt, es gibt keinen KDT-Ansatz nach dem Motto "One size fits all". Hinzu kommt, dass die meisten KDT-Werkzeuge auch nur einen Rahmen vorgeben, der zu füllen oder zumindest anzupassen ist.

KDT-Ansätze finden sich typischerweise im Kontext von Testmanagement und funktionaler Automatisierung, weniger verbreitet hingegen in Bereichen wie Last- und Performancetests. Im Testmanagement werden KDT-Ansätze fast ausschließlich für die Testdefinition verwendet. Dabei hat sich generell eine klare Tendenz abgezeichnet: KDT bedeutet hier häufig die Vorgabe eines klar definierten Vokabulars, das zur Definition der Testfälle zu verwenden ist. Das heißt, dass vielfach das semantische KDT dominiert. Bei der funktionalen Testautomatisierung ermöglicht der KDT-Ansatz zum einen das Erstellen leichter zu wartender Testskripte, die auch eine höhere Wiederverwendbarkeit auszeichnet, und zum anderen die Migration der oft noch zahlreichen manuellen Tests hin zu automatisierten.

Mehr Infos

KDT-Werkzeuge und -Frameworks

Von Open-Source-Techniken – das Robot Framework ist wohl am bekanntesten – bis hin zu kommerziellen Produkten existieren viele KDT-Angebote auf dem Markt. Die Mehrzahl konzentriert sich auf Keyword-Funktionen, nicht jedoch auf die technische Automatisierung von Applikationen. Es gibt aber auch einige (kommerzielle) Anbieter, die eine kombinierte Variante anbieten – diese ist allerdings häufig weniger flexibel und schwieriger auf Kundenbedürfnisse anpassbar.

Sowohl im Hinblick auf das Testmanagement als auch auf die Testautomatisierung ist es erforderlich, dass klar definierte und effiziente Schnittstellen zwischen Fachabteilungen und IT/Technik realisiert werden. Das ist vor allem deshalb von elementarer Bedeutung, da die Praxis gezeigt hat, dass das Erreichen einer hohen Akzeptanz beim Fachpersonal für den KDT-Erfolg das mit Abstand wichtigste Kriterium ist.

KDT bringt weitreichende Vorteile mit sich: So lassen sich im manuellen Testumfeld bei einem vergleichsweise geringen Aufwand einfach und schnell erste Erfolge erzielen. Im Automatisierungsumfeld ist eine potenziell deutliche Reduzierung des (technischen) Wartungsaufwands möglich – im Vergleich zur Nutzung von Testrobotern, das heißt einer "Capture and Replay"-Testautomatisierung. Das liegt daran, dass bei der Nutzung wiederverwendbarer Keywords eventuell nötige Änderungen nur beim entsprechenden Keyword erforderlich werden und nicht bei allen einzelnen Testfällen, bei denen es eingesetzt wird.

Ein zentraler Nutzen ist auch, dass eine vorhandene Automatisierung beim Übergang zu KDT nicht ungültig wird, sondern sich weiter- und mitverwenden lässt. Von elementarer Bedeutung ist aber vor allem, dass die KDT-Grundkonzepte sowohl fachabteilungs- als auch technikertauglich sind. Durch die Trennung von Testdesign und Testimplementierung wird eine bessere Arbeitsteilung und Zusammenarbeit von Testingenieuren, die Keywords erstellen, und Business-Anwendern, die Testfälle konzipieren, ermöglicht.

Eine differenzierte Betrachtungsweise erfordert aber auch ein Eingehen auf die Herausforderungen und Einschränkungen, die ein KDT-Ansatz mit sich bringt. Prinzipiell ist KDT kein Selbstläufer, sondern das Testverfahren erfordert auf jeden Fall eine entsprechende Betreuung. Das heißt, mindestens eine Person muss den "KDT-Hut" aufhaben, selbst wenn das normalerweise kein Fulltime-Job sein sollte. Und natürlich ist ein initialer Setup-Aufwand für Testdesign und -implementierung erforderlich.

Nicht übersehen werden darf, dass sich ein voller Nutzen vor allem im Bereich Testautomatisierung erst nach mehreren Monaten einstellt, falls ein KDT-Projekt völlig neu aufgesetzt wird, und dass sich mit einem KDT-Ansatz der technische Aufwand bei der Testautomatisierung niemals komplett eliminieren lässt. Nicht zuletzt muss ein Unternehmen bei der KDT-Nutzung beachten, dass die Gefahr einer Keyword-Inflation besteht. Das kann dazu führen, dass der Überblick verloren geht. Denn dann kann durchaus die Frage auftreten, ob ein Keyword bereits existiert oder ob ein neues erforderlich ist.