Entscheidungstabellentest

Die Entscheidungstabellentechnik wird im Buch Basiswissen Softwaretest (Kapitel 5.1.4) anhand der Funktionsweise eines Geldautomaten erklärt. In Abhängigkeit bestimmter Bedingungen werden unterschiedliche Aktionen und Wirkungen erwartet.

Als Testobjekt zur Darstellung der beschriebenen Funktionsweise wird die Klasse ATM (automatic teller machine) verwendet. Die Methode process(Card card, Callback callback) simuliert den Prozess des Geldabhebens durch. Als Parameter werden die Bankkarte und eine Callback-Instanz zur Abfrage der Interaktionen mit dem Karteninhaber übergeben. Das Bankkartenobjekt Card besitzt einen Zähler für falsche PIN-Eingaben und einen internen Status.

Der Entscheidungstabellentest erfolgt durch den Unittest DecisionTableTest. Für jede Spalte der Entscheidungstabelle existiert eine eigene Testmethode.

TestmethodeKommentar
testInvalidCard() Test case 1: Ungültige Bankkarte, Karte wird abgewiesen
testCancelProcessAfterPinRequest() Test case 2: Prozess der PIN-Abfrage vom Anwender abbrechen
testConfiscateCard() Test case 3: Bankkarte nach 3x falscher PIN-Eingabe einziehen
testAmountNotAvailable() Test case 4: Eingegebene Geldbetrag ist zu hoch
testHappyDayScenario() Test case 5: Geld abheben, Prozess vollständig durchlaufen