Metriken

R 2.0.0

Was ist eine Metrik?

Was ist eine Metrik?

Die Mess-Skala und das genutzte Verfahren einer Messung. [ISTQB]

Eine Metrik ist ein Zahlenwert (Maßzahl) auf einer definierten Skala, der eine Eigenschaft einer Software abbildet.

Anwendungsbeispiel

Anwendungsbeispiel
ALT MISSING

Eddy blickte auf den Vorplatz der großen Behörde, dessen geklinkerte Pflasterung vom Regen in eine spiegelnde Oberfläche verwandelt worden war. Da konnte er auch schon Theo aus der Straßenbahn aussteigen sehen. Der Gang des jungen Testmanagers erschien ihm, obwohl aus einiger Entfernung betrachtet, deutlich federnder und schwungvoller als üblich zu sein. Ihm schwante Ungemach. Neben sich erblickte er Volker. „Du Eddy, der Theo kommt so voller Elan zum Dienst, der hat bestimmt jede Menge cooler Ideen aus seiner Schulung zum Thema „Metriken" mitgebracht und brennt nun darauf sie umzusetzen."

ALT MISSING

Er seufzte. Musste dieser unsensible Klotz auch noch darauf herumreiten? Da schickte man einen derartig jungen, relativ unerfahrenen und innerlich nicht gefestigten Menschen zu einer Schulung, wo ihm ölige Verkäufertypen Produkte und Verfahren an einfachsten Beispielen vorführten. Ausgefeilte Präsentationen stellten alles plausibel und kostengünstig dar, mit signifikanten „Returns-of-lnvestments". In der Praxis skalierten diese Techniken dann höchst selten, was dazu führte, dass zusätzliche Beraterstunden eingekauft werden mussten und am Ende alles nur noch komplexer, undurchsichtiger und letztlich teurer wurde.

ALT MISSING

„Hören wir ihm doch erstmal zu." Hinter ihm stand ja noch Christiane, die wie immer Ruhe und Gelassenheit ausstrahlte und, das mussten die langen Jahre der Zusammenarbeit verursacht haben, inzwischen anscheinend seine Gedanken lesen konnte. „Sicher, hören wir ihm erstmal zu". Er drehte sich um und schaltete den Beamer mit der Fernbedienung an. „Leute, ich bin immer noch ganz geflasht", platzte es aus Theo heraus. „Die Schulung war der Knaller, ich werde Euch alles haarklein berichten“. Flugs baute er Laptop und Netzteil auf, verband das lange Kabel des Beamers mit seinem Computer und rief seine Folien auf.„You can’t control what you can’t measure"', begann er. Im weiteren Verlauf erklärte er wie das regelmäßige Messen dazu diente, Projekt- und Produktrisiken zu senken. Begriffe wie Skalen, Indikatoren, Dimensionen, Komplexität und Risiko wurden dargestellt und in einen Zusammenhang gebracht. Seine Zuhörer waren von der Darstellung fasziniert und Eddy entspannte sich zusehends.

ALT MISSING

Vieles von diesen „Neuerungen" machten sie ja bereits oder sammelten zumindest die Daten. Fehler, bzw. Abweichungen, wurden im Ticketsystem erfasst, Anforderungen waren mit eindeutigen IDs versehen, Testfallspezifikationen überprüften Akzeptanzkriterien für diese Anforderungen. Nur brachten sie alle diese Daten nicht miteinander in Beziehung. Testfallausführungen beispielsweise wurden ja gezählt: Stolz berichtete ihnen der Entwicklungsdienstleister vor jeder Inbetriebnahme wie viele Testfälle er durchgeführt hatte. Aber die Anzahl der dadurch verifizierten Anforderungen wusste er dann nicht zu berichten. „Dabei haben wir ja die Daten und müssen sie nur in eine Beziehung bringen", überlegte Eddy. „Dann können wir leicht Abdeckungsgrade ermitteln und gezielt Lücken im Testvorgehen aufzeigen und somit durch geeignete Testaktivitäten schließen." Das wäre eine erhebliche Verbesserung ihrer Testkonzeption und würde wichtige Planungsdaten an jede Projektleitung liefern.

ALT MISSING

„Vielleicht wird ja doch noch etwas aus dem jungen Mann", dachte er ein wenig gönnerhaft bei sich. Er nahm sich vor, die neuen Ideen in seinen monatlichen Statusbericht zu übernehmen und bei der nächsten Abteilungsrunde zu präsentieren. Das musste ein Profi wie er machen, nicht dass da noch was anbrannte. Apropos, sein Magen begann sich bemerkbar zu machen, „Zeit für den Gang in die Kantine". Nach der ganzen Aufregung musste er sich jetzt aber etwas Gutes tun.

