camunda / zeebe-process-test

Testing project for Camunda Platform 8
41 stars 15 forks source link

Visualise test coverage in BPMN models #23

Open remcowesterhoud opened 3 years ago

remcowesterhoud commented 3 years ago

Description

We want to visualise the test coverage of a process. This allows us to gain insight in how well our processes are tested, and which part of the process requires some more attention to be fully covered.

Relevant links https://camunda.com/blog/2020/12/measure-your-coverage/

berndruecker commented 2 years ago

@falko :-)

falko commented 2 years ago

It would be great, if we build it language-independent this time, i.e. not tied to Java and just using public APIs. The general approach and report templates from the Camunda Platform 7 Process Test Coverage should be easily reusable. One basically queries the history audit trail and replaces the placeholder {{__REPORT_JSON_PLACEHOLDER__}} in the report template with the data.

ingorichtsmeier commented 2 years ago

I think the people maintaining the process test coverage extension are currently working on this: add examples for platform 8

rohwerj commented 4 months ago

Just for reference the community extension https://github.com/camunda-community-hub/camunda-process-test-coverage does support Camunda8 as @ingorichtsmeier mentioned above. It can be integrated with JUnit5 and Spring Testing.

saig0 commented 4 months ago

[!Note] Heads up! We are building a new Java testing library for Camunda 8.6. The new library will replace Zeebe Process Test. Read more about upcoming changes here and stay tuned for updates. :rocket:

rohwerj commented 4 months ago

@saig0 Do you already have some ideas, how exactly this will look? Will there still be a way to access the record stream in the tests? I would like to adapt https://github.com/camunda-community-hub/camunda-process-test-coverage as soon as there's some code to test it with.

saig0 commented 4 months ago

@rohwerj Yes, I have some ideas. :bulb: The new testing library will run the complete Camunda Docker Image via Testcontainers instead of running an in-memory Zeebe workflow engine. We will share more details later when we have some code ready.

Will there still be a way to access the record stream in the tests?

No. Since the Camunda engine runs inside Docker, you must use the Camunda REST API to access the data.


We plan to include a process coverage feature in the new testing library. It will be inspired by the community project. At least in the beginning, it will support fewer features.

berndruecker commented 4 months ago

@saig0 I was surprised to see we want to remove the in-memory testing capability. Is there a related issue I can check the reasoning (or discuss into the decision maybe)?

Not saying a potential test coverage should rely on the in-memory way - I think it's better to design something that works anyway

saig0 commented 4 months ago

:fast_forward: Please see the issue https://github.com/camunda/issues/issues/751 for more details about the new testing library. We can discuss any questions and concerns about the solution in the comments.