Was ist eine Softwaremetrik

Was ist eine Softwaremetrik

Metrik ist eine quantitative Maß eines Grades, zu dem die Software oder das Verfahren einige Eigenschaft besitzt. Die Nutzung von den Metrikern bei der Softwareentwicklung und vor allem bei der Testing ist sehr wichtig. Zu diesem Zweck müssen wir die Kriterien des Erfolges von Testprozess setzen und dann die Probleme identifizieren, die die Prozesseffizienz beeinflussen. Metriker werden verwendet, um die Prozessstatus zu beurteilen und die Entscheidungen zu machen. Um Testqualitätsmetriken zu erzeugen, müssen Sie den Testprozess, seinen Phasen und Aufgaben verstehen. Tester sind in Anforderungen von Forschung und Analyse, Testentwurf, Testdurchführung, Fehlerberichte, Regressionstests beschäftigt.

Inakzeptable Testqualitätsmetriken

Beim Nachdenken über die Testqualitätsmetriken, die Anzahl der erkannten Fehler is das erste, was in den Sinn kommen könnte. Doch kann man sie nicht verwenden, um die Qualität der Tests zu bewerten. Vielmehr erlaubt sie die Produktqualität zu messen. Die Anzahl von der BESTANDEN und NICHT BESTANDEN Testfällen oder die Anzahl von der Offen, Geschlossen, WIEDEREROFFNETE Bugs können auch als Testqualitätsmetriken nicht sein, denn sie beurteilen die Arbeit der Entwickler.
Das Konzept der Testabdeckung hat eine mehrdeutige Interpretation. Einerseits ist die Testabdeckung ein Ausmaß, zu dem der Software-Code oder die Anforderungen durch Testfälle abgedeckt werden. Andererseits bezieht sich Testabdeckung auf den Prozentsatz der durchgeführten Tests.
Die letzte kann nicht als Testqualitätsmetrik verwendet werden, denn viele Faktoren beeinflussen die Testeleitung abgesehen von Testern. Zum Beispiel,wenn die Qualität des Kodes ist niedrig, dann verbringen die Tester ihre Zeit um es zu lernen, Bugs zu berichten und das Kode wieder zu testen, anstatt neuer Tests durchzuführen.

Akzeptable Testqualitätsmetriken

Es gibt solche Testqualitätsmetriken, wie Testabdeckung in Prozent, Defekte in Prozent nach der Release, durchschnittliche Bearbeitungszeit der Defekte, Ausschuss in Prozent, Prozentsatz der Mängel, die unter die Kategorie “Weitere Daten anfordern” fallen.

Testabdeckung in Prozenten

Je mehr die Klassen von Situationen abgedeckt sind, desto mehr Defekte können identifizieren werden.
In diesem Fall kann die Testabdeckung der Qualitätsmetrik von Testdesign sein.
Der letzte Testpaket bestimmt die Ebene der Testabdeckung. 100% der Testabdeckung ist wegen der Komplexität der Software nicht möglich. Um einen Testpaket zu erstellen, der eine hohe Stufe der Abdeckung liefert, sollen Sie die Testentwurfsverfahren verwenden. Die Anforderungs- und Codeabdeckung sind die Ansätze für die Messung der Testabdeckung.
Die Anforderungsabdeckung misst die Ebene, zu deren werden die funktionale und nicht-funktionale Softwareanforderungen durch Testfälle abgedeckt. In diesem Fall kann ein Code ungetestet bleiben. Die Codeabdeckung mißt die Stufe, zu derer wird das Quellcode durch Tests abgedeckt.
Dieser Ansatz wird während der White-Box-Tests verwendet, wenn ein Testpaket sich auf der internen Programmdurchführung basiert. Ansatz der Codeabdeckung hilft nicht die umgesetzten Anforderungen zu identifizieren, denn sie überprüft nicht das Endprodukt, sondern ein bestehender Quellcode.

Die Anzahl der Fehler nach Release

Diese Testqualitätsmetriken umfasst die Anzahl der Fehler, die bei den Benutzer nach dem Produkt-Release gefunden waren und ihre Verhältnis zu der Anzahl der Mängel, die bei den Tester vor dem Release gefunden waren. Diese Metriker erlauben die Gründe zu erkunden, warum die Defekte nicht festgestellt wurden.
Schlechte Qualität der Testdesign, niedrige Ebene der Testabdeckung, mehrdeutige Anforderungen, Zeitmangel für die Testing, schlechte Planung, unwirksame Bug-Reporting usw.

Schlussfolgerungen

Hochwertige Tests helfen der Anzahl der Softwarefehlern zu reduzieren.

Testqualitätsmetriken sollen implementiert werden, um die Softwarequalität zu verbessern.
Die Leistung des QA-Team,hängt von anderen Teilnehmern des Software-Entwicklungsprozesses – Programmierer, Designer, Manager.