Beschreibung

Metriken sind in Softwareprojekten von großer Bedeutung. Durch die im Test installierten QS-Maßnahmen und deren quantitative Messungen lässt sich die Qualität des Artefakts im Hinblick auf die relevanten Kriterien der Softwareprodukte bewerten. Zudem helfen sie dabei, potenzielle Probleme und Risiken frühzeitig zu erkennen und zu minimieren sowie die Effektivität der Prozesse zu verbessern.

Die objektive Darstellung durch klar definierte Skalen ermöglicht eine einheitliche Grundlage für die Berichterstattung, die zusätzlich zu den reinen Zahlenwerten noch um deren Interpretation und Maßnahmenempfehlungen ergänzt werden muss.

Metriken sind quantitative Angaben (Maßzahlen), die ein Überprüfen des Einhaltens von Vorgaben durch Messen des Ergebnisses ermöglichen. Messen ist somit zentrale Tätigkeit des Testmanagements.

Ziele von Metriken

Die Projektleitung kann ein Projekt nur transparent planen, kontrollieren und steuern, wenn ihr die notwendigen Informationen zur aktuellen Situation des Projekts zur Verfügung stehen. Dazu werden die Metriken zwingend benötigt.

Die SOLL-IST-Gegenüberstellung der geplanten und der realen Zahlenwerte machen den Projektstatus und -fortschritt messbar. Bei Abweichungen zum Plan können nach eingehender Analyse korrigierende Maßnahmen zur Zielerreichung getroffen werden. Die Projektleitung sollte daran auch erkennen können, ob Hindernisse erkennbar sind, die in Zukunft auftreten werden.

Die Grundlage für die notwendigen Entscheidungen dazu wird in Form von Metriken geliefert.

Aufgrund der Vielzahl der in einem Projekt vorliegenden Informationen ist es unmöglich, alle davon erfassen zu wollen. Eine solche Datenflut wäre nicht hilfreich für die notwendigen Entscheidungsprozesse. Es ist daher wichtig zu wissen, welche Informationen für die Projektleitung zur Steuerung eines Projektes notwendig sind. Anhand dieser Einschätzung ist eine Auswahl der zu erfassenden Metriken zu treffen, die der Projektleitung die benötigten Informationen zur Verfügung stellen.

Praxistipp: Es ist in der Regel selten nötig, ganz neue Daten zu erfassen, da die meisten bereits im Projektverlauf in unterschiedlichen Kontexten erhoben werden.

Gütekriterien von Metriken

Da von den Ergebnissen der Messungen im Projekt viele Entscheidungen abhängen, ist es wichtig, die verwendeten Maßstäbe zur Einschätzung der aktuellen Softwarequalität an folgenden Grundkriterien auszurichten:

  • Objektivität
    kein subjektiver Einfluss des Messenden und idealerweise automatische Erhebung

  • Reliabilität (Zuverlässigkeit)
    man erhält gleiche Ergebnisse bei Wiederholungen

  • Validität
    Messergebnisse erlauben Rückschlüsse auf die Ausprägung der Qualitätseigenschaft des Testobjekts

Weitere Kriterien kommen ergänzend hinzu:

  • Verständlichkeit und Akzeptanz
    Metriken sind verstanden, eindeutig und akzeptiert zur Vermeidung späterer Diskussionen

  • Brauchbarkeit
    nützliche Ergebnisse erfüllen praktische Bedürfnisse, wurde bereits erfolgreich eingesetzt

  • Mess- und Vergleichbarkeit
    es gibt eine normierte Skala und Vergleichsmöglichkeiten

  • Rechtzeitigkeit
    die Daten liegen früh genug vor, um Einfluss auf Entscheidungen haben zu können

  • Stabilität
    bei unbedeutenden Änderungen am Testobjekt bleibt die Aussage einer Messung stabil

  • Ökonomie
    Kosten-Nutzen der Messung stehen in angemessenem Verhältnis

Definition und Dokumentation von Metriken

Die methodische Auswahl geeigneter Metriken ist ein wichtiger Schritt am Anfang des Prozesses. Wie findet man also heraus, was man messen muss, um seine Ziele zu erreichen?

