Die Anwendungsabdeckung ist die leistungsstärkste Metrikaktivität, die Sie nicht ausführen
Von Adam Trujillo
1. Juni 2016
3 min lesen
Die Codeabdeckung ist ein erster Schritt in einem umfassenden Softwarequalitätsprozess, mit dem Sie verstehen können, wo in Ihrer Anwendung Risiken lauern. Darüber hinaus sind die Methoden zur Messung der Abdeckung von Bedeutung - unterschiedliche Aktivitäten messen unterschiedliche Dimensionen der Anwendung.
Geben Sie die Anwendungsabdeckung ein, die angibt, inwieweit der Quellcode der Anwendung von allen Testpraktiken ausgeübt wird. Die Anwendungsabdeckung bietet äußerst aussagekräftige Einblicke in das Risiko, da nicht getestete oder nicht getestete Teile der Anwendung verfügbar gemacht werden. Bevor wir uns mit den Details der Anwendungsabdeckung befassen, wollen wir erläutern, wie die Codeabdeckung normalerweise gemessen wird.
Was ist falsch daran, wie ich normalerweise die Abdeckung messe?
Entwickler- / Testteams stützen sich in der Regel auf Unit-Tests als Hauptfahrzeug für die Fahrabdeckung. Unit-Tests bieten auch viele andere wertvolle Vorteile, wie zum Beispiel:
- Sofortiger und automatischer Nachweis, dass der Code jederzeit und überall funktioniert
- Vertrauen in den Refactor-Code, was zu einem verbesserten Design und einer besseren Wartbarkeit führt
- Fast sofortiges Feedback, wenn etwas kaputt geht
- Die Möglichkeit, den Code vor dem Einchecken zu validieren (da Tests lokal und unabhängig von der Infrastruktur für die kontinuierliche Integration ausgeführt werden können)
- Ermöglicht Entwicklerteams, Fehler zu beheben, während der Code im Vordergrund steht, anstatt stunden- / tagelang zu debuggen, wenn die Codebasis altert
Um es klar auszudrücken, wir sind große Fans von Unit-Tests. Wenn Zeit kein Problem wäre, würden wir nach jeder Änderung die vollständige Regressionssuite ausführen, um die Abdeckung zu überwachen und die Sicherheit und Zuverlässigkeit der Anwendung zu gewährleisten. Offensichtlich hat niemand die Zeit oder die Ressourcen, um diese Teststufe zu implementieren. Außerdem ist es wichtig, die Abdeckung während der funktionalen und manuellen Testausführung zu messen, um eine ganzheitliche Ansicht darüber zu erhalten, wie gut die Anwendung abgedeckt ist.
Das Fazit ist, dass die Messung der Abdeckung während der Ausführung von Komponententests großartig ist, aber auch die Messung der Abdeckung während funktionaler und manueller Tests noch besser ist.
Warum Sie dem Dev / Test Mix eine Anwendungsabdeckung hinzufügen sollten
Eine wichtige Messgröße für die Beurteilung der Release-Bereitschaft ist die Anwendungsabdeckung. Anwendungsabdeckung ist die Aggregation und Korrelation der Codeabdeckung aus verschiedenen Testtechniken. Durch die Zusammenfassung der Codeabdeckung aus allen Testverfahren können Unternehmen einen besseren Einblick in Risikobereiche der Anwendung erhalten.
Keine Zeit zum Testen? Kein Problem
Die Anwendungsabdeckung ermöglicht nicht nur genauere Qualitäts- und Abdeckungsmetriken, sondern kann Unternehmen auch dabei helfen, ihre Testbemühungen zu konzentrieren, wenn Zeitbeschränkungen ihre Fähigkeit einschränken, die gesamte Suite manueller Regressionstests auszuführen. Bei Sondierungstests wissen Tester beispielsweise, dass sich der Code für bestimmte Funktionen geändert hat, und versuchen schnell, unerwartetes Verhalten zu identifizieren, indem sie manuelle Tests für die geänderten Funktionen durchführen. Das Erfassen von Abdeckungsdaten in der laufenden Anwendung während des Erkundungstests erhöht möglicherweise den Wert dieses Ansatzes, da dadurch besser verstanden werden kann, welchen Code der Tester tatsächlich berührt hat.
Eine Entwicklungstestplattform wie Parasoft DTP kann die Abhängigkeit von willkürlichen Sondierungstests verringern, indem Teams ein besseres Verständnis dafür erhalten, was sich geändert hat, welche Bereiche möglicherweise betroffen sind und was erneut getestet werden muss. Erkundungstests werden dann zu einer zusätzlichen Testschicht, die zum Ausfüllen von Lücken verwendet wird.
Keine einzelne Metrik oder Aktivität ist ein Allheilmittel zur Fehlervermeidung
Es ist jedoch wichtig zu beachten, dass die Anwendungsabdeckung allein kein glaubwürdiges Maß für die Anwendungsqualität ist. Abdeckungsdaten sollten auch im Kontext anderer Softwarequalitätsmetriken ausgedrückt werden, wie z. B. Verstöße gegen statische Analysen, Ergebnisse von Komponententests usw., um eine Roadmap zur Verhinderung von Softwarefehlern bereitzustellen. Der folgende Screenshot zeigt eine Ansicht in Parasoft Development Testing Platform (DTP) mit Abdeckungsdaten, Unit-Testergebnissen, Funktionstestergebnissen, Verstößen gegen statische Analysen und anderen Metriken. Diese Detailgenauigkeit hilft Managern, den aktuellen Risikostatus in der Anwendung sowie die Auswirkungen der jüngsten Änderungen auf die Qualitätsmetriken zu verstehen.
Aber warte, es gibt noch mehr
Wir könnten weiter und weiter über die Vorteile der Anwendungsabdeckung sprechen und darüber, wie Parasoft DTP die Daten zusammenführt und mit der Abdeckung aus anderen Testaktivitäten korreliert, um eine Reihe von Vorteilen für die Softwarequalität zu erzielen. Stattdessen sparen wir uns Zeit und leiten Sie zu unserem On-Demand-Webinar weiter. Release = Zusammengeführte, korrelierte Abdeckung (MC2). Wir diskutieren die Herausforderungen, denen sich Entwicklungsteams gegenübersehen, und wie die Anwendungsabdeckung die treibende Kraft ist, um Teams bei der Erreichung ihrer Release-Ziele zu unterstützen.
Wenn Ihnen das Gelesene gefallen hat und Sie unsere Funktionen zur Anwendungsabdeckung aus erster Hand sehen möchten, kontaktieren Sie uns und wir werden uns freuen planen eine Demo.