-1

The current project, i work on, is the Camunda application, with bpmn-processes, running in it. Our analytics, with collaboration with business departments , create processes drafts (.bpmn files).

They want to test them, for finding simple bugs fast and without programmers help. But the only approach, we've found - to write java code, using such libs, as camunda-bpm-assert

It is too hard way for system analytics - to learn Java.

Do you know some other opportunities (platforms, libs, maybe with GUI) to reach this goal?

Thanks for all ideas.

3 Answers3

1

If you want to avoid Java, testing a process model via the REST-API is an alternative. The basic calls needed would be start of process instance, completion of user (and external) tasks, possibly messages. A complete process test can for instance be run in Postman Runner. https://www.tutorialspoint.com/postman/postman_collection_runner.htm or in other REST tools.

You may find this collection helpful: https://github.com/rob2universe/camunda-rest-postman

Another starting point would be the Open API spec: https://docs.camunda.org/manual/latest/reference/rest/openapi/ This covers the complete API with all options, but could be way more than needed.

Unfortunately I am not aware of a solution using a business UI.

I have seen projects using https://cucumber.io/ on top of Camunda Assert to create tests in a declarative manner.

rob2universe
  • 7,059
  • 39
  • 54
  • 1
    Thanks rob, exactly my point ... there will be code ... but cucumber or jbehave can build a bridge from gherkin style (given-when-then) scenario descriptions and the actual test code. You could also try to record click paths doing a ui-only test ... – Jan Galinski Oct 04 '21 at 07:33
1

It is not recommended to have business analysts test process models.

Business analysts create strategic and operative process models. But every single process model will always require technical integration - thus creating the need for a technological process model. Or how would a business analyst know anything about the implementation of service tasks, for ecample? This is the developers job. And so is testing this technological process model.

Another way to see this is to look at the scopes of a .bpmn file: the bpmn (and bpmndi) scopes are the business analysts domain. The camunda scope belongs to the developer.

Having said that: there is a linter plugin for Camunda modeler that will help you detect the more common and simple mistakes that may occur during modeling: https://github.com/camunda/camunda-modeler-linter-plugin

BFR
  • 105
  • 1
  • 1
  • 9
0

Best way to test process models in non-Java environment is Camunda REST API (https://docs.camunda.org/manual/latest/reference/rest/) in combination with Postman (https://www.postman.com/api-platform/meet-postman/).

With Postman's abilities to parse response. You can automate your testing scenarios like:

  1. Start process instance, get process instance id in response, validate that process is started, put process instance id into Postman variable.
  2. Get current activity by process instance id, verify that's it assigned or not.
  3. And so on.