Zum Inhalt springen

Keyword-Driven Testing

Keyword-Driven Testing

Was ist Keyword-Driven-Testing?

Keyword-Driven Testing nutzt wiederverwendbare Bausteine, sogenannte Keywords, um Testfälle zu erstellen. Diese Keywords bilden eine leicht erlernbare Sprache, die Fachexperten, Tester und Automatisierungsingenieure verbindet. Jeder Baustein steht für einen klar definierten Testschritt, was die Verständlichkeit der Testfälle und die Zusammenarbeit im Team erleichtert. So entsteht ein gemeinsamer Sprachwortschatz für spezifische Domänen und Anwendungsbereiche.

Herausforderungen beim Automatisieren von Tests

Beim Definieren und Spezifizieren von Tests stehen Testverantwortliche vor mehreren Herausforderungen:

Abstraktionsniveau der Testfälle

Die Kunst besteht darin, Testfälle so zu gestalten, dass sie einerseits für nicht-technische Stakeholder verständlich und andererseits technisch präzise genug für die Umsetzung sind. Diese Balance ist schwer zu erreichen.

Wiederverwendbarkeit von Testschritten

In der traditionellen Testfall-Spezifikation führen ähnliche oder identische Testschritte zu redundanten Einträgen. Dies erschwert nicht nur die Wartung, sondern erhöht auch die Fehleranfälligkeit.

Unabhängigkeit von der Implementierung

Testfälle, die eng an die Implementierungsdetails einer Applikation gebunden sind, erfordern bei Softwareänderungen häufig umfangreiche Anpassungen.

Vorgaben für die Testautomatisierung

Damit Testfälle als Grundlage für die Automatisierung dienen können, müssen sie sehr präzise definiert sein. Gleichzeitig dürfen sie ihre Lesbarkeit für Menschen nicht verlieren.

Vorteile von Keyword-Driven Testing

Keyword-Driven Testing bietet zahlreiche Vorteile, die sowohl die Effizienz als auch die Qualität der Tests verbessern:

Wann ist Keyword-Driven Testing zu empfehlen?

Keyword-Driven Testing eignet sich besonders gut für System- oder Akzeptanztests, bei denen sowohl technische Präzision als auch eine abstrakte Dokumentation gefragt sind.

Einsatzgebiete:

Testfälle, die häufig wiederholt oder angepasst werden müssen.

Projekte, in denen eine enge Zusammenarbeit zwischen Fachabteilungen und Technik erforderlich ist.

Automatisierungsprojekte mit hohem Anspruch an Effizienz und Wartbarkeit.


Durch die einfache Lesbarkeit der Testspezifikationen und die Möglichkeit, eine hohe Automatisierungsabdeckung schnell zu erreichen, ist Keyword-Driven Testing eine vielseitig einsetzbare Methode.

Wie funktioniert Keyword-Driven Testing mit TestBench?

TestBench ist ein Werkzeug, das die praktische Anwendung von Keyword-Driven Testing unterstützt. Keywords werden als Testschritte definiert und zentral verwaltet.

Zentrale Funktionen von TestBench:

  • Testelementesicht: Hier werden Keywords erstellt und organisiert. Sie können in Testsequenzen integriert und mehrfach verwendet werden.
  • Parameter und Daten: Jedes Keyword kann Parameter enthalten, die flexibel angepasst werden können. Dadurch entstehen dynamische und wiederverwendbare Tests.
  • Versionierung: Änderungen an Keywords werden zentral verfolgt, um Fehler durch unabsichtliche Anpassungen zu vermeiden.
Testablauf aus Keywords
Einfache Sequenz ohne Parameter

Die Abbildung zeigt einfache Testsequenz ohne Parameter. Beispielhaft werden Testabläufe eines Tests aus einzelnen Keywords wie dargestellt zusammengesetzt.

Keyword mit Beschreibung
Präzise dokumentieren, was passiert

Ein Keyword aus der gezeigten Testsequenz kann nicht nur seinen Namen, sondern auch eine Beschreibung enthalten, um Details präzise zu erfassen.

Verwendungsnachweis
Alle Keyword-Aufrufe im Blick

Wird ein Keyword in einer Testsequenz aufgerufen, entsteht automatisch eine Liste aller Aufrufe – der sogenannte Verwendungsnachweis. In der Abbildung ist ein Verwendungsnachweis dargestellt, der ausschließlich Testfallsätze umfasst.

Parameter im Keyword
Daten flexibel steuern

Beim Spezifizieren von Tests ist es sinnvoll, den Ablauf und die darin verwendeten Daten voneinander zu trennen. Dies ermöglicht es, notwendige Werte als Variablen zu verwenden. Deshalb kann jedes Keyword in TestBench beliebig viele Parameter enthalten. In der Abbildung ist eine Testsequenz mit Parametern dargestellt.