Eine verbreitete Herangehensweise zur Definition von Metriken ist die sogenannte Goal Question Metric (GQM) Konzept (Dr. Victor R. Basili). Diese geht in drei Schritten vor:

  1. Definition eines Ziels (Goal)

  2. Definition von Fragen, deren Beantwortung offenlegt, ob das Ziel erreicht wurde (Question)

  3. Definition von Metriken, welche die Beantwortung der Fragen messbar macht (Metric)

Für die sorgfältige Definition von Zielen, Fragen und Metriken sollte die entsprechende Vorbereitungszeit sowie die Einbeziehung der Beteiligten, z.B. in Interviews oder Workshops eingeplant werden.

Die Ziele lassen sich u.a. in Informations- (z.B. Wo stehen wir?) und Verbesserungsziele (Wo wollen wir hin?) unterscheiden und stellen die konzeptionelle Ebene dar. In Workshops mit den relevanten Ansprechpartnern lassen sich die Ziele festlegen und mit folgenden Dimensionen dokumentieren:

  • Objekt (Was wird analysiert? z.B. Produkt, Prozess etc.)

  • Zweck (Warum? z.B. Verbesserung, Information, Monitoring, Voraussagen etc.)

  • Qualitätsschwerpunkt (z.B. Funktionalität, Verfügbarkeit, Benutzbarkeit etc.)

  • Sichtweise (z.B. Projektleiter, Tester, Programmierer etc.)

  • Kontext (z.B. Projekt, Firma, Wartung etc.)

Zu übergeordneten Zielen lassen sich ggf. weitere Unterziele definieren.

Die Fragen auf der operationalen Ebene helfen, ein Verständnis dafür zu bekommen, durch welche Antworten die Ziele erreicht werden. In der Regel werden pro Ziel drei bis sieben Fragen definiert. Wichtig ist, dass die Fragen mit der Angabe eines Zahlenwertes beantwortet werden können.

Auf Basis dieser Fragen werden die Metriken bestimmt. Sie sind das, was gemessen wird. Durch sorgfältiges Auswählen der Metriken wird sichergestellt, dass keine unnötigen Daten erhoben werden. Die Metriken liefern die gemessenen Zahlenwerte zu den zuvor definierten Fragen. Sie können schematisch einheitlich dokumentiert werden:

Feld Bedeutung

Name/Ident.

Name bzw. Identifikator (Dateiname, ID-Nummer, …)

Beschreibung

Kurze, prägnante Beschreibung

Motivation

Ziele und Fragen, die angestrebt bzw. beantwortet werden

Ausgangsdaten

Zugrunde liegende Produktmerkmale bzw. andere Metriken

Skalenniveau

Skala (Nominal, Ordinal, Verhältnis, Intervall, Absolut)

Definition

Formel, bzw. Algorithmus zur Berechnung der Metrik

Werkzeug

Referenzen und Links auf unterstützende Werkzeuge

Darstellung

Visualisierung bzw. mögliche Diagrammtypen

Anwendungsrate

Wie oft bzw. in welchem Zeitintervall ist die Metrik zu erheben und zu veröffentlichen

Kosten

Einmalige Einführungskosten und regelmäßige Erhebungskosten

Analysemethoden

Empfohlene bzw. erlaubte statistische Operationen

Ziel- und Grenzwerte

Wertebereichvorgaben zur Produkt-, Projekt bzw. Prozessbewertung

Speicherort

Aufbewahrungsort (Konfig.-Management, Projektdatenbank, …)

Verteiler

Sichtbarkeit und Zugriffskontrolle

Schulung

Vorhandene Schulungsmöglichkeiten (Training, Unterlagen)

Beispiele

Anwendungsbeispiele inkl. Erhebung und Darstellung

Nachdem die Metriken für das Testobjekt sorgfältig ausgewählt und definiert wurden, beginnt anschließend das eigentliche Messen. Es wird geprüft, ob Vorgaben erreicht bzw. eingehalten wurden. Die Messvorschriften wie z.B. Testabdeckung, zulässige Fehlerquoten oder Antwortzeitverhalten werden festgelegt und im Ergebnis die Einhaltung zuvor definierter Wertebereichen verglichen.

Skalenniveaus

In der o.g. Tabelle zur Dokumentation ist vom Skalenniveau der Metrik die Rede. Jeder Messwert, den sie erheben, wird einem bestimmten Skalenniveau zugeordnet. Die Skalenniveaus wiederum sagen aus, was berechnungs-technisch mit den Variablen angestellt werden darf.

