Entscheidungstabellen helfen, wenn das Verhalten von mehreren Bedingungen gemeinsam abhängt. QA ordnet Kombinationen systematisch und erkennt, welche Regeln abgedeckt und welche noch ungetestet sind.
Wann die Methode besonders nützlich ist
- →Mehrere Eingabebedingungen bestimmen gemeinsam das Ergebnis.
- →Die in Text beschriebene Logik wird im Detail schwer nachvollziehbar.
- →Widersprüchliche oder seltene Kombinationen sind neben dem Erfolgsfall wichtig.
- →Teammitglieder könnten dieselbe Regel unterschiedlich verstehen.
Eine Entscheidungstabelle erstellen
- →Bedingungen auflisten, die das Verhalten beeinflussen.
- →Ihre möglichen Ausprägungen bestimmen: ja/nein, gültig/ungültig, Rolle A/Rolle B und so weiter.
- →Für jede sinnvolle Kombination die erwartete Aktion festhalten.
- →Unmögliche oder irrelevante Kombinationen entfernen, damit die Tabelle das tatsächliche Verhalten beschreibt.
Beispiel
Ein Checkout hängt von drei Faktoren ab: Lagerbestand, authentifizierter Benutzer und bestätigte Zahlung. Eine Entscheidungstabelle zeigt klarer als ein verschachtelter Text, wann eine Bestellung angelegt werden darf, wann eine Anmeldung erforderlich ist und wann die Operation blockiert werden muss.
Häufige Fehler
- →Jeden denkbaren Zustand aufnehmen, ohne seine Relevanz zu prüfen.
- →Unmögliche Kombinationen nicht von realen unterscheiden.
- →Systemaktionen vage und ohne konkrete Erwartungen beschreiben.
- →Eine ansprechende Tabelle erstellen, ohne ihre Regeln in ausführbare Prüfungen zu überführen.
Entscheidungstabellen verwandeln unklare Geschäftsregeln in eine transparente Entscheidungsübersicht. Sie sind besonders wertvoll in Fintech, E-Commerce, Zugriffskontrolle, Rabatten, Tarifen und Workflow-Systemen.
Ausgearbeitete Entscheidungstabelle: Mitgliederrabatt
Fiktive Regel: 10% Rabatt nur dann anwenden, wenn der Kunde Mitglied ist AND die Bestellzwischensumme mindestens 100 ganze Währungseinheiten beträgt. Sonst keinen Rabatt gewähren. Die Zwischensumme ist bereits validiert, Steuern und Versand sind ausgeschlossen und die Beispiele nutzen ganze Beträge, um keine unbestimmte Rundungsregel vorauszusetzen.
Regel Mitglied? Zwischensumme >= 100? Beispiel-Zwischensumme Rabatt Betrag nach Rabatt
R1 Nein Nein 80 0% 80
R2 Nein Ja 120 0% 120
R3 Ja Nein 80 0% 80
R4 Ja Ja 120 10% 108Zwei unabhängige boolesche Bedingungen ergeben vier Kombinationen; alle vier sind nach dieser Spezifikation möglich. Die Tabelle macht die AND-Regel deutlich: Mitgliedschaft allein reicht nicht, ebenso wenig eine hohe Zwischensumme allein. Ist eine Bedingung im echten System unmöglich, vor dem Entfernen ihrer Regel den Grund dokumentieren.
Eine Regel in einen Testfall umwandeln
Testfall DT-R4
Vorbedingungen: authentifiziertes Mitglied; Zwischensumme 120; keine weiteren Aktionen.
Aktion: Gesamtbetrag der Bestellung anfordern.
Erwartet: Rabattsatz 10%; Rabattbetrag 12; Betrag nach Rabatt 108.
Kontrollfall DT-R2: gleiche Zwischensumme, kein Mitglied; Rabatt 0; Betrag 120.Sind alle Entscheidungsregeln abgedeckt, bedeutet das noch keine Abdeckung numerischer Grenzen. Mitgliedszwischensummen 99, 100 und 101 ergänzen: Erwartete Rabattsätze sind 0%, 10% und 10%. Können genaue Zahlbeträge Bruchteile enthalten, zuerst Währungspräzision und Rundung definieren. Diese Prüfungen von der Frage trennen, ob der Rabatt grundsätzlich gilt.
Übung: AND durch OR ersetzen
Die Regel wird zu „Mitglied OR Zwischensumme mindestens 100“ geändert. Welche Zeilen ändern sich? R2 und R3 erhalten nun 10%; R1 weiterhin keinen Rabatt und R4 weiterhin 10%. Die erwarteten Beträge der gezeigten Beispiele werden 80, 108, 72 und 108. Vor der Testanpassung die Tabelle neu berechnen, damit die alte Annahme nicht unbemerkt bestehen bleibt.