Neue Freiheiten durch Keyword-Driven Testing

Inhaltsübersicht:

In einer perfekten Welt erfolgt die Qualitätssicherung parallel zur Softwareentwicklung. Die Testfälle werden nach reiner Lehre schon vor dem Entstehen der Anwendung erstellt. Das sieht im realen Leben meist deutlich anders aus. Noch! Es gibt eine Methode, die diese Vision zum Leben erweckt.

Im Bereich der agilen Vorgehensmodelle haben sich in der Vergangenheit Lösungsansätze für Softwaretests entwickelt, die diese Problematik ganzheitlich angehen. Wie beispielsweise die „testgetriebene Entwicklung“.

Dieser, oft auch „Test First“ genannte Idee, setzt die Testfallerstellung strikt an den Beginn der eigentlichen Entwicklerarbeit. Bevor die Programmierer ihre Funktionen und Komponenten entwickeln, werden Softwaretests gebaut. Diese dienen als zu erfüllendes Kriterium, gegen das „anprogrammiert“ wird.

Dabei fällt eine Sache auf: Es sind meist Entwickler, die die Tests schreiben oder als Tester agieren. Das tun sie in ihrer Entwicklungsumgebung, mit ihrer Programmiersprache und ihrer Erfahrung. Tester mit fachlichem Hintergrund tun sich schwer, selbst wenn sie eine entsprechende Technik-Affinität aufweisen.

Hier kann die Methode des „Keyword Driven Tests“ Abhilfe schaffen. Erstmals 2006 in einer Master-Arbeit eines finnischen Studenten von „Nokia Siemens Networks“ genauer und mit Tool-Bezug beschrieben, stellt sie grundsätzlich eine Mittelweg zwischen Technik und Fachlichkeit dar, um Testfälle und Testszenarien zu erstellen.

Der Name der Methode weist schon auf eine zentrale Komponente des Ansatzes hin: Schlüsselwörter. Um die große Bedeutung und den Aufbau dieser Schlüsselwörter besser zu verstehen, hilft ein Ausflug in die Welt der klassischen Testallerstellung: Hierbei werden aus einer Fachspezifikation, einem DV-Konzept oder aus definierten Anforderungen klassische Testfälle erstellt.

Diese sind in der Regel:

  • statisch
  • mehr ausformulierte Prosatexte als konkrete Anweisung
  • jede neue Funktionalität bekommt einen oder mehrere Testfälle zugewiesen
  • die Testfälle sind mal mehr, mal weniger ausführlich – haben also mal einen Testschritt, mal zehn
  • Vor- und Nachbedingungen sind, wenn es gut läuft, pro Testfall festgelegt

Ein Testschritt, der die Anmeldung an einer Web-Anwendung beschreibt, sieht dann so aus: „Der Bediener gibt in das Feld ‚Benutzer‘ seine Benutzerkennung und im Feld ‚Passwort‘ sein Kennwort ein und drückt anschließend Enter oder die Login-Schaltfläche“.

Werden mehrere Szenarien im Vorfeld einer Anmeldung benötigen, bedient man sich klassischerweise Copy & Paste. Sind Änderungen an dieser Komponente zum aktuellen oder späteren Release notwendig, muss der Testfall aufwendig mehrfach geändert werden.

Auch beim „Freien Testen“ müssen die Schritte, die zum Fehler führten, in neue Testschritte „gegossen“ werden. Der Nachtest soll ja schließlich strukturiert und nach Vorgaben verlaufen. Die Dauer der Testdurchführung hängt davon ab, wie schnell man jeden Schritt gelesen und verstanden hat. Und, von einem möglichen Automatisierungsansatz Ihrer Tests sind Sie mit diesem Vorgehen sehr weit entfernt!