Mehr Fragen zur Governance… n Welcher Bereich ändert die Regelstruktur (Spalten)? n Die Entwicklung? Die Pflege gewisser „Regelstrukturtests“ sollten dann also auch in der Entwicklung liegen… n Welcher Bereich ändert die Regeln (Zeilen)? n Der Fachbereich? Die Pflege detaillierter „Regelbeispiele“ sollte also auch beim Fachbereich liegen… n Gibt es dieselben oder unterschiedliche Governance-Regeln für Strukturänderungen wie einfache Regeländerungen? n Fliessen „Live Edits“ auch wieder in das Entwicklungsprojekt ein? n Müssen mehrere logisch verbundene Regeländerungen „in einem“ erfolgen? n Wie wird sichergestellt, dass die fachlichen Tests gemeinsam mit den Änderungen am DMN versioniert werden? 10
Das Spock Framework n Spock: „The Enterprise Ready Testing and Specification Framework“ https://github.com/spockframework/spock n Warum Groovy als Testing Language für Java? n Groovy‘s Flexibilität erlaubt kompilierbare DSLs (zB die Spock Datentabellen) n Java Syntax ist ein Subset von Groovy, Java Entwickler können sofort starten n Groovy interagiert völlig reibungsfrei mit Java direkt im selben Projekt n Warum Spock als Testing Framework? n Nicht ein, sondern DAS Testing Framework in der Groovy Community n z.B. Datentabellen DSL perfekt für DMN Decision Tests, n z.B. Test Reports sind „out of the box“ lesbar für Fachbereiche, … u.v.m. n => Eine von Fach & IT gepflegte Basis an DMN Tests ist realisierbar. 17
Direkt ausführbare Tests für Fach & IT n Einfache und sichere Änderungen n Compilation Fehler sind sofort sichtbar, Code Completion ist überall verfügbar n IDE Refactoring ändert Namen konsistent, Reformatting organisiert Layout n Workflow ist organisiert: DMN und Tests werden miteinander versioniert n Grosse Flexibilität einer „General Purpose“ Programming Language n Zum Beispiel: Erwartete Resultate sind jetzt Listen… dann verwende Listen! n Zum Beispiel: Wir benötigen zusätzliche Daten je Testlauf… dann hol sie dir! 18
camunda-bpm-spock als neues Projekt? n Derzeit rein experimenteller Status… was prinzipiell funktioniert: n @Deployment Annotation für Camunda Nutzung im Spock Framework n Komfortable Auswertung von DMNs per unique(key: value, …) und collect(key: value, …) n Bei Interesse/Feedback kann eine Community Extension entstehen… n Please ˒ the Github Repository if you like the basic approach of http://github.com/plexiti/camunda-bpm-spock ! 19 Live long and prosper!