Testgetriebene
Geschäftsprozessmodellierung
mit camunda BPM

für Camunda Community Event, 26. November 2013
Über uns...

Die Holisticon AG ist eine Managementund IT-Beratung mit Sitz in Hamburg. Mit
einem ganzheitlichen Beratungsansatz
unterstützen wir unsere Kunden in ihren
Entwicklungsprojekten auf technischer,
taktischer wie auch strategischer Ebene.

Jan
Claudia
Galinski
Cordes

Simon
Zambrovski
Agenda

■ Warum BPM/SOA?

■ Was muss getestet werden?
■ Wie geht das wirklich? (Live Demo)

■ Fazit und Ausblick
■ Offene Diskussion

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 3
Komplexität

bpm-soa@holisticon.de | 4
Prozesse
Services

operativ

strategisch

BPM/SOA

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 5
Prozesse sind ausführbar

BPMN 2.0
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 6
Prozesse

operativ

Services

Icon: © http://www.visualpharm.com/

strategisch

Sollten Prozesse getestet werden?

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 7
Prozesse müssen getestet werden!

■ Voraussetzung für Refactoring
■ BPM/SOA für höhere Flexibilität
■ Die Auswirkung jeder Änderung kann geprüft werden

■ Basis für iterative und inkrementelle Entwicklung
■ Agile Prozess-Modellierung, nicht nur Software-Realisierung
■ Kurze Modellierungszyklen möglich

■ Nachhaltige Qualität
■ Tests sind die beste Dokumentation
■ Vision, Projekt, Wartung, Betrieb

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 8
Ebenen von Tests
Anwender

fachlich

End-To-End
System

Integration
Component
Unit

Entwickler

technisch

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 9
Automatische Tests

■ Unit

■ Behavior

■ Technischer Test
■ Abgeschlossene Einheiten:
■ Funktion/Methode
■ Klasse
■ Testet einen Zustand

■ Fachlicher Test
■ (Quasi-)Offenes System:
■ Dialogfolge
■ Ablaufsteuerung
■ Testet Zustandsfolge

Referenz
Eingabe TEST Ausgabe

SUT
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 10
Prozesse sind…

keine
Units
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 11
BDD Szenario / Story

Eine Mail senden
Angenommen der Benutzer erzeugt eine Mail
Und der Text ist „Hello World“

Und der Empfänger ist „bpm-soa@holisticon.de“
Wenn die Mail abgeschickt wird
Dann wechselt der Status auf ‚versendet‘.

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 12
Tests von BPM/SOA Systemen

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 13
Test: Syntax, Ausführbarkeit

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 14
Test: Orchestrierung, Erreichbarkeit

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 15
Guards gegen falsche Annahmen

■ Kontrakt zwischen Process Engine und Services

■ Anforderungen an Datenfluss
■ Vor- und Nachbedingungen im Prozess

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 16
15 Minuten

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 17
Demo: Ist Prozess

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 18
Demo: Vertragsverarbeitung

IstProzessanalyse

Ausgerollt

Soll-Vision

Inkrementell
modelliert und
entwickelt

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 19
Demo: Sprint 5

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 20
Fehlertolerante Verarbeitung

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 21
Implementierung Sprint 6

Teilprozessbild Sprint 1

User Story, Szenario
Demo: Szenarien + Guard

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 22
CI & Reporting

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 23
Fazit

■ Was haben wir gesehen?
■ Prozesse sind keine Units, aber trotzdem testbar
■ Akzeptanzkriterien als Szenarien beschrieben

■ Was bedeutet das für mein Projekt?
■ Prozesstests sind Grundlage für agile Modellierung
■ Szenarien dienen als Spezifikation und Dokumentation
■ Teamspezialisierung ist möglich

■ Camunda BPM Platform
■ In-Memory Prozess Engine
■ Camunda-BPM-Testing

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 24
Weitere Informationen

■ www.camunda.org

■ github.com/camunda/camunda-bpm-testing

■ Contributions zu JBehave, Needle, Camunda
■ github.com/holisticon

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 25
Was kann man noch machen?

■ Wiederverwendung der Testszenarien für I-Tests
■ Austausch der In-Memory-Process Engine gegen Intergrationsumgebung

■ Messung der Testabdeckung
■ Was bedeutet Testabdeckung für Prozesse?
■ Wie misst man sie?

Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 26
Vielen Dank!

Testgetriebene Geschäftsprozessmodellierung