SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
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!

Contenu connexe

En vedette

งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
surasak2222
 
Joyce Meyer Ministries Informational Packet
Joyce Meyer Ministries Informational PacketJoyce Meyer Ministries Informational Packet
Joyce Meyer Ministries Informational Packet
Robert Langius
 
Lilibeth-Caliwan-Parungao-resume
Lilibeth-Caliwan-Parungao-resumeLilibeth-Caliwan-Parungao-resume
Lilibeth-Caliwan-Parungao-resume
Lilibeth Parungao
 

En vedette (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
 

Similaire à Innovation galinski-zambrovski-camunda bpm testing

Gearmanpresentation 110308165409-phpapp01
Gearmanpresentation 110308165409-phpapp01Gearmanpresentation 110308165409-phpapp01
Gearmanpresentation 110308165409-phpapp01
longtuan
 
Build Lightweight Web Module
Build Lightweight Web ModuleBuild Lightweight Web Module
Build Lightweight Web Module
Morgan Cheng
 
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 Unittesting
Inthra onsap
 

Similaire à 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)
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

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