Einsatz von SonarQube zur Qualitätssicherung in heterogenen Projekten

Seite 4: Differenz

Inhaltsverzeichnis

Wird ein System mehrfach analysiert, zum Beispiel im Nightly Build, sollen Veränderungen leicht ersichtlich sein. Die in der Einleitung genannten Werkzeuge (etwa PMD und Checkstyle) bieten hierfür keine Unterstützung, auch die Integration in Jenkins liefert lediglich Trendlinien. SonarQube geht hier einen Schritt weiter. Analysen lassen sich direkt miteinander vergleichen, SonarQube zeigt die Änderungen an. Alle beschriebenen Ansichten erlauben einen Vergleich mit vorherigen Versionen. Allerdings ist dieser auf die folgenden Möglichkeiten eingeschränkt:

  • Delta since previous analysis: zeigt die Unterschiede zum vorherigen Lauf mit genauer Angabe der Änderungen
  • Delta over 5 days: Veränderungen in den vergangen fünf Tagen
  • Delta over 30 days: Veränderungen in den vergangen dreißig Tagen
  • Delta over 90 days: Veränderungen in den vergangen neunzig Tagen

Mit der Time Machine bietet SonarQube ein weiteres Dashboard, das der Anzeige von "Veränderungen" in den gemessenen Projekten dient. In diesem Dashboard lassen sich eigene Ansichten auf Metriken, Codeverletzungen und dergleichen festlegen und unterschiedliche Versionsstände miteinander vergleichen. Hierbei kommen die genannten zeitlichen Filter zum Einsatz.

Anzeige von vier Versionen des Spring.NET-Frameworks in der Zeitmaschine (Abb. 13)

Bisher wurden lediglich bestehende Ansichten (Dashboards) verwendet. Will man adressatengerecht Ansichten ändern, bietet SonarQube die Möglichkeit, eigene Dashboards zu erzeugen. Hierzu kann man als entsprechend authentisierter und autorisierter Benutzer ein solches Dashboard anlegen. Dafür gibt man diesem einen Namen und eine optionale Beschreibung und legt fest, ob das Dashboard von allen Projekten genutzt werden soll ("shared").

Anlage eines neuen Dashboards mit dem Namen "DemoDashboard" (Abb. 14)

Im neuen Dashboard lassen sich die angezeigten Widgets über den Menüpunkt "Configure widgets" einstellen. Darüber hinaus kann das Layout in Maßen verändert werden: etwa von einspaltigen auf mehrspaltige Darstellungen (Standard ist zweispaltig).

Eigenes Dashboard, in das zwei Widgets eingetragen wurden (Abb. 15)