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 52 Current »

Deprecated

Icon

This plugin is deprecated since SonarQube 3.7.

 

 

Description / Features

Total Quality plugin combines four domain measures (architecture, design, code, and tests) in order to calculate a global and unified project quality health. Plugin provides metrics at project level only.

The default formula is:

TQ = 0.25*ARCH + 0.25*DES + 0.25*CODE + 0.25*TS

or 

TQ = 0.25*ARCH + 0.25*DES + 0.25*CODE + 0.25*OVERALL_TS (if computing Quality with IT Tests is enabled)

where:

Architecture (ARCH)

ARCH = 100 - TI

TI = Tangle Index

Design (DES)

DES = 0.15*NOM + 0.15*LCOM + 0.25*RFC 0.25*CBO + 0.20*DIT

NOM = (1 - (class_complexity - 12) / (acel * 12)) * 50 + (1 - (method_complexity - 2.5) / (acel * 2.5)) * 50

LCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1)) * 100

RFC = (1 - (response_for_class - 50) / (acel * 50)) * 100

CBO = (1 - (efferent_coupling - 5) / (acel * 5)) * 100

DIT = (1 - (depth_of_inheritance_tree - 5) / (acel * 5)) * 100

acel is an accelerator factor whose value can be configured in the SonarQube settings page.
The default threshold for each metric can be also configured (for instance, 50 is the default response_for_class threshold).

Code (CODE)

Code = 0.15*DOC + 0.45*RULES + 0.40*DRYNESS

DOC = Documented API density

RULES = Rules compliance index

DRYNESS = 100 - Duplicated lines density

Test (TS)

Testing quality is based on coverage metric family (coverage, and test success).

Test = 0.80*COV + 0.20*SUC

COV = Code coverage

SUC = Unit Tests success density

Overall Test (OVERALL_TS)

Testing quality is based on coverage metric family (coverage, and test success).

Test = 0.60*TS + 0.40*IT_COV

TS = Test Quality of Unit Tests

IT_COV = Integration Tests coverage

Installation

  1. Install the plugin through the Update Center or download it into the SONARQUBE_HOME/extensions/plugins directory
  2. Restart the SonarQube server

Usage

Add the "Total Quality" widget to your dashboard.

Run an analysis on the project to compute the Total Quality metrics.

Each threshold and every formula may be configured at either the property or global level.

To remove a metric just assign it a zero weight in the formula, like so,

"ARCH=0.25 DESIGN=0.25 CODE=0.50 TESTS=0.00"

Icon
To enable the computation of IT Tests in the Test Quality metric you need to enable it by setting sonar.tq.it_tests.enabled property to "true" at the global or project level.

TODO

Change Log

Loading

Release 1.1 (2 issues)

 

Loading

Release 1.0.2 (1 issues)

 

Loading

Release 1.0.1 (1 issues)

 

Loading

Release 1.0 (6 issues)

  • No labels