2013 11-26 - hamburg - testgetriebene geschäftsprozessentwicklung - holisticon

Preview:

DESCRIPTION

 

Citation preview

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!

Recommended