Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

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 

  1. No focus on quality of software
  2. Quality Debt / Tech Debt / EngX processes are not included into delivery
  3. There is no Test Plan and/or Strategy
  4. Too many defects are found during manual and / or automated testing
  5. Team misbalance (skills ratio)
 Other
  • There are no quality standards in engineering 
  • There is no quality gate for having unit tests for new code
  • Definition of Done for features is not defined properly or missed
  • Delays in features/components delivery
  • Negative trends with other metrics e.g. Committed vs CompletedAverage velocity by sprints, etc
  • There are issues with code review

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 %.

Unit Test Coverage for a New Code, % calculation is Identical to Unit Test Coverage but restricted to new/updated source code.

Data source

Data for the metric can be collected from Sonar.



 

Unable to render {include} The included page could not be found.
Unable to render {include} The included page could not be found.



  • No labels