Individuelle Parameterlisten
Maßgeschneidert pro Testsequenz

Dies ermöglicht es, für jede Testsequenz eine individuelle Parameterliste festzulegen. Die Abbildung zeigt ein Beispiel für eine solche Liste.

Testfalltabelle
Werte pro Durchlauf klar definiert

Damit entsteht ein Test, der aus einer Testsequenz und der zugehörigen Parameterliste besteht. Die Werte für die Parameter werden in einer Tabelle hinterlegt, wobei jede Zeile einen Datensatz für einen spezifischen Durchlauf der Testsequenz repräsentiert. In der Abbildung ist eine Testfalltabelle zur Parameterliste dargestellt.

Ein Test, viele Fälle
Durch Datenzeilen skalierbar

TestBench setzt sich ein Test aus einer Testsequenz, der dazu passenden Parameterliste und einer Datentabelle mit den einzusetzenden Werten zusammen. Dadurch entsteht nicht nur ein einzelner Testfall, sondern ein ganzer Satz von Testfällen. Jeder Testfall kombiniert die Testsequenz, die Parameterliste und eine spezifische Datenzeile aus der Datentabelle. Ein zusätzlicher Testfall kann mühelos durch das Hinzufügen einer weiteren Zeile in der Datentabelle erstellt werden. Die Abbildung zeigt eine Testsequenz mit Parameterliste und einem Datensatz aus der Testfalltabelle.

Wie werden die Testdaten verwaltet?

In TestBench werden Testdaten über Datentypen organisiert. Diese bündeln Werte desselben fachlichen Typs, z. B. Fahrzeugnamen oder Sondermodelle, und dienen als Parameter für Keywords. Beim Aufruf eines Keywords wird der Parameter mit einem passenden Wert des zugehörigen Datentyps übergeben. Keywords können, ähnlich wie Testfälle, mehrere Parameter verwenden, was die Verwaltung und Flexibilität komplexer Tests erleichtert.

TestBench integriert außerdem Data-Driven Testing nahtlos in das Keyword-Driven Testing, wie es die ISO 29119-5 empfiehlt.

Wie können Tests noch verständlicher werden?

Lange Keyword-Sequenzen können das Erfassen der Testidee erschweren. TestBench bietet dafür eine Lösung: Keywords können eigene Testsequenzen enthalten. So lassen sich mehrere Schritte in einem neuen Keyword zusammenfassen, wodurch die Testsequenz verkürzt und der Testinhalt übersichtlicher wird.

Diese Abstraktion erleichtert das Verstehen komplexer Tests, ohne Details zu verlieren. Durch zusätzliche Abstraktionsstufen können selbst lange End-to-End-Tests nachvollziehbar gestaltet werden, während der notwendige Detailgrad für die Testdurchführung erhalten bleibt.

Warum Keyword-Driven Testing für Automatisierung?

Effizienz: Automatisiert werden nur einzelne Keywords, wodurch der Aufwand konstant bleibt.

Flexibilität: Änderungen an fachlichen Vorgaben sind einfach umsetzbar.

Reduktion technischer Komplexität: Fachliche Details können auf einer höheren Abstraktionsebene dargestellt werden, während technische Details in untergeordneten Keywords bleiben.

Eine detaillierte Erklärung findest du auf der Seite Testautomatisierung.

Warum Keyword-Driven Testing für manuelles Testen?

Auch bei manuellen Tests zeigt Keyword-Driven Testing seine Stärke:

Einfachere Testspezifikation

Testabläufe sind durch die Verschlagwortung schnell erfassbar und übersichtlich dargestellt.

Konsistenz und
Qualität

Tests werden unabhängig von der Erfahrung der testenden Person konsistent durchgeführt.

Geschwindigkeit

Die Testdurchführung kann um bis zu 40 % schneller erfolgen, da der Fokus auf die eigentliche Testdurchführung statt auf das Verständnis der Spezifikation gerichtet wird.


Dieses Vorgehen verbessert nicht nur die Effizienz, sondern auch die Reproduzierbarkeit und Zuverlässigkeit der Testergebnisse.

Weitere Informationen zur Testdurchführung findest du auf der Seite Testdurchführung sowie im Blogbeitrag Weniger Mühe, mehr Effizienz: Der Assistent iTORX

Deine Fragen – unsere Antworten

Hast du Fragen zu Keyword-Driven Testing oder suchst du Unterstützung bei der Optimierung deiner Testprozesse? Unsere Expert:innen stehen dir gerne zur Verfügung. Kontaktiere uns, und wir helfen dir dabei, deine Teststrategien effizient und erfolgreich zu gestalten.