Progress on Integration Test Coverage

Hey Community,
As part of our ongoing integration test effort, here’s the latest JaCoCo breakdown by component layer services, controllers, DAOs, and utilities. This will help us target the right gaps next.

This is the Overall Coverage Summary for the Integration Tests

Below is the report showing our Progress in terms of Percentage

Coverage Summary by Category

Layer/Category Covered Total Coverage %
Service Classes 1,245 12,453 10.0%
Utility Classes 2,985 6,336 47.1%
Controller Classes 900 15,120 5.9%
DAO Classes 773 2,958 26.1%
Form/ValueHolders 1,680 5,332 31.5%
REST API Controllers 396 9,630 4.1%

We’ve made solid headway on this route, especially in service layer classes like SamplePatientEntryServiceImpl TestNotificationServiceImpl. JaCoCo shows improving method and class coverage, but overall instruction/branch coverage remains low.

Our next priority is to close the gaps in our service-layer test coverage, with a sharp focus on edge cases, null values, invalid inputs, conditional branches, and exception paths. These areas carry the highest risk of failure in production, and covering them will significantly improve our instruction and branch coverage in JaCoCo. Since many of these service classes are already partially tested, we’ll get high value from finishing what we started. Once this layer is solid, we’ll shift attention to the controller and REST API layers, where many endpoints are still completely untested and need request/response validation coverage.

:folded_hands: Huge thanks to everyone who’s contributed test cases, reviewed PRs, or helped debug failing scenarios. This progress reflects real teamwork and a shared commitment to improving quality. Every integration test added helps us build a more reliable and resilient system.
@Ariho-Seth @segujja_joseph @ELAI @mherman22 @Adarsh_Samani @Moses_Mutesasira @tasksolver @aditya

Report by Jacoco and SonarQube

3 Likes

Wowww! This is enlightening. Thanks @Agaba_Derrick_Junior

1 Like

How are service layer tests still at 10% :smiley: I see we have about 10k tests to write for the service layer

1 Like

@mherman22 The 10% isn’t about the number of test cases we’ve written, it’s about the number of instructions and branches covered. Service classes are big and complex, so we all agree that we’ve written a decent number of tests, but they are still touching a small fraction of the logic. Many service methods have multiple conditional paths, error flows, and edge cases that we haven’t hit yet. That’s why the coverage number looks small despite the effort; each additional test that targets an untested path will make a much bigger impact going forward. And yes, the 10k tests estimate sounds about right if we want to exercise every branch and path in all our classes.

2 Likes

I like the eloquence here; I have surely also understood. because I had the same concern as @mherman22’s.

2 Likes