Post on 23-Jan-2017
Camunda User Group Hamburg | 13.10.2016
Opening 28.04.2016 – camunda BPM mit Spring BootCamunda User Group Hamburg
Testgetriebene Geschäftsprozessmodellierung
13.10.2016
Camunda User Group Hamburg | 13.10.2016
Über uns
SimonZambrovski
JanGalinski
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.
Camunda User Group Hamburg | 13.10.2016
Agenda
■ Warum BPM/SOA?
■ Was muss getestet werden?
■ Wie geht das wirklich? (Live Demo)
■ Fazit und Ausblick
Camunda User Group Hamburg | 13.10.2016
Komplexität
Camunda User Group Hamburg | 13.10.2016
BPM / SOA Reference
oper
ativ
stra
tegi
sch
Proz
esse
Serv
ices
Camunda User Group Hamburg | 13.10.2016
Prozesse sind ausführbar
BPMN 2.x
Camunda User Group Hamburg | 13.10.2016
Testen im BPM / SOA Stack ?Ic
on: ©
http
://w
ww
.visu
alph
arm
.com
/
oper
ativ
stra
tegi
sch
Proz
esse
Serv
ices
Camunda User Group Hamburg | 13.10.2016
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
Camunda User Group Hamburg | 13.10.2016
Testpyramide
Entwickler
Anwender
technisch
fachlich
End-To-End
Integration
System
Component
Unit
Camunda User Group Hamburg | 13.10.2016
TEST
Automatisierte Tests
■ Unit Technischer Test Abgeschlossene Einheiten:
Funktion/Methode Klasse
Testet einen Zustand
■ Behavior■ Fachlicher Test■ (Quasi-)Offenes System:
■ Dialogfolge■ Ablaufsteuerung
■ Testet Zustandsfolge
SUT
Eingabe AusgabeReferenz
Camunda User Group Hamburg | 13.10.2016
Prozesse sind …
keine Units
Camunda User Group Hamburg | 13.10.2016
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‘.
Camunda User Group Hamburg | 13.10.2016
Testen von BPM / SOA SystemenAb
b.: ©
https
://do
cs.c
amun
da.o
rg/m
anua
l/7.5
/use
r-gui
de/t
estin
g/
Camunda User Group Hamburg | 13.10.2016
Testen: Syntax, Ausführbarkeit
Camunda User Group Hamburg | 13.10.2016
Testen: Orchestrierung, Erreichbarkeit
Camunda User Group Hamburg | 13.10.2016
Guards gegen falsche Annahmen
■ Kontrakt zwischen Process Engine und Services
■ Anforderungen an Datenfluss
■ Vor- und Nachbedingungen im Prozess
Camunda User Group Hamburg | 13.10.2016
Demo: Ist Prozess
Camunda User Group Hamburg | 13.10.2016
Demo: Vertragsverarbeitung
Ist-Prozessanalyse
Soll-Vision
Inkrementell modelliert und
entwickelt
Ausgerollt
Camunda User Group Hamburg | 13.10.2016
Demo: Sprint 5 |Review
Camunda User Group Hamburg | 13.10.2016
Demo: Sprint 5 | Fehlertolerante Verarbeitung
Camunda User Group Hamburg | 13.10.2016
Demo: Sprint 6 |Implementierung
Camunda User Group Hamburg | 13.10.2016
CI & Reporting
Camunda User Group Hamburg | 13.10.2016
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
Camunda User Group Hamburg | 13.10.2016
Verweise
■ Twitter: @CUGHamburg
■ Meetup: http://www.meetup.com/de-DE/Camunda-User-Group-Hamburg/
■ github.com/camunda/camunda-bpm-assert
■ github.com/camunda/camunda-bpm-jbehave
■ github.com/camunda/camunda-bpm-mockito
■ github.com/camunda/camunda-bpm-needle
Camunda User Group Hamburg | 13.10.2016
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? github.com/camunda/camunda-bpm-process-test-coverage
Abb:
© h
ttps:
//gi
thub
.com
/cam
unda
/cam
unda
-bpm
-pro
cess
-test
-cov
erag
e
Camunda User Group Hamburg | 13.10.2016
Vielen Dank für Eure Aufmerksamkeit
Q&A