Mit der Decision Model and Notation — kurz DMN — gibt es einen hervorragenden Standard, Geschäftsregeln in Form von ausführbaren Entscheidungstabellen oder Entscheidungsbäumen zu modellieren. Camunda beispielsweise bietet dazu einen kostenlosen und intuitiv bedienbaren Modeler und kann DMN-Tabellen in seiner Engine ausführen. Für UnitTests kann mit einer DmnEngineRule eine schlanke DmnEngine-In-Memory hochgefahren werden, so dass auf der Ebene ohne viel Aufwand getestet werden kann. Gängige Assertions-Frameworks wie AssertJ können für die Überprüfung der Ergebnisse genutzt werden.
Aber das reicht nicht aus. Niemand möchte ernsthaft alle Möglichkeiten, die bei einem Test einer komplexen Entscheidungstabelle getestet werden müssen, in einem JUnit-Test erfassen. Ferner besteht die häufige Anforderung, dass Regeln (auch und besonders) durch den Fachbereich geändert werden können, wobei Tests der Regelwerke erforderlich sind. JUnit ist toll für Entwickler, aber der Fachbereich kann damit nichts anfangen. Und da kommt eine alte Perle ins Spiel: FitNesse.