Entscheidungstabellen sind so vielseitig, dass sie in allen Disziplinen der Software-Entwicklung Verwendung finden. Zum Beispiel sind sie als formelles Werkzeug nützlich, wenn die Qualität von komplexen Bedingungen in natürlichsprachlichen Anforderungen auf Vollständigkeit geprüft werden soll. Sie eignen sich aber auch, um den optimalen Durchlauf für ein Testszenario daraus abzuleiten. Die relativ einfache Methodik zum Erstellen der Tabellen bildet komplexes logisches Verhalten in sich ab und erschließt sich schnell auch fachfremden Personen.
Prinzipiell gibt es in Entscheidungstabellen zwei Hauptbereiche: oben finden sich die Bedingungen samt ihren Kombinationen und unten die dann bei den jeweils definierten Bedingungskombinationen auszuführenden Aktionen. Jede Bedingung steht mit jeder anderen Bedingung in einem logischen Zusammenhang. Bei den meist booleschen Bedinungen ergeben sich somit 2 hoch n Bedingungskombinationen (bzw. zu durchlaufende Pfade als Baumstruktur) und daher letztlich ebenso viele Spalten. Vor allem wegen dieses exponentiellen Wachstums können Entscheidungstabellen sehr schnell unangenehm unübersichtlich werden.
Denken wir uns folgendes Szenario: Man müsste auf eine konkrete Aktion referenzieren können, die nur bei einer bestimmten Bedingungskonstellation eintritt – aus Sicht eines Testers ein Alltagsszenario, da wie bereits erwähnt logisch komplexe Anforderungen mit Entscheidungstabellen ausgezeichnet dargestellt werden können. Da der Tester somit sehr wahrscheinlich zu jedem Aktionszeiger dieser Entscheidungstabelle, der auf ein „X“ verweist, einen Testfall ableiten wird, muss diese Ableitung verfolgbar sein – ein bidirektionaler Trace zwischen der konkreten Aktion und dem Testfall muss her. Doch wie?
Die Lösung ist so simpel wie charmant: man flankiert das Aktionsfeld mit einem Koordinatensystem. Jede Spalte (X-Achse) wird genau wie jede Aktion (Y-Achse) mit einer natürlichen Zahl indiziert. Die Referenz auf die genaue Position entsteht aus der Kombination beider Achsenwerte, denen wir als Präfix zur strikten Trennung der Werte die jeweilige Achse mitgeben, also z.B. X6Y2 für die Bedingungskombination der Spalte 6 und der zugehörigen Aktion 2. Vor diese Position – die ja für nichts anderes steht als für eine konkrete Aktion, die unter bestimmten Bedingungen eintreten soll – platziert man noch eine eindeutige numerische ID – im Beispiel die 3 – und schon hat man einen klaren Referenzwert erzeugt.