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
Camunda User Group Hamburg | 13.10.2016
Über uns
Simon
Zambrovski
Jan
Galinski
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
operativ
strategisch
ProzesseServices
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 ?
Icon:©http://www.visualpharm.com/
operativ
strategisch
ProzesseServices
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 Ausgabe
Referenz
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 Systemen
Abb.:©https://docs.camunda.org/manual/7.5/user-guide/testing/
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:©https://github.com/camunda/camunda-bpm-process-test-coverage
Camunda User Group Hamburg | 13.10.2016
Vielen Dank
für Eure Aufmerksamkeit
Q&A

Testgetriebene Prozessmodellierung

  • 1.
    Camunda User GroupHamburg | 13.10.2016 Opening 28.04.2016 – camunda BPM mit Spring Boot Camunda User Group Hamburg Testgetriebene Geschäftsprozessmodellierung 13.10.2016
  • 2.
    Camunda User GroupHamburg | 13.10.2016 Über uns Simon Zambrovski Jan Galinski 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.
  • 3.
    Camunda User GroupHamburg | 13.10.2016 Agenda ■ Warum BPM/SOA? ■ Was muss getestet werden? ■ Wie geht das wirklich? (Live Demo) ■ Fazit und Ausblick
  • 4.
    Camunda User GroupHamburg | 13.10.2016 Komplexität
  • 5.
    Camunda User GroupHamburg | 13.10.2016 BPM / SOA Reference operativ strategisch ProzesseServices
  • 6.
    Camunda User GroupHamburg | 13.10.2016 Prozesse sind ausführbar BPMN 2.x
  • 7.
    Camunda User GroupHamburg | 13.10.2016 Testen im BPM / SOA Stack ? Icon:©http://www.visualpharm.com/ operativ strategisch ProzesseServices
  • 8.
    Camunda User GroupHamburg | 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
  • 9.
    Camunda User GroupHamburg | 13.10.2016 Testpyramide Entwickler Anwender technisch fachlich End-To-End Integration System Component Unit
  • 10.
    Camunda User GroupHamburg | 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 Ausgabe Referenz
  • 11.
    Camunda User GroupHamburg | 13.10.2016 Prozesse sind … keine Units
  • 12.
    Camunda User GroupHamburg | 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‘.
  • 13.
    Camunda User GroupHamburg | 13.10.2016 Testen von BPM / SOA Systemen Abb.:©https://docs.camunda.org/manual/7.5/user-guide/testing/
  • 14.
    Camunda User GroupHamburg | 13.10.2016 Testen: Syntax, Ausführbarkeit
  • 15.
    Camunda User GroupHamburg | 13.10.2016 Testen: Orchestrierung, Erreichbarkeit
  • 16.
    Camunda User GroupHamburg | 13.10.2016 Guards gegen falsche Annahmen ■ Kontrakt zwischen Process Engine und Services ■ Anforderungen an Datenfluss ■ Vor- und Nachbedingungen im Prozess
  • 17.
    Camunda User GroupHamburg | 13.10.2016 Demo: Ist Prozess
  • 18.
    Camunda User GroupHamburg | 13.10.2016 Demo: Vertragsverarbeitung Ist- Prozessanalyse Soll-Vision Inkrementell modelliert und entwickelt Ausgerollt
  • 19.
    Camunda User GroupHamburg | 13.10.2016 Demo: Sprint 5 |Review
  • 20.
    Camunda User GroupHamburg | 13.10.2016 Demo: Sprint 5 | Fehlertolerante Verarbeitung
  • 21.
    Camunda User GroupHamburg | 13.10.2016 Demo: Sprint 6 |Implementierung
  • 22.
    Camunda User GroupHamburg | 13.10.2016 CI & Reporting
  • 23.
    Camunda User GroupHamburg | 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
  • 24.
    Camunda User GroupHamburg | 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
  • 25.
    Camunda User GroupHamburg | 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:©https://github.com/camunda/camunda-bpm-process-test-coverage
  • 26.
    Camunda User GroupHamburg | 13.10.2016 Vielen Dank für Eure Aufmerksamkeit
  • 27.