Verwendung von Metriken in der Verifizierung (Blog 3/5)

12.09.2018
Sebastian Gerlich

Ein häufig unterschätztes Thema in der Verifizierung aber auch in der Entwicklung allgemein sind die Definition und Auswertung von geeigneten Metriken. Unterschätzt dahingehend, dass die Metriken häufig als unnötige „Erbsenzählerei“ und nicht als essentielles Instrument zu Steuerung der Verifizierung empfunden werden.
Im folgenden dritten Teil meiner Blogreihe „Bottleneck: Verifizierung“ möchte ich versuchen den Blick auf dieses, in meinen Augen, wichtige Thema zu schärfen und den Nutzen von geeigneten Metriken aufzuzeigen.
Oft werden Verzögerungen bei der Verifizierung, aber auch der Reifegrad des Produktes falsch eingeschätzt. Dies ist häufig auf fehlende Metriken zurückzuführen, die es ermöglicht hätten, Abweichungen von der Zeitplanung oder einen mangelhaften Reifegrad frühzeitig zu erkennen.
Durch geeignete Metriken wird es den projektbeteiligten Personen erst möglich, rechtzeitig Abweichung von der Planung zu erkennen und darauf zu reagieren. Die Auswahl von geeigneten Metriken ist notwendig, um den Erfolg oder Misserfolg, sowie den Fortschritt messbar zu machen. Die Metriken liefern fundierte Daten für die Steuerung und Bewertung von Projekten, in diesem Fall der Verifizierung.
Grundlegende Metriken sollten bereits in der allgemeinen Teststrategie definiert und für das jeweilige Projekt skaliert angewendet werden. Es gilt hierbei der Grundsatz:
 
Zu viele Metriken sind genauso schlecht wie gar keine Metriken
Dies bedeutet, dass die Auswahl von zu vielen Metriken den gleichen Effekt haben, wie gar keine Metriken hinsichtlich ihrer Aussage und als Entscheidungsunterstützung. Deshalb sollte die Definition von Metriken immer hinsichtlich des Nutzens stattfinden und nicht davon getrieben sein, dass man Metriken liefern muss.
Innerhalb der Verifizierung sollten folgende zwei Arten von Metriken mindestens erhoben werden, um den Erfolg der Verifizierung und auch die frühzeitige Aufdeckung von Problemen sicherzustellen.
Spezifikation- und Testfortschritt
Diese Metrik sollte den Fortschritt bei der Definition der Testfälle in Abhängigkeit von der Gesamtanzahl der zu spezifizierenden Testfälle und im späteren Verlauf die durchgeführten Testfälle in Abhängigkeit von der Gesamtanzahl der durchzuführenden Testfälle darstellen.
Der Nutzen dieser Erhebung ist die Steuerung und Überwachung des definierten Zeitplans. Es ermöglicht frühzeitig das Gegensteuern, sobald eine Abweichung gegenüber dem Zeitplan erkannt wird.
Sie sollte in regelmäßigen Abständen der Projektleitung, aber auch dem Verifizierungsteam zur Verfügung gestellt werden. Darüber hinaus sollte diese Metrik als Endkriterium für eine Test- bzw. Entwicklungsstufe herangezogen werden.
Fehlerfindungsrate
Diese Metrik spiegelt die Fehlerfindungsrate in der jeweiligen Teststufe wieder. Hier sollte die Anzahl der gefunden Fehler in Abhängigkeit von der aufgewendeten Zeit oder durchgeführten Testfälle dargestellt werden.
Die Fehlerfindungsrate spiegelt den Reifegrad des Produkts wieder und hilft bei der Entscheidung, ob die Testaufwände ausreichend sind. Hierbei gilt der Grundsatz, dass bei einer hohen Fehlerfindungsrate in einer Komponente oder einem Modul, die Wahrscheinlichkeit groß ist, dass noch weitere Fehler in der jeweiligen Komponente oder Modul gefunden werden. Somit wäre weiterer Testaufwand ratsam, wenn nicht sogar notwendig, um die Qualität des Produkts sicherzustellen.
Die Fehlerfindungsrate sollte ebenso wie der Spezifikations- und Testfortschritt als Endkriterium für eine Teststufe oder Entwicklungsstufe herangezogen werden und ebenfalls der Projektleitung und dem Verifizierungsteam zur Verfügung gestellt werden.
Weitere Varianten der Fehlerfindungsrate sind die gefundenen Fehler in Abhängigkeit von ihrem Schweregrad, Anzahl der Fehler pro Modul und Fehleranzahl in Abhängigkeit von der Teststufe.
Über diese beiden Arten von Metriken hinaus können auch noch beliebig weitere Metriken definiert werden, z.B.

  • Anforderungsänderungen pro definierten Zeitraum oder
  • Testspezifikationsfehler pro definierten Zeitraum.

Diese Metriken dienen häufig der Überwachung der Qualität des Anforderungsmanagements und des Testfalldesigns. Dabei sollten aber immer die grundlegenden Kriterien für die Verwendung von Metriken beachtet werden, um die Gesamtanzahl der Metriken schlank zu halten.
Darüber hinaus sollte bei der Erstellung der Metriken eine maximale Automatisierung erreicht werden. Wird die Erstellung der Metriken als Last empfunden, überlagert dies die positiven Aspekte und führt dazu, dass Metriken im schlimmsten Fall nicht regelmäßig erzeugt werden. Etablierte Testmanagement-Tools bieten hier bereits eine gute Grundlage und bedürfen in der Regel nur kleiner Anpassungen und Erweiterungen, um diese in die eigene IT-Landschaft einzubinden.
Kriterien für die Verwendung von Metriken
Die Metriken, die während der Verifizierung erhoben werden, sollten bereits vor Beginn der Verifizierung definiert und etabliert sein. Es sollten immer folgende Kriterien und Fragestellungen beachtet werden, um „gute“ Metriken zu definierten

  • Was möchte man messen?
  • Welche Aussage soll die Metrik treffen?
  • Welche Grenzwerte gelten?
  • Welche Entscheidung resultiert aus der Metrik und den Grenzen?

Ist man sich bei der Beantwortung einer dieser Fragen unsicher, sollte man insgesamt den Nutzen der Metrik hinterfragen und begründen zu welchem Zweck man die Metrik dennoch benötig.

Grundsätzlich gilt, dass aus den zu erhebenden Metriken immer Entscheidungen abgeleitet werden sollten. Dies bedeutet, dass bereits zu Beginn des Projekts klar ist, welche Grenzwerte als Start-/Endkriterium oder als Indikator zum Handeln dient. Dient eine Metrik nicht der Steuerung oder Entscheidung, ist diese in den meisten Fällen überflüssig und sollte nicht erhoben werden. In diesem Fall wäre eine Metriken dann tatsächlich nur „Erbsenzählerei“.
Die Metriken dienen immer der Bewertungen von Teams oder Projektteilen. Mit Metriken sollten nie die Arbeit von einzelnen Personen gemessen werden. Dies führt häufig zu Konflikten innerhalb der Teams. Ein einzelnes Teammitglied sollte z.B. nicht daran gemessen werden, wie viele Fehler es findet, weil die Anzahl der gefundenen Fehler häufig abhängig ist von dem getesteten Objekt und den Anforderungen und nicht zwingend einen Rückschluss auf die Qualität der Arbeit des Teammitglieds zulässt.
Zusammenfassend kann man sagen, dass Metriken die geeigneten Instrumente sind, um

  • Abweichungen vom Projektplan frühzeitig zu erkennen,
  • die Qualität der durchgeführten Verifizierungsmaßnahmen zu bewerten und
  • objektive und fundierte Entscheidungen zu treffen.

Dabei sollte aber immer darauf geachtet werden, dass neue Metriken nicht leichtfertig erhoben werden, sondern immer die Kriterien für „gute“ Metriken erfüllt werden. Die Metriken sollten ebenfalls nie dem Zweck dienen, die Qualität der Arbeit von einzelnen Personen zu messen.
 
Metriken sollen auch motivieren
Abschließend möchte ich noch darauf hinweisen, dass Metriken nicht nur der Außendarstellung dienen und somit nur als zusätzliche Belastung empfunden werden. Es hat sich viel mehr gezeigt, dass gut verfügbare und verständliche Metriken zur Motivationssteigerung innerhalb der Teams führt. Die Arbeit des Teams und vor allem der Fortschritt des Teams werden transparent. Es entsteht ein gewisser Stolz auf den Fortschritt, den man erreicht. Aus diesen Gründen sollten die Metriken auch dem Team zur Verfügung gestellt werden und nicht nur den Stakeholdern eines Projektes.
[toggle type=”” title=”Über Shared Testing”]Als Partner für den gesamten Testprozess erarbeitet SCOPE Engineering gemeinsam mit seinen Kunden ganzheitliche Unterstützungsstrategien und setzt diese mit einer bedarfsgerechten Kombination aus Expertenwissen, operativer Unterstützung und dem Outsourcing abgrenzbarer Arbeitspakete um. Dabei greift das Unternehmen auf ein nachhaltig wachsendes Netzwerk vertrauter Kompetenzträger zurück und nimmt Kundenunternehmen so das Risiko der Zusammenarbeit mit fremden Unternehmen. Die langjährige Projekt- und Testerfahrung des Unternehmens in sicherheitskritischen und streng normenregulierten Branchen ermöglicht es SCOPE Engineering dabei, gewachsenes Know-how zielgerichtet einzusetzen. Als Partner begleitet SCOPE Engineering seine Kunden über das gesamte Projekt hinweg und kann so bedarfsgerecht Anpassungen vornehmen, sodass eine ressourcenoptimierte Lösung sichergestellt wird.[/toggle]

0 Kommentare

Einen Kommentar abschicken

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.