Traceable Test Coverage for all process stakeholders

Dominik Horn is Co-Founder of FlowSquad — specialists in process automation and individual software development. You may know Dominik through his COVID-19 pandemic work, where FlowSquad teamed up with RemedyMatch, to implement Camunda as the backend of its logistics solution, quickly and accurately matching thousands of protective items with the people who need them each day. In this guest post, Dominik explains why FlowSquad has developed a platform that ensures traceability for all stakeholders and seamless integration into your CI/CD infrastructure:

In software development, test coverage is an essential indicator of the quality of an application. Only through comprehensive and systematic testing can errors be detected and fixed early on. For this reason, there are numerous test libraries for almost every programming language. Under Java, JaCoCo is a very well-known solution for reporting test coverage.

In order to make the test coverage visible and understandable for all stakeholders, some tools prepare and present the generated coverage reports. These include SonarQube or Codecov. The calculation of the test coverage can be integrated into the build pipeline by automatically uploading the reports.

From a technical point of view, BPMN is also a programming language, even though it follows a different goal and targets other stakeholders. For this reason, it is also essential to achieve high test coverage in automated BPMN processes. There is already a tool that allows the calculation of test coverage: Camunda BPM Test Coverage: https://github.com/camunda/camunda-bpm-process-test-coverage.

This library automatically generates a visual representation of the coverage from test cases as HTML files. However, the delivery of these reports to the different stakeholders, especially the non-technical process experts, is challenging because of its static format.

We needed additional requirements for various customer projects, that could not be implemented with this solution alone:

  • Approval of new process versions by process owners
  • Collaboration and transparency for all stakeholders
  • Traceability and history of test coverage
  • Enrichment of the reports with own data
  • Presentation along with commits and branches

For these reasons, we developed FlowCov – a platform that covers precisely these requirements and supports Camunda BPM. It allows you to upload the generated reports within your own build pipeline, prepare them visually, and make them available to all stakeholders.

From the very beginning, we decided to create a structure based on the familiar way of working with Git, so FlowCov also has repositories, branches, and commits. For each commit, reports can be uploaded that show the test coverage at the given time. Using this data, an overview of the development of the coverage can be created. Test coverage can be displayed not only at the commit level, but even for individual models, test classes, and methods.

Getting started with FlowCov is very easy and can be completed in four steps:

  1. Create a new account at https://app.flowcov.io/
  2. Create FlowCov repository
  3. Use the FlowCovCoverageRule instead of the ProcessCoverageRule
  4. Upload the reports with our bash script locally or within your build pipeline

We have published a step-by-step guide at https://flowcov.io/docs. A detailed example including the GitHub action pipeline can be found here: https://github.com/Nlea/NY-Cheesecake-process

FlowCov is currently available in a public beta version. Our goal is to create a platform that involves all stakeholders, in collaborative process development. To achieve this goal and take the community’s ideas into account, we will make FlowCov permanently available in the cloud for free. An on-premise installation in your own data center is also possible to meet the highest data protection requirements. A separately hosted (dedicated) installation in the cloud is also available.

We are continually working to improve FlowCov and add new features. If you have any questions, ideas or feedback, you can always join our Slack Channel: https://join.slack.com/t/flowcov/shared_invite/zt-gyh1d6d1-esd4cAZJnLuFObsiH7OCNA

These are the next steps on our current roadmap:

  • Full support for DMN
  • Support for Call Activities
  • Visual simulation of test methods

We are looking forward to the feedback and the ideas of the community.

Don’t miss Dominik demonstrating FlowCov’s unique test coverage, with Camunda Consultant Nele Uhlemann at CamundaCon LIVE 2020.2 on October 9th. And stay in touch with Flowsquad on Twitter, GitHub or email — info@flowsquad.io.

  • Introducing the Camunda Community Hub

    Here at Camunda, we are consistently in awe of our open source community and the amazing things you create using Camunda. During Hacktoberfest last year, we were blown away by the enthusiasm and expertise that the community brought to Camunda projects and community extensions. Based on that experience, to further strengthen and support our community, we’re launching the Camunda Community Hub, a platform for community extensions that we hope will both inspire our current open source community extension Maintainers and encourage new contributors to get started.  The Camunda Community Hub is a GitHub Organization that serves as a single place to find Camunda open source community-contributed extensions. For maintainers, it’s a community of maintainers and Camunda employees that provides peer...

    Read more
  • Send Slack Messages direct from Camunda Cloud

    This article is the fourth in a series exploring fun, straightforward ways you can control workflows using Camunda Cloud — have a read of the others for some background if you’d like to see Camunda Cloud in action with Restzeebe, without a line of code: Is there an alternative to Spaghetti? How can you Teach a Workflow to Execute a specific task? Automate manual tasks with Camunda and Trello Do you use Slack? How about adding a level of automation to this widely used collaboration tool, that is making email obsolete in many organizations? Let’s say you already widely use Slack in your company and want to receive an active notification when a new user has registered to your service? You can create...

    Read more
  • Process Automation Centers of Excellence: the secret...

    Have you successfully implemented Process Automation technology in areas of your organization, but find yourself struggling to drive further adoption? Are organizational silos, ease of knowledge sharing and resistance to change slowing things down? You aren’t alone. Moving from pilot and lighthouse projects to a full Process Automation program is a challenge. But, there’s a solution — establishing Process Automation Centers of Excellence (CoE) to share best practices and drive organization-wide digital transformation. “If you had one team working on the pilot, and probably also the lighthouse project, they will not only have become very familiar with the technology and architecture, but will have learned a couple of valuable lessons the hard way. These are incredibly valuable experiences and you...

    Read more