Je komplexer der gesuchte Informationsgehalt, desto komplexer bzw. höher muss auch das entsprechende Skalenniveau ausfallen. Deswegen gibt es unterschiedliche Skalenniveaus, die sich für verschiedene Arten der gewünschten Daten besser oder schlechter eignen.

Hier folgt nun eine kurze Vorstellung der fünf genannten Skalenniveaus:

  • Nominal
    Die vom Informationsgehalt niedrigste Stufe der Skalen ist die Nominalskala. Zwischen den Ausprägungen der Merkmale gibt es keine Zwischenstufen. Im Beispiel der Wahl eines Unterrichtsfaches gibt es keine Abstufung oder logische Rangordnungen, also nichts zwischen Erdkunde und Sport. Es existiert die eine oder die andere Wahl und nicht etwa 1,56 Sport oder 2,67 Erdkunde.
    (Beispiel: Geschlecht, Familienstand, Unterrichtsfach usw.)

  • Ordinal
    Die nächsthöhere Stufe nennt sich Ordinalskala. Im Vergleich zur Nominalskala kommt nun eine Rangfolge der Werte im Sinne von größer, höher, schneller usw. hinzu. Über die absoluten Abstände zwischen den Werten lässt sich jedoch keine Aussage treffen. (Beispiel: Bewertungsrankings, Bildungsstand, Platzierung bei einem Sportfest usw.)

  • Intervall
    Neu ist in der nächsten Stufe Intervallskala, dass der Abstand zwischen den Rangstufen gleich ist.
    (Beispiel: Temperaturskala in Grad Celsius usw.)

  • Verhältnis
    In der folgenden Stufe der Verhältnisskala gibt es im Unterschied zur Intervallskala einen absoluten bzw. natürlichen Nullpunkt. Es kann die Maßeinheit ausgewählt werden, ob z.B. die Größe in Kilogramm, Gramm oder Pfund gemessen wird.
    (Beispiel: Alter, Gewicht, Körpergröße, Einkommen usw.)

  • Absolut
    Zusätzlich zur Stufe Verhältnis kommt in der Absolutskala hinzu, dass es eine bereits natürlicherweise vorliegende feststehende Einheit existiert. Es ist die höchste Stufe der Skalenniveaus.
    (Beispiel: Einwohnerzahl eines Landes, Stückzahl der Bonbons in einer Tüte usw.)


ALT MISSING
Abb. 1: Die fünf Skalenniveaus

Man kann sich die aufeinander aufbauenden Skalen wie ein Haus mit verschiedenen Stockwerken vorstellen: das Erdgeschoss, quasi die Basis, ist die Nominalskala, das erste Obergeschoss die Ordinalskala und so weiter.

Grafische Darstellung

Ein weiterer Aspekt in der genannten Dokumentation ist die grafische Darstellung der Informationen, die häufig schneller erfasst und besser interpretiert werden können als reiner Text oder blanke Zahlen. Übliche Darstellungsformen der Informationen sind in der Praxis die unterschiedlichen Diagrammtypen, von denen hier einige vorgestellt werden:

(gestapeltes) Säulen-/Balkendiagramm

Zu den am häufigsten verwendeten Diagrammarten zählt das Säulen-/Balkendiagramm. Säulen- und Balkendiagramme sind sich ähnlich, die Balken werden lediglich waagerecht dargestellt, während die Säulen in der Regel senkrecht abgebildet werden. Die Länge bzw. die Höhe der Balken sind entscheidend und geben jeweils die Häufigkeit eines bestimmten Merkmals an. Es gibt sie auch als gestapelte Variante (s Abbildung).


ALT MISSING
Abb. 2: gestapeltes Säulen-/Balkendiagramm

Kuchendiagramm

Das Kuchen- oder Kreisdiagramm ist eine weitere populäre Variante der Darstellung von prozentualen Anteilen eines Ganzen. Der Kreis ist in einzelne Sektoren aufgeteilt, die in Summe 100% ergeben. Es gibt weitere Möglichkeiten und Ausprägungen, wie z.B. die Ring- oder Halbkreisdiagramme.


ALT MISSING
Abb. 3: Kuchendiagramm

Gruppiertes Säulen-/Balkendiagramm

Zusätzlich zum o.g. Diagramm werden die Daten gruppiert und gebündelt nebeneinander dargestellt. Somit wird ein Mehrfach-Vergleich der Entwicklung einzelner Datenreihen als auch ihr Vergleich im jeweiligen Säulenkomplex möglich.


ALT MISSING
Abb. 4: Gruppiertes Säulen-/Balkendiagramm

Liniendiagramm

Sollen mehrere Datenpunkte im Zeitverlauf dargestellt werden, eignet sich das Liniendiagramm. Die Punkte werden durch Linien verbunden und verdeutlichen einen Verlauf bzw. Trends in bestimmten Intervallen. Im Unterschied zu den anderen Diagrammtypen lassen sich auf diese Art Zwischenwerte darstellen. Besonders geeignet ist das Liniendiagramm dafür, Änderungen bei verschiedenen Werten über einen festgelegten Zeitabschnitt zu vergleichen.


ALT MISSING
Abb. 5: Liniendiagramm

Ampelfunktion

Durch die Anlehnung an die Verkehrsampel erreicht man mit diesem dreistufigen Indikator eine vereinfachte Statusdarstellung. Es bedarf der Definition von Schwellenwerten, die für die Anwendung der jeweiligen Farbe angewendet werden. Die Ampel wird häufig zur Verdeutlichung eines Gesamtbildes z.B. für ein Projekt oder eine Anwendung benutzt. Bei Rot ist die Lage kritisch und es müssen entsprechende Maßnahmen ergriffen werden, Orange deutet auf notwendige Verbesserungen hin und bei Grün herrscht der gewünschte Status.


ALT MISSING
Abb. 6: Ampelfunktion

Beispiele und häufig genutzte Metriken

In unserem Beispiel (Auszug) zur Definition der Metriken verwenden wir die GQM-Methode und wählen die Rolle bzw. den Blickwinkel des Testenden in einem Softwareentwicklungsprojekt.

Ziel: Es soll über den aktuellen Qualitätsstand der in der Phase entwickelten und getesteten Software in einem Abschlussbericht transparent informiert werden.

Unterziel 1: Informationen über die Testvorbereitungen
Unterziel 2: Informationen über die Zeit- und Ressourcendaten der Testmaßnahme
Unterziel 3: Informationen zur Testdurchführung der Testfälle
Unterziel 4: Informationen zum Status der Abweichungen

Messziele Unterziele Fragen Darstellung Metriken

Informationsziel: Bericht über den aktuellen Status der Qualität der Software

Z1:
Information über Teststatus

UZ1:
Testvorbereitung

F1:
Wie ist der Entwicklungsstatus der Testfälle (z.B. in Arbeit, BzA, abgenommen)?

gruppiertes säulendiagramm

M1:
Anzahl der Testfälle pro Testfallstatus

F2:
Wie viele Anwendungsfälle der Risikoklasse waren nicht durch Testfälle abgedeckt?

gruppiertes säulendiagramm

M2:
Anzahl der Anwendungsfälle in RK A, für die keineTestfälle existieren


UZ2:
Zeit und Ressourcen

F3:
Wie viele Testende kamen pro Testzyklus zumEinsatz?

gruppiertes säulendiagramm

M3:
Anzahl der Testenden pro Testzyklus

F4:
Um wie viele Tage musste der Testzyklus verlängert werden?

gruppiertes säulendiagramm

M4:
Anzahl Tage Verschiebung nach Testzyklus

F5:
Wie viele Testfälle konnten pro Tag/Woche von den Testenden ausgeführt werden?

liniendiagramm

M5:
Anzahl der durchgeführten Testfälle pro Tag/Woche in den Testzyklen

…​

Häufig genutzte Software-Metriken:

  • Produkt-Metriken

    • Anzahl festgestellter Abweichungen

      • Nach Status

      • Nach Kritikalität

      • Nach Öffnungsdatum

      • Releasebezug

      • Duplikate

      • Offen vs. geschlossen (Entwicklung seit Projektstart)

      • Bezogen auf Komponenten/Anwendungsfälle

    • Ergebnis ausgeführter Testfälle (Pass/Fail/Unexecuted/Blocked)

  • Prozess-Metriken

    • Überwachung des Testfortschritts

      • Anzahl ausgeführter Testfälle vs. geplanter Umfang

      • Entwicklung Testdurchführungen im Zeitverlauf

    • Eingesetzte Testfälle

      • Anzahl Testfälle insgesamt

        • Aufschlüsselung (Regression/Abnahmetest usw.)

      • Anzahl automatisierter Testfälle

      • Anzahl obsoleter Testfälle

      • Anzahl erstellter Testfälle je Sprint

Quellen