Post on 24-Jan-2015
description
für Camunda Community Event, 26. November 2013
Testgetriebene Geschäftsprozessmodellierung
mit camunda BPM
Die Holisticon AG ist eine Management- und 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.
Über uns...
SimonZambrovski
ClaudiaCordes
JanGalinski
Agenda
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 3
■ Warum BPM/SOA?
■ Was muss getestet werden?
■ Wie geht das wirklich? (Live Demo)
■ Fazit und Ausblick
■ Offene Diskussion
Komplexität
bpm-soa@holisticon.de | 4
BPM/SOA
oper
ativ
stra
tegi
sch
Proz
esse
Serv
ices
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 5
Prozesse sind ausführbar
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 6
BPMN 2.0
Sollten Prozesse getestet werden?
oper
ativ
stra
tegi
sch
Proz
esse
Serv
ices
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 7
Icon
: ©
htt
p:/
/ww
w.v
isu
alp
harm
.com
/
Prozesse müssen getestet werden!
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 8
■ 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
Ebenen von Tests
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 9
Entwickler
Anwender
technisch
fachlich
End-To-End
Integration
System
Component
Unit
■ Unit■ Technischer Test■ Abgeschlossene Einheiten:
■ Funktion/Methode■ Klasse
■ Testet einen Zustand
Automatische Tests
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 10
■ Behavior■ Fachlicher Test■ (Quasi-)Offenes System:
■ Dialogfolge■ Ablaufsteuerung
■ Testet Zustandsfolge
SUT
Eingabe Ausgabe
Referenz
TEST
Prozesse sind…
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 11
keine Units
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‘.
BDD Szenario / Story
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
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 16
■ Kontrakt zwischen Process Engine und Services
■ Anforderungen an Datenfluss
■ Vor- und Nachbedingungen im Prozess
15 Minuten
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 17
Demo: Ist Prozess
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 18
Demo: Vertragsverarbeitung
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 19
Ist-Prozessanalyse
Soll-Vision
Inkrementell modelliert und
entwickelt
Ausgerollt
Demo: Sprint 5
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 20
Fehlertolerante Verarbeitung
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 21
Implementierung Sprint 6
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 22
Teilprozessbild Sprint 1
User Story, Szenario
Demo: Szenarien + Guard
CI & Reporting
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 23
Fazit
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 24
■ 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
Weitere Informationen
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 25
■ www.camunda.org
■ github.com/camunda/camunda-bpm-testing
■ Contributions zu JBehave, Needle, Camunda
■ github.com/holisticon
Was kann man noch machen?
Testgetriebene Geschäftsprozessmodellierung| bpm-soa@holisticon.de | 26
■ 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?
Vielen Dank!