27
Camunda User Group Hamburg | 13.10.2016 Opening 28.04.2016 – camunda BPM mit Spring Boot Camunda User Group Hamburg Testgetriebene Geschäftsprozessmodellierung 13.10.2016

Testgetriebene Prozessmodellierung

Embed Size (px)

Citation preview

Page 1: Testgetriebene Prozessmodellierung

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

Page 2: Testgetriebene Prozessmodellierung

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.

Page 3: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Agenda

■ Warum BPM/SOA?

■ Was muss getestet werden?

■ Wie geht das wirklich? (Live Demo)

■ Fazit und Ausblick

Page 4: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Komplexität

Page 5: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

BPM / SOA Reference

oper

ativ

stra

tegi

sch

Proz

esse

Serv

ices

Page 6: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Prozesse sind ausführbar

BPMN 2.x

Page 7: Testgetriebene Prozessmodellierung

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

Page 8: Testgetriebene Prozessmodellierung

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

Page 9: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Testpyramide

Entwickler

Anwender

technisch

fachlich

End-To-End

Integration

System

Component

Unit

Page 10: Testgetriebene Prozessmodellierung

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

Page 11: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Prozesse sind …

keine Units

Page 12: Testgetriebene Prozessmodellierung

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 „[email protected]

Wenn die Mail abgeschickt wird

Dann wechselt der Status auf ‚versendet‘.

Page 13: Testgetriebene Prozessmodellierung

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/

Page 14: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Testen: Syntax, Ausführbarkeit

Page 15: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Testen: Orchestrierung, Erreichbarkeit

Page 16: Testgetriebene Prozessmodellierung

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

Page 17: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Demo: Ist Prozess

Page 18: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Demo: Vertragsverarbeitung

Ist-Prozessanalyse

Soll-Vision

Inkrementell modelliert und

entwickelt

Ausgerollt

Page 19: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Demo: Sprint 5 |Review

Page 20: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Demo: Sprint 5 | Fehlertolerante Verarbeitung

Page 21: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Demo: Sprint 6 |Implementierung

Page 22: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

CI & Reporting

Page 23: Testgetriebene Prozessmodellierung

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

Page 24: Testgetriebene Prozessmodellierung

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

Page 25: Testgetriebene Prozessmodellierung

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

Page 26: Testgetriebene Prozessmodellierung

Camunda User Group Hamburg | 13.10.2016

Vielen Dank für Eure Aufmerksamkeit

Page 27: Testgetriebene Prozessmodellierung

Q&A