Innovation galinski-zambrovski-camunda bpm testing

1,213 views

Published on

Innovation Talk BPMCon2013: Camunda BPM Testing incubation project.
lang: german
Speaker: Jan Galinski, Simon Zambrovski

Published in: Technology, Business
  • Be the first to comment

Innovation galinski-zambrovski-camunda bpm testing

  1. 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. 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. 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. 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
  5. 5. CAMUNDA-BPM-JBEHAVE Demo
  6. 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. 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. 8. WHAT'S NEXT? 30.09.13 VUG "camunda-bpm-testing" - WebEx Session 26.11.13 Community Event Holisticon, Hamburg
  9. 9. VIELEN DANK!

×