Produkttests sind ein entscheidender Schritt in der Softwareentwicklung, und sie dulden keine Leichtfertigkeit. Sie stützen sich auf Testwerkzeuge und Frameworks, mit denen Ihr Softwareprodukt zahlreiche Testfälle durchläuft, die den realen Einsatz simulieren. Um den vollen Nutzen aus Ihrem Produkttestprozess zu ziehen, sollten Sie Ihr Produkt anhand von Faktoren testen, die als Softwaretestmetriken bezeichnet werden.
Diese Softwaretest-Metriken sind ein Messstandard, anhand dessen ein QA-Team die Qualität und Effektivität des Testprozesses bewertet. In diesem Leitfaden für Softwaretest-Metriken erfahren Sie Folgendes:
Was ist eine Softwaretest-Metrik?
Softwaretest-Metriken sind quantitative Messgrößen, mit denen Qualitätssicherungs-Teams (QA) die Effizienz, den Fortschritt und die Leistung eines Softwaretestsystems überprüfen. Softwaretest-Metriken vermitteln dem QA-Team ein besseres Verständnis der verbesserungswürdigen Bereiche, unabhängig davon, ob es sich um manuelle oder automatisierte Tests handelt.
Das Hauptziel der QS-Metriken besteht darin festzustellen, ob die aktuellen Testtechniken dazu beitragen, das gewünschte Qualitätsniveau zu erreichen. Sie sind auch hilfreich bei der Identifizierung von Hindernissen und Produktivitätskillern im Testprozess, was zu einer schnelleren Softwarefreigabe führt.
Testmetriken vereinfachen auch die QS-Berichterstattung, da Sie über datengestützte Informationen verfügen, die einen sofortigen Überblick über die Effektivität des Softwaretestprozesses im Laufe der Zeit geben.
Um die höchste Produktqualität zu gewährleisten, entwickeln einige Unternehmen ihre eigenen Metriken für QA-Tests. In anderen Fällen verwenden sie vielleicht eine Vorlage für Testmetriken, um Zeit zu sparen.
Warum sind Testmetriken wichtig?
Warum sind Testmetriken so wichtig für Softwaretests und -entwicklung? Im Folgenden werden einige Gründe genannt, warum jedes Entwicklungsteam Testmetriken in seine Arbeitsabläufe einführen sollte:
- Unvoreingenommene Bewertung. Entwickler und QAs können beurteilen, ob ihre Testwerkzeuge und das Testsystem alle erforderlichen Standards erfüllen oder ob sie es ändern müssen, um die Testeffizienz zu erhöhen. Durch die Verwendung quantitativer Metriken vermeiden Sie subjektive Meinungen.
- Bessere Entscheidungsfindung. Softwaretest-Metriken helfen den Entwicklungsteams, fundiertere Entscheidungen über den Testprozess zu treffen. Mit Hilfe von Metriken für Automatisierungstests lässt sich beispielsweise feststellen, ob ein automatisierter Test mehr Zeit in Anspruch nimmt als veranschlagt. Sie könnten künftige Tests entsprechend den Ergebnissen der Metriken anpassen.
- Bessere Sichtbarkeit. Das Entwicklungsteam kann feststellen, welche Änderungen an der Qualitätssicherung vorgenommen werden müssen, um sicherzustellen, dass kritische Fehler konsistent erfasst werden und das Produkt den Standards entspricht. Testmetriken helfen dabei, die fehleranfälligsten Bereiche zu erkennen und den Zusammenhang zwischen bestimmten Benutzeraktionen und den Fehlfunktionen der App herzustellen.
Vorteile von Software-Testmetriken
Wenn QA-Teams Testmetriken auf ihre Projekte anwenden, erhalten sie mehr Einblicke und sehen andere Vorteile. Lassen Sie uns kurz einige der wichtigsten Vorteile betrachten.
Verbesserte Testeffizienz
Mithilfe von Software-Testmetriken können QAs erkennen, welche Verbesserungen ihr Testsystem benötigt, um effizienter zu werden. Wenn das Testsystem eine bestimmte Kennzahl nicht erfüllt, zeigt dies dem QA, dass die Technik in diesem Bereich unzureichend ist und optimiert werden muss, um dies auszugleichen.
Höhere Produktqualität
Die kontinuierliche Überwachung Ihrer Teststrategie ermöglicht es Ihnen, Engpässe frühzeitig zu erkennen. Die regelmäßige Verfolgung Ihrer Leistungstest-Metriken trägt dazu bei, dass Ihre Anwendung stabil bleibt und läuft, was wiederum zur allgemeinen Sicherheit und Qualität des Produkts beiträgt.
Bessere Risikominderung
Testmetriken helfen Ihnen, allgemeine Muster zu erkennen und risikoreiche Bereiche Ihres Softwareprodukts zu definieren. Sie ermöglichen es Ihnen, Ihr Testsystem zu verbessern, indem Sie die Ressourcen sinnvoll einsetzen und die Aspekte mit den größten Auswirkungen hervorheben, die im Falle eines Fehlers großen Schaden anrichten können.
Kontinuierliches Upskilling
Durch Testmetriken lernt das QA-Team, sich bei der Qualitätssicherung nicht allein auf Testwerkzeuge zu verlassen. Jeder Produktentwicklungsprozess hat seine eigenen Besonderheiten, auch wenn Sie die gleichen Schritte befolgen. Daher ist es wichtig, Testmetriken zu verwenden, um zu sehen, was funktioniert, und neue Testmethoden und -techniken anzuwenden, wenn die Ergebnisse unzureichend sind.
Höhere Kundenzufriedenheit
Testmetriken helfen dabei, mehr kritische Fehler zu finden, bevor sie in die Entwicklung gelangen, was zu einem reibungsloseren Benutzererlebnis führt. Aufgrund der verbesserten Effizienz können die Entwicklungsteams auch häufiger Updates und neue Funktionen veröffentlichen, was den Benutzern die Gewissheit gibt, dass das Produkt gut gewartet und sicher ist.
Testmetriken helfen dabei, Engpässe frühzeitig im Testzyklus zu erkennen und herauszufinden, welche Prozesse oder Methoden geändert werden müssen.
Effizientere Tests bedeuten mehr entdeckte Fehler und eine bessere Codeabdeckung, was die Produktqualität erhöht.
Testmetriken helfen Ihnen, die risikoreichen Bereiche Ihrer Anwendung zu identifizieren und Umsatzeinbußen durch gründliches Testen dieser Module zu vermeiden.
Testmetriken helfen dabei, die Qualitätsmesslatte hoch zu halten und Updates regelmäßig zu veröffentlichen, was zu einer reibungslosen Benutzererfahrung führt.
Lebenszyklus von Testmetriken
Ein Lebenszyklus für Testmetriken besteht aus vier Phasen: Analyse, Kommunikation, Bewertung und Berichterstattung. Was bedeuten sie? Wir haben alles in der folgenden Tabelle aufgeschlüsselt:
Analyse
- Der erste Schritt besteht darin, die einzelnen QS-Kennzahlen zu ermitteln und zu definieren, damit sie klar verständlich sind.
Kommunikation
- Stellen Sie sicher, dass die Stakeholder und das QA-Team die Notwendigkeit von Software-Testmetriken verstehen. Verwenden Sie die Aufzählungspunkte aus dem vorherigen Abschnitt, um die Bedeutung und den Nutzen von Testmetriken zu erläutern.
- Gehen Sie für das Testteam noch weiter, indem Sie sicherstellen, dass es versteht, welche Datenpunkte für die Metriken erfasst werden müssen und warum.
Bewertung
- Diese Phase umfasst die Erfassung, Quantifizierung und Überprüfung der Daten.
- Wenn alle Daten erfasst sind, berechnen Sie den Wert der Metriken.
Berichterstattung
- Sammeln Sie alle Informationen in einem Bericht und ziehen Sie eine Schlussfolgerung auf der Grundlage der Ergebnisse der Metriken.
- Versenden Sie den Bericht per E-Mail und verteilen Sie ihn an Stakeholder, Mitglieder des QA-Teams und Entwickler, damit alle auf dem gleichen Stand sind.
- Lassen Sie Raum für Feedback von allen, die den Bericht erhalten haben.
Denken Sie daran, dass es nicht ausreicht, Messgrößen für die Qualitätssicherung festzulegen und zu verwenden. Sie müssen auch umfassendes Feedback erhalten und darauf reagieren. Nutzen Sie Ihr Wissen, Ihre Erfahrung und Ihren Ermessensspielraum, um zu entscheiden, welche Vorschläge umgesetzt werden sollten und welche Ihrem Entwicklungsprozess und der Produktqualität nicht zuträglich sind.
Klassen und Typen von Software-Testmetriken
Wie im vorigen Abschnitt beschrieben, ist die erste Phase des Lebenszyklus von Testmetriken die Analysephase, in der Ihr QA-Team die zu testenden Metriken identifiziert und definiert. Was aber, wenn Sie noch nicht wissen, was genau gemessen werden soll? Die Verwendung einer Vorlage für Testmetriken ist eine vernünftige Entscheidung.
Zunächst sollten Sie jedoch wissen, dass Testmetriken in der Regel in vier Hauptkategorien eingeteilt werden:
- Prozessmetriken: Diese haben mit der Verbesserung der Effizienz des Testprozesses zu tun. Sie lassen das Entwicklungsteam wissen, welcher Teil der Teststrategie verbessert werden muss und was gut funktioniert.
- Produktmetriken: Diese dienen zur Messung der Produktqualität. Zu den Produktmetriken gehören Leistungstestmetriken, die Gesamtzahl schwerer Fehler, die Fehlerdichte usw.
- Projektmetriken. Sie dienen der Bewertung der Leistung des QA-Teams als Ganzes. Die Abschlussrate von Testfällen, die Abdeckung der Testautomatisierung und die Fehlerbehebungsrate sind alles Beispiele für Projektmetriken.
- Metriken für Menschen. Hier geht es um die Bewertung der Fähigkeiten und der Produktivität einzelner Tester und des gesamten Testteams des Projekts. Hier finden Sie Metriken wie Probleme pro Berichterstatter oder die Fehlerentdeckungsrate.
Berücksichtigen Sie bei der Festlegung der Testmetriken die Zielgruppe Ihres Produkts und die Testziele.
Arten von Testmetriken: Manuelles und automatisiertes Testen
Testmetriken können ebenfalls in zwei Typen unterteilt werden, nämlich in manuelle und automatisierte Tests. Beim manuellen Testen führen die QA-Analysten alle Berechnungen selbst durch, ohne die Hilfe von Automatisierungssoftware. Sie wird weiter unterteilt in Basismetriken (Rohdaten) und berechnete Metriken (berechnet aus den Rohdaten).
Beispiele für Basismetriken sind die Anzahl der erforderlichen Testfälle und die Anzahl der bestandenen, fehlgeschlagenen oder blockierten Testfälle. Ein Beispiel für berechnete Metriken ist die Fehlerschlupfquote.
Für die Metriken der Automatisierungstests verwendet das QA-Team Tools und Techniken, die Informationen automatisch sammeln und verarbeiten. Ein Beispiel für automatisierte Testmetriken ist die Effektivität von Automatisierungsskripten.
Von beiden Arten bevorzugen Entwickler in der Regel automatisierte Tests und Metriken, weil sie schneller, aber auch komplexer sind. Automatisierte Tests erfordern eine ständige Aktualisierung und ein gutes Verständnis dafür, wie die Testmetriken in Bezug auf die Sprache, das Tool und die Bibliothek zu verwenden sind.
Die wichtigsten Softwaretest-Metriken
Die Metriken für Softwaretests unterscheiden sich je nach den spezifischen Projektanforderungen. Wir haben jedoch einige der gebräuchlichsten aufgelistet, die jedes QA-Team ohne weiteres übernehmen kann:
- Testabdeckung: Hier können Sie grob abschätzen, wie vollständig Ihr Testprozess ist. Sie vermittelt Ihnen eine Vorstellung davon, wie gut die vorhandenen Testfälle den Anwendungscode abdecken und ob das QA-Team jeden Testfall ausgeführt hat. Sie können die Testabdeckung nach Funktion, GUI, Anwendungsfällen, Risiken usw. messen.
- Testautomatisierungsabdeckung: wird verwendet, um den Prozentsatz der automatisierten Testfälle zu berechnen. So können Sie zusätzliche Möglichkeiten für die Testautomatisierung erkennen, was zu schnelleren Releases und Kosteneinsparungen führt.
- Fehlerdichte: hilft festzustellen, ob ein Softwaremodul für die Freigabe bereit ist. Sie misst die Anzahl der gefundenen Fehler pro Funktionalität. Um diese Testmetrik zu berechnen, teilen Sie die Anzahl der Fehler durch die Anzahl der Codezeilen. 1 Fehler pro 1000 Codezeilen gilt als Indikator für hohe Softwarequalität.
- Fehlerverteilung: Hier können Sie sehen, welche Bereiche Ihrer Anwendung anfällig für Fehler sind oder welche Benutzeraktionen normalerweise zu Störungen führen. Sie können die Fehlerverteilung nach Schweregrad, Modul, Testtyp usw. messen. Diese Testmetrik hilft Ihnen, die problematischsten Teile Ihrer Software hervorzuheben.
- Fehlerbehebungszeit: gibt Ihnen Aufschluss darüber, wie viel Zeit in der Regel von der Meldung eines Fehlers bis zu seiner Behebung vergeht. Wenn Sie Softwaretests auslagern und die Fehlerbehebungszeit verkürzen möchten, suchen Sie nach Anbietern mit der richtigen Zeitzonendifferenz, um von Tests über Nacht zu profitieren. Auf diese Weise geht keine Zeit mit dem Warten auf die Rückmeldung der QAs verloren.
- Fehlerursache: Zeigt Ihnen die Ursache des Problems. Achten Sie bei der Analyse von Testfallergebnissen darauf, dass Sie die Ursache des Problems erwähnen. Trat der Fehler aufgrund einer Lücke in den Anforderungen, eines Codefehlers, eines Architekturfehlers oder einer falsch konfigurierten Umgebung auf?
- Defect Severity Index: zeigt den allgemeinen Zustand Ihres Produkts an. Je niedriger der Index, desto besser. Je nach Auswirkung auf die Software wird jedem Fehler eine Zahl zugewiesen, z. B. 8 für einen Blocker und 1 für einen kleinen Fehler. Um den Index zu berechnen, multiplizieren Sie die Anzahl der Fehler mit der zugewiesenen Zahl und teilen Sie die Summe durch die Gesamtzahl der Fehler.
- Defect Containment Efficiency: misst die Effektivität des Testprozesses. Einfach ausgedrückt, zeigt sie, wie gut Ihre Testfälle und -techniken Fehler aufspüren, bevor der Code an die Produktivumgebung übergeben wird. Ein hoher Wert bedeutet, dass die meisten Fehler rechtzeitig gefunden werden. Zur Berechnung teilen Sie die Anzahl der während der Testphase gemeldeten Fehler durch die Summe der während der Testphase und nach der Veröffentlichung gemeldeten Fehler und multiplizieren Sie mit 100.
- Schedule Adherence (Einhaltung des Zeitplans): gibt Auskunft darüber, ob die Testzeit den Zeitplan überschritten hat oder unter der vorhergesagten Dauer lag. Diese Informationen sind wichtig, um die Projektplanung zu verbessern und konsistente Software-Releases zu erreichen.
Beispiel für Formeln für Softwaretest-Metriken
Wenn Sie erst einmal gelernt haben, wie man Softwaretest-Metriken berechnet, werden Sie feststellen, dass diese gar nicht so schwierig sind. Im Folgenden finden Sie einige Beispiele für Berechnungsformeln für Softwaretestkennzahlen:
Prozentsatz ausgeführter Testfälle
(Anzahl der ausgeführten Testfälle Gesamtzahl der geschriebenen Testfälle) 100
Durchschnittliche Zeit für das Entwicklungsteam zur Behebung von Defekten
Gesamtzeit für die Fehlerbehebung Anzahl der Fehler
Anzahl der durchgeführten Tests pro Zeitperiode
Anzahl der durchgeführten Tests Gesamtzeit
Kriechende Anforderungen
(Gesamtzahl der hinzugefügten Anforderungen Anzahl der ursprünglichen Anforderungen) 100
Prozentualer Anteil bestandener Testfälle
(Anzahl der bestandenen Tests Gesamtzahl der durchgeführten Tests) 100
Kritische Defekte Prozent
(Kritische Fehler Gesamtzahl der gemeldeten Fehler) 100
Aufgeschobene Defekte Prozentsatz
(Aufgeschobene Fehler für zukünftige Versionen Gesamtzahl der gemeldeten Fehler) 100
Akzeptierte Defekte Prozentsatz
(Mängel, die vom Entwicklungsteam als gültig akzeptiert wurden Insgesamt gemeldete Mängel) 100
Behobene Defekte Prozentsatz
(Behobene Defekte Gemeldete Defekte insgesamt) 100
Blockierte Testfälle Prozentsatz
(Anzahl der blockierten Tests Gesamtzahl der durchgeführten Tests) 100
Fehlgeschlagene Testfälle Prozentsatz
(Anzahl der fehlgeschlagenen Tests Gesamtzahl der durchgeführten Tests) 100
Kosten für gefundene Defekte
Gesamtaufwand für das Testen beim Testen gefundene Mängel
Zeitplanabweichung
(Tatsächliches Enddatum – Geschätztes Enddatum) (Geplantes Enddatum – Geplantes Startdatum) 100
Abweichung vom Zeitplan
(Tatsächliches Lieferdatum – Geplantes Lieferdatum)
Auf der Grundlage der obigen Formeln können wir nun einige Testkennzahlen manuell berechnen. Zunächst wählen wir die Basismetriken für den Test aus und ermitteln die Werte dieser Metriken. Nachstehend finden Sie eine Tabelle mit den Metriken und Werten, die wir für unser Beispiel verwenden werden:
1
Anzahl der Anforderungen
10
2
Durchschnittliche Anzahl der geschriebenen Testfälle pro Anforderung
20
3
Gesamtzahl der geschriebenen Testfälle für alle Anforderungen
200
4
Gesamtzahl der ausgeführten Testfälle
150
5
Anzahl der bestandenen Testfälle
90
6
Anzahl der fehlgeschlagenen Testfälle
30
7
Anzahl der blockierten Testfälle
30
8
Anzahl nicht ausgeführter Testfälle
50
9
Gesamtzahl der identifizierten Fehler
45
10
Anzahl kritischer Fehler
5
11
Hohe Fehleranzahl
15
12
Mittlere Fehleranzahl
20
13
Niedrige Fehleranzahl
10
Beispiele für die Berechnung von Testmetriken
Als Nächstes werden wir einige Formeln befolgen und die entsprechenden Zahlen für unsere Beispielrechnung eingeben.
Prozentsatz der ausgeführten Testfälle
Formel: (Anzahl der ausgeführten Testfälle Gesamtanzahl der geschriebenen Testfälle) 100
Berechnung: (150 200) 100 = 75%
Prozentualer Anteil der bestandenen Testfälle
Formel: (Anzahl der bestandenen Tests Gesamtzahl der durchgeführten Tests) 100
Berechnung: (90 150) 100 = 60%
Prozentualer Anteil der nicht bestandenen Testfälle
Formel: (Anzahl der fehlgeschlagenen Tests Gesamtzahl der durchgeführten Tests) 100
Berechnung: (30 150) 100 = 20%
Prozentualer Anteil der kritischen Fehler
Formel: (Kritische Fehler Gesamtzahl der gemeldeten Fehler) 100
Berechnung: (5 45) 100 = 11%
Sobald Sie die Ergebnisse haben, können Sie sie mit der Branche oder internen Benchmarks vergleichen und feststellen, ob es drastische Abweichungen gibt. Sie können auch sehen, wie sie im Vergleich zu den historischen Unternehmensdaten aussehen.
Abschließende Überlegungen
Testmetriken sind hervorragend geeignet, um Ineffizienzen im Softwaretestprozess aufzuzeigen. Sie verschaffen Delivery Managern und Testanalysten zeitnahe Einblicke in die Qualität des Produkts und die Gesamtleistung des Teams.
Wenn Sie feststellen, dass Ihr Softwaretestprozess ineffizient geworden ist oder nie die erwarteten Ergebnisse gebracht hat, sollten Sie Ihre Arbeitsabläufe mit neuen Augen betrachten. Wir von QAwerk haben über 300 Projekte für Unternehmen in Nordamerika, Europa, Australien und Neuseeland getestet und ihnen dabei geholfen, effektive Testprozesse zu etablieren, die Lieferzyklen zu beschleunigen und eine angemessene Abdeckung mit manuellen und automatisierten Tests zu erreichen.
Zögern Sie nicht kontaktieren Sie uns, um ein kostenloses und unverbindliches Gespräch zu vereinbaren, in dem wir Ihre täglichen QA-Herausforderungen erkunden und mögliche Lösungen für diese anbieten. Dabei können wir auf unsere langjährige Erfahrung in den Bereichen E-Commerce, Medien & Unterhaltung, Gesundheitswesen, UX und Fintech zurückgreifen.
Viel Glück auf Ihrem Weg zum Software-Testen!