Unit Test Coverage
Purpose
Unit Test Coverage shows a percentage of a source code covered by unit tests. It is a mix of Line coverage and Condition coverage. The metric can be also calculated for a new code only.
How metric helps
Unit Test Coverage may be a guide for indicating a lack of coverage via Automated Testing - just because Unit Testing is the essential part of the Testing Pyramid. A trend helps to understand how a coverage is changing over time, if it is actually growing or falling and how those trends correlate with plans/investments about appropriate development efforts related to Unit Tests. Lack of coverage is typically a key obstacle for implementing the Continuous Integration and Continuous Delivery (CI/CD) on a project.
Metric:
shows a percentage of a source code covered by unit tests;
shows quality of application;
shows quality of testing;
shows how the project is ready for implementation of CI/CD;
shows if the projects meets the industry quality standards;
highlights the risk of bugs being detected at a later stage of development;
helps to understand how much of your source is tested;
shows the quality of test suite.
TOP-5 problems metric identifies
Too many defects are found during manual and / or automated testing
How metric works
Chart overview
Chart shows Unit Tests Coverage in %:
Calculation
Unit Test Coverage = (CT + CF + LC) / (2*B + EL),
where
CT = conditions that have been evaluated to 'true' at least once
CF = conditions that have been evaluated to 'false' at least once
LC = covered lines = lines_to_cover - uncovered_lines
B = total number of conditions
EL = total number of executable lines (lines_to_cover)
RAG thresholds: Red <= 40%, Amber > 40%, Green > 80 %.
Data source
Data for the metric can be collected from Sonar.