SlideShare a Scribd company logo
CAMUNDA BPM TESTING
PROZESSMODELLE HOHER QUALITÄT
Simon Zambrovski, Jan Galinski ( )
Martin Schimak ( )
Rafael Cordones ( )
Bernd Rücker ( )
Holisticon AG
Plexiti
rafael.cordones.me
Camunda
CAMUNDA-BPM-TESTING
FLUENT-ENGINE-API / FLUENT-ASSERTIONS
...
newProcessInstance("job-announcement", new Move() {
public void along() {
testHappyPath();
}
}).setVariable("jobAnnouncementId", jobAnnouncement.getId())
.startAndMoveTo("review");
...
assertThat(processInstance()).isWaitingAt("review");
assertThat(processInstance().task()).isAssignedTo("piggie");
processInstance().task().claim(USER_STAFF);
processInstance().task().complete("approved", true);
...
CAMUNDA-BPM-TESTING
CAMUNDA-BPM-NEEDLE
...
@Rule
public final ProcessEngineNeedleRule processEngineNeedleRule = fluentNeedleRu
@Inject
private HistoryService historyService;
...
registerMockDelegate("serviceTask").onExecutionSetProcessVariables("world"
newProcessInstance(PROCESS_KEY).setVariable("foo", Boolean.TRUE).start();
assertThat(processInstance().task()).isUnassigned();
processInstance().task().complete("bar", Boolean.FALSE, "hello", "jan"
assertThat(processInstance()).isFinished();
Assert.assertThat(historyService.createHistoricActivityInstanceQuery().proc
...
VERHALTENSGETRIEBENE
GESCHÄFTSPROZESSMODELLIERUNG
Unit Tests testen ... Units - Prozesse sind keine Units
Prozesstests müssen aufeinander aufbauen
Intergrationstest von End-To-End Prozessen erst zum
Ende des Projektes möglich
CAMUNDA-BPM-JBEHAVE
Demo
WAS IST BDD/JBEHAVE
Beschreibung einer fachlichen Anforderung in Form
mehrerer Szenarien
Glue-Code für die Ausführung der einzelnen "Steps"
Ausführungsumgebung mit Reporting
SCENARIO
Scenario: Automatic processing
Given the process definition simple_example.bpmn
And the contract is automatically processible
And the contract processing succeeds
When the process simple-process-example is started
Then the contract is loaded
And the contract is processed automatically
And the process is finished with event event_contract_processed
Scenario: Automatic processing not possible
Given the process definition simple_example.bpmn
And the contract is not automatically processible
When the process simple-process-example is started
Then the step task_process_contract_manually is reached
WHAT'S NEXT?
30.09.13
VUG "camunda-bpm-testing" - WebEx Session
26.11.13
Community Event Holisticon, Hamburg
VIELEN DANK!

More Related Content

Viewers also liked

Presentatie terminologie
Presentatie terminologiePresentatie terminologie
Presentatie terminologie
marketingdag2012
 
Information day - Ekip Radio
Information day - Ekip RadioInformation day - Ekip Radio
Information day - Ekip Radio
Kha Ngo Tan
 
Using Tape on Multi-Part Items
Using Tape on Multi-Part ItemsUsing Tape on Multi-Part Items
Using Tape on Multi-Part Items
Jennifer Webb
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1surasak2222
 
Brochure - womens leadership programme
Brochure - womens leadership programmeBrochure - womens leadership programme
Brochure - womens leadership programme
helenhouman
 
Seo for Engineers
Seo for EngineersSeo for Engineers
Seo for Engineers
Cort Tafoya
 
Joyce Meyer Ministries Informational Packet
Joyce Meyer Ministries Informational PacketJoyce Meyer Ministries Informational Packet
Joyce Meyer Ministries Informational PacketRobert Langius
 
Data Breach Crisis Control – How to Communicate When You’re in the Hot Seat
Data Breach Crisis Control – How to Communicate When You’re in the Hot SeatData Breach Crisis Control – How to Communicate When You’re in the Hot Seat
Data Breach Crisis Control – How to Communicate When You’re in the Hot Seat
Resilient Systems
 
Lilibeth-Caliwan-Parungao-resume
Lilibeth-Caliwan-Parungao-resumeLilibeth-Caliwan-Parungao-resume
Lilibeth-Caliwan-Parungao-resumeLilibeth Parungao
 

Viewers also liked (9)

Presentatie terminologie
Presentatie terminologiePresentatie terminologie
Presentatie terminologie
 
Information day - Ekip Radio
Information day - Ekip RadioInformation day - Ekip Radio
Information day - Ekip Radio
 
Using Tape on Multi-Part Items
Using Tape on Multi-Part ItemsUsing Tape on Multi-Part Items
Using Tape on Multi-Part Items
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
Brochure - womens leadership programme
Brochure - womens leadership programmeBrochure - womens leadership programme
Brochure - womens leadership programme
 
Seo for Engineers
Seo for EngineersSeo for Engineers
Seo for Engineers
 
Joyce Meyer Ministries Informational Packet
Joyce Meyer Ministries Informational PacketJoyce Meyer Ministries Informational Packet
Joyce Meyer Ministries Informational Packet
 
Data Breach Crisis Control – How to Communicate When You’re in the Hot Seat
Data Breach Crisis Control – How to Communicate When You’re in the Hot SeatData Breach Crisis Control – How to Communicate When You’re in the Hot Seat
Data Breach Crisis Control – How to Communicate When You’re in the Hot Seat
 
Lilibeth-Caliwan-Parungao-resume
Lilibeth-Caliwan-Parungao-resumeLilibeth-Caliwan-Parungao-resume
Lilibeth-Caliwan-Parungao-resume
 

Similar to Innovation galinski-zambrovski-camunda bpm testing

Gearmanpresentation 110308165409-phpapp01
Gearmanpresentation 110308165409-phpapp01Gearmanpresentation 110308165409-phpapp01
Gearmanpresentation 110308165409-phpapp01
longtuan
 
JAX 2019 - Workflow automation reinvented
JAX 2019 - Workflow automation reinventedJAX 2019 - Workflow automation reinvented
JAX 2019 - Workflow automation reinvented
Bernd Ruecker
 
Gearman - Job Queue
Gearman - Job QueueGearman - Job Queue
Gearman - Job Queue
Diego Lewin
 
Promises are so passé - Tim Perry - Codemotion Milan 2016
Promises are so passé - Tim Perry - Codemotion Milan 2016Promises are so passé - Tim Perry - Codemotion Milan 2016
Promises are so passé - Tim Perry - Codemotion Milan 2016
Codemotion
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshooting
adi ben aroya
 
05 communications
05 communications05 communications
05 communications
memeapps
 
Build Lightweight Web Module
Build Lightweight Web ModuleBuild Lightweight Web Module
Build Lightweight Web ModuleMorgan Cheng
 
$q and Promises in AngularJS
$q and Promises in AngularJS $q and Promises in AngularJS
$q and Promises in AngularJS
a_sharif
 
Testing AngularJS
Testing AngularJSTesting AngularJS
Testing AngularJS
Jacopo Nardiello
 
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docxVersion1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
tienboileau
 
An Introduction to AngularJs Unittesting
An Introduction to AngularJs UnittestingAn Introduction to AngularJs Unittesting
An Introduction to AngularJs UnittestingInthra onsap
 
Informatica_MDM_User_Exits.ppt
Informatica_MDM_User_Exits.pptInformatica_MDM_User_Exits.ppt
Informatica_MDM_User_Exits.ppt
DurganandYedlapati
 
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node jsBonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
Francois Zaninotto
 
Pyramid as a base for higher level frameworks
Pyramid as a base for higher level frameworksPyramid as a base for higher level frameworks
Pyramid as a base for higher level frameworks
Carlos de la Guardia
 
Workshop 5: JavaScript testing
Workshop 5: JavaScript testingWorkshop 5: JavaScript testing
Workshop 5: JavaScript testing
Visual Engineering
 
Nativescript angular
Nativescript angularNativescript angular
Nativescript angular
Christoffer Noring
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
Vadym Khondar
 
DevOps meets BPM - Benjamin Herbert and Masroor Ahmad
DevOps meets BPM - Benjamin Herbert and Masroor AhmadDevOps meets BPM - Benjamin Herbert and Masroor Ahmad
DevOps meets BPM - Benjamin Herbert and Masroor Ahmad
JAXLondon2014
 
The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)
Michiel Rook
 

Similar to Innovation galinski-zambrovski-camunda bpm testing (19)

Gearmanpresentation 110308165409-phpapp01
Gearmanpresentation 110308165409-phpapp01Gearmanpresentation 110308165409-phpapp01
Gearmanpresentation 110308165409-phpapp01
 
JAX 2019 - Workflow automation reinvented
JAX 2019 - Workflow automation reinventedJAX 2019 - Workflow automation reinvented
JAX 2019 - Workflow automation reinvented
 
Gearman - Job Queue
Gearman - Job QueueGearman - Job Queue
Gearman - Job Queue
 
Promises are so passé - Tim Perry - Codemotion Milan 2016
Promises are so passé - Tim Perry - Codemotion Milan 2016Promises are so passé - Tim Perry - Codemotion Milan 2016
Promises are so passé - Tim Perry - Codemotion Milan 2016
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshooting
 
05 communications
05 communications05 communications
05 communications
 
Build Lightweight Web Module
Build Lightweight Web ModuleBuild Lightweight Web Module
Build Lightweight Web Module
 
$q and Promises in AngularJS
$q and Promises in AngularJS $q and Promises in AngularJS
$q and Promises in AngularJS
 
Testing AngularJS
Testing AngularJSTesting AngularJS
Testing AngularJS
 
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docxVersion1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
 
An Introduction to AngularJs Unittesting
An Introduction to AngularJs UnittestingAn Introduction to AngularJs Unittesting
An Introduction to AngularJs Unittesting
 
Informatica_MDM_User_Exits.ppt
Informatica_MDM_User_Exits.pptInformatica_MDM_User_Exits.ppt
Informatica_MDM_User_Exits.ppt
 
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node jsBonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
 
Pyramid as a base for higher level frameworks
Pyramid as a base for higher level frameworksPyramid as a base for higher level frameworks
Pyramid as a base for higher level frameworks
 
Workshop 5: JavaScript testing
Workshop 5: JavaScript testingWorkshop 5: JavaScript testing
Workshop 5: JavaScript testing
 
Nativescript angular
Nativescript angularNativescript angular
Nativescript angular
 
Reactive programming every day
Reactive programming every dayReactive programming every day
Reactive programming every day
 
DevOps meets BPM - Benjamin Herbert and Masroor Ahmad
DevOps meets BPM - Benjamin Herbert and Masroor AhmadDevOps meets BPM - Benjamin Herbert and Masroor Ahmad
DevOps meets BPM - Benjamin Herbert and Masroor Ahmad
 
The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)The road to continuous deployment (DomCode September 2016)
The road to continuous deployment (DomCode September 2016)
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

Innovation galinski-zambrovski-camunda bpm testing

  • 1. CAMUNDA BPM TESTING PROZESSMODELLE HOHER QUALITÄT Simon Zambrovski, Jan Galinski ( ) Martin Schimak ( ) Rafael Cordones ( ) Bernd Rücker ( ) Holisticon AG Plexiti rafael.cordones.me Camunda
  • 2. CAMUNDA-BPM-TESTING FLUENT-ENGINE-API / FLUENT-ASSERTIONS ... newProcessInstance("job-announcement", new Move() { public void along() { testHappyPath(); } }).setVariable("jobAnnouncementId", jobAnnouncement.getId()) .startAndMoveTo("review"); ... assertThat(processInstance()).isWaitingAt("review"); assertThat(processInstance().task()).isAssignedTo("piggie"); processInstance().task().claim(USER_STAFF); processInstance().task().complete("approved", true); ...
  • 3. CAMUNDA-BPM-TESTING CAMUNDA-BPM-NEEDLE ... @Rule public final ProcessEngineNeedleRule processEngineNeedleRule = fluentNeedleRu @Inject private HistoryService historyService; ... registerMockDelegate("serviceTask").onExecutionSetProcessVariables("world" newProcessInstance(PROCESS_KEY).setVariable("foo", Boolean.TRUE).start(); assertThat(processInstance().task()).isUnassigned(); processInstance().task().complete("bar", Boolean.FALSE, "hello", "jan" assertThat(processInstance()).isFinished(); Assert.assertThat(historyService.createHistoricActivityInstanceQuery().proc ...
  • 4. VERHALTENSGETRIEBENE GESCHÄFTSPROZESSMODELLIERUNG Unit Tests testen ... Units - Prozesse sind keine Units Prozesstests müssen aufeinander aufbauen Intergrationstest von End-To-End Prozessen erst zum Ende des Projektes möglich
  • 6. WAS IST BDD/JBEHAVE Beschreibung einer fachlichen Anforderung in Form mehrerer Szenarien Glue-Code für die Ausführung der einzelnen "Steps" Ausführungsumgebung mit Reporting
  • 7. SCENARIO Scenario: Automatic processing Given the process definition simple_example.bpmn And the contract is automatically processible And the contract processing succeeds When the process simple-process-example is started Then the contract is loaded And the contract is processed automatically And the process is finished with event event_contract_processed Scenario: Automatic processing not possible Given the process definition simple_example.bpmn And the contract is not automatically processible When the process simple-process-example is started Then the step task_process_contract_manually is reached
  • 8. WHAT'S NEXT? 30.09.13 VUG "camunda-bpm-testing" - WebEx Session 26.11.13 Community Event Holisticon, Hamburg