Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sonar-Overall Coverage

Sonar gives a value of Overall coverage which is a combination of line and branch coverage. I am not sure how important is this metric. What does the value of overall coverage signifies? How it is better than line and branch coverage? Any suggestions would be helpful.

like image 498
Pavneet Avatar asked Oct 07 '13 03:10

Pavneet


2 Answers

From Sonar's documentation:

It is a mix of Line coverage and Condition coverage. Its goal is to provide an even more accurate answer to the following question: How much of the source code has been covered by the unit tests?

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)

Source: https://docs.sonarqube.org/display/SONAR/Metric+Definitions#MetricDefinitions-Tests

like image 152
RCross Avatar answered Sep 28 '22 05:09

RCross


Here's how the overall coverage is computed: https://docs.sonarqube.org/display/SONAR/Metric+Definitions#MetricDefinitions-Tests

If branch coverage is lower than line coverage (and thus lower than overall coverage), it means that your unit tests test the main cases but not really the corner cases.

like image 33
David RACODON - QA Consultant Avatar answered Sep 28 '22 05:09

David RACODON - QA Consultant