Kochrezepte für Testautomatisierung – Wie muss ein richtiges (Test-) Rezept aussehen?

Abbildung 1: Kochrezept für Testautomatisierung

In den beiden vorhergehenden Themen „Zutaten und Küchengeräte für Testomaten und wer ist der Koch“ sowie „Testomaten auf Datensalat an Stressing“ habe ich darüber berichtet, welche Voraussetzungen für die Testautomatisierung gegeben sein müssen und welche Herausforderungen bei den Testdaten gemeistert werden müssen, um erfolgreich Automatisierung einzusetzen. Doch nun stellt sich die Frage, wie denn das Rezept, also ein Testfall für die Testautomatisierung, aussehen muss.

Dazu betrachten wir erst einmal ein typisches Kochrezept. Es besteht im Wesentlichen aus zwei Abschnitten, der Aufzählung der Zutaten (Testdaten) und der Beschreibung, in welcher Reihenfolge die Zutaten verarbeitet werden müssen. Die Beschreibung enthält dann sowohl die Schritte, die zur Zubereitung des Rezepts notwendig sind als auch die Erwähnung der Zutaten aus der Zutatenaufzählung. Nun haben auch Kochrezepte eine unterschiedliche Detailtiefe, je nachdem für wen die Rezepte bestimmt sind. Für den gelernten Chefkoch sind die Rezepte oft weniger detailliert, da der Koch bereits gewisse Arbeitsabläufe kennt und diese nicht näher beschrieben werden müssen. Rezepte für den Privathaushalt oder gar für einen Kochanfänger müssen da schon anders aussehen. So ist das auch bei den Testfällen. Für den Tester mit entsprechendem Domainwissen über die Fachlichkeit seiner Anwendung können die Testfälle weniger detailliert ausfallen. Wie ist das aber für einen Automaten? Dazu vergleichen wir hier einen Bäcker mit einem Brotbackautomaten. Für den Bäcker reicht das Rezept: Backe mir ein Roggenbrot. Für den Backautomaten ist eine genaue Rezeptbeschreibung notwendig – die Reihenfolge, wie die Zutaten in den Automaten gefüllt, welches Programm und welche Temperatureingestellt werden müssen usw.

Da wir in der Qualitätssicherung nicht nur ein Rezept bzw. einen Testfall haben, möchten wir uns jedoch die Arbeit etwas vereinfachen. So wie in der Großküche werden auch wir Vorbereitungen treffen, die uns später die Arbeit erleichtern. Während in der Küche z.B. die Salatbeilage für mehrere Gerichte verwendet wird, werden auch in der Testfallerstellung wiederverwendbare Testfallblöcke erstellt. Dazu werden mehrere Testschritte zusammengefasst und als Testschrittblock zur Wiederverwendung gespeichert. Dieses Verfahren kann sowohl beim manuellen Testen als auch in der Testautomatisierung angewendet werden. Der Unterschied liegt hier jedoch wieder in der Detailtiefe, d.h. dort, wo für das manuelle Testen ggf. eine geringe Detailtiefe ausreichend ist, wird für den Automaten immer die maximale Detailtiefe benötigt.

Abbildung 2: Brot backen

VS.

Abbildung 3: Testfallerstellung

Der Testautomat ist ja so gesehen eigentlich der schlechteste Koch der Welt. Er würde auch das Wasser anbrennen lassen, wenn wir ihm nicht sagen würden, dass der Topf vom Herd muss, wenn das Wasser blubbert. Aber warum benutzen wir dann überhaupt Testautomatisierung? Nun, der Testautomat hat einige wesentliche Vorteile: Ein Koch kann auch mal eine Zutat vergessen oder bei der Abarbeitung des Rezeptes variieren. Das Ergebnis ist dann nicht jedes Mal das gleiche Gericht. Der Automat vergisst hier nichts und hält sich immer an die vorgegebene Reihenfolge des Rezepts. Doch der größte Vorteil des Testautomaten ist die Geschwindigkeit, mit der er die Testfälle durchführen kann. Der Koch benötigt außerdem auch mal eine Pause. Würden wir uns so einen Automaten in der Küche vorstellen, bekämen wir sinnbildlich eine Gulaschkanone, die im Sekundentakt alle möglichen Rezepte abarbeitet und dessen Ergebnis auf den Teller schießt.

Das klingt für die Testautomatisierung sehr verlockend, dabei müssen jedoch immer wieder der Aufwand und der Nutzen ins Verhältnis gesetzt werden. Der Aufwand, so einen Automaten mit den perfekt designten Testfällen (Rezepten) zu füttern, wird oft unterschätzt: Wenn ich nur einmal im Jahr eine Geburtstagsfeier mit zehn Gästen habe, lohnt sich ein Kochautomat sicher nicht. Habe ich dagegen ein Eventunternehmen, welches jeden Tag eine ganze Hochzeitsgesellschaft à la Carte versorgen muss, ist so ein Automat definitiv eine Überlegung wert.

Jan Moßler ist Fachinformatiker und arbeitet als Testmanager und Kompetenzcoach Qualitätsmanagement für die Saxonia Systems AG, Dresden. Er hat in den letzten Jahren in klassischen und agilen Projekten unterschiedlicher fachlicher Domänen (Banken, Industrie, Energie, …) Qualität gesichert und Software getestet.

Skype Xing