BPM, Workflow, and Case

BPM, Workflow, and Case

Come for answers. Stay for best practices. All we’re missing is you.

 View Only

From Guesswork to Insights: Building Code Coverage Visibility

By Meena Subramaniyam posted 07/16/26 11:44 AM

  

Introduction

How do you improve code quality when you don't have visibility into what is being tested?

For many Business Automation projects, understanding code coverage can be challenging without centralized reporting and analysis. To address this challenge, we evaluated an approach using JaCoCo and SonarQube to measure, visualize, and analyze coverage metrics.

In this blog, we'll explore how a Business Automation Workflow (BAW) project established code coverage visibility through baseline analysis and how that visibility helped transform coverage data into actionable insights.


Why Was Coverage Visibility a Challenge?

Across several Business Automation components, teams faced a common challenge: limited visibility into code coverage and testing effectiveness.

Without centralized reporting, it was difficult to:

  • Understand which areas of the codebase were being exercised by tests
  • Identify low-coverage components
  • Establish measurable quality goals
  • Track improvement over time

As a result, discussions about testing effectiveness were often based on assumptions rather than measurable insights.

To address this challenge, we evaluated an approach that combined JaCoCo and SonarQube to establish code coverage visibility and create a baseline for future quality improvements.


How Did We Make Coverage Visible?

Establishing coverage visibility required two key capabilities: a mechanism to generate coverage metrics and a platform to visualize and analyze the results.

For this implementation, JaCoCo was selected because the Business Automation Workflow components and associated tests were primarily implemented in Java. As a widely adopted Java coverage tool with native SonarQube integration, JaCoCo provided a straightforward way to generate coverage reports and publish them for analysis.

While JaCoCo was the best fit for this project, SonarQube supports a wide range of programming languages and coverage tools. Depending on the technology stack, organizations can integrate coverage reports from tools such as Istanbul, Coverlet, Coverage.py, and other language-specific reporting solutions. This flexibility enables teams to adopt a consistent quality management approach across diverse development environments.

Combined with SonarQube, the solution enabled teams to:

  • Measure code coverage
  • Visualize coverage metrics
  • Establish baseline benchmarks
  • Identify testing gaps and improvement opportunities

This provided the foundation for understanding current testing effectiveness and creating a measurable starting point for future quality initiatives.


What Did the Metrics Reveal?

The initiative was built around two complementary goals:

  • Establishing coverage visibility through baseline analysis
  • Enforcing standards through Quality Gates

This blog focuses on the first goal: creating coverage visibility through baseline analysis.

Understanding the current state of coverage is often the first step toward improving software quality. Without visibility, it becomes difficult to identify gaps, measure progress, or define realistic quality objectives.


What Did the Coverage Data Reveal?

Before introducing quality controls, it was important to understand the current state of coverage within the Business Automation Workflow project.

The baseline analysis combined:

  • Source code analysis
  • Automated test execution
  • JaCoCo coverage reporting
  • SonarQube visualization and reporting

This provided a centralized view of coverage metrics and helped establish an initial benchmark for future improvements.

The resulting analysis helped identify:

  • Untested or under-tested areas of the codebase
  • Components with lower coverage levels
  • Opportunities for additional test automation
  • Areas requiring further investigation

More importantly, the baseline shifted discussions from assumptions about test coverage to measurable insights that could support engineering decisions.


What We Learned

  • Visibility drives improvement. Coverage metrics provide objective insights into testing effectiveness and help identify gaps early.
  • Baselines create direction. Establishing a baseline gives teams a measurable starting point for future quality initiatives.
  • Consistency matters. Regularly reviewing coverage metrics helps keep quality discussions data-driven.

What's Next?

Establishing coverage visibility was the first step. Once baseline metrics were available, the next focus area was introducing automated Quality Gates to help maintain and improve quality over time.

In a follow-up blog, we'll explore how coverage validation was integrated into the Pull Request workflow using SonarQube Quality Gates.


Conclusion

Establishing code coverage visibility was an important first step in improving software quality within the Business Automation Workflow project.

By combining JaCoCo and SonarQube, teams gained a clearer understanding of testing effectiveness, identified coverage gaps, and established a measurable baseline for future improvements.

Most importantly, coverage metrics provided objective insights that supported better engineering decisions and laid the foundation for broader quality governance practices.

0 comments
41 views

Permalink