Code Coverage / Test Coverage
Code Coverage / Test Coverage zeigt die durch Tests abgedeckten Teile des Quellcodes an.Die Test Coverage (Testabdeckung) wird während der Testausführung gemessen. Test Coverage Tools fügen der zu testenden Software vor der Testausführung "Zähler" ein. Bei der späteren Ausführung der Software werden die durchlaufenenen Codeteile als getestet gekennzeichnet. Je nach Analysetiefe unterscheidet man verschiedene Testabdeckungsstufen. Die meisten Testabdeckungstools liefern lediglich oberflächliche Coverage-Metriken (wie Statement- und Branch-Coverage).
Einige denken, sie haben gute Requirements und Tests, nur um später bei der Coverage Analyse herauszufinden, dass diese "großartigen" Tests nur 60% des Codes abdecken.
Offensichtlich hatten sie schwache Requirements oder aber schwache Tests von Requirements oder viel wahrscheinlicher: BEIDES.
Code Coverage ist ein Aha-Erlebnis. Offen gesagt, auch nicht sicherheitskritische Bereiche sollten eine strukturierte Coverage durchführen.
Nicht um 100% zu erlangen, keineswegs: sondern eher um sicherzugehen, dass sie zumindest 75% abdecken um damit zu bekräftigen,
dass sie gute Requirements und Tests dieser Requirements machen."
Vance Hilderman, Technischer Leiter, AFuzion Inc. / Autor der Bücher "Avionics Certification" und "The Avionics Development Ecosystem"
Testwell CTC++ ist ein leistungsfähiges Test Coverage Tool, welches alle möglichen Testabdeckungsstufen zeigt (jeweils deutscher und englischer Begriff):
- Funktionsüberdeckung / Function Coverage
- Anweisungsüberdeckung / Statement Coverage
- Entscheidungsüberdeckung bzw. Zweigüberdeckung / Decision bzw. Branch Coverage
- Bedingungsüberdeckung / Condition Coverage
- Modifizierter Bedingungs-/Entscheidungsüberdeckungstest / Modified Condition/Decision Coverage (MC/DC)
- Mehrfach-Bedingungsüberdeckungstest / Multiple Condition Coverage (MCC)
Testwell CTC++ arbeitet mit allen Embedded Targets und allen Compilern zusammen!
Das Werkzeug unterstützt als einziges Tool alle Coverage-Stufen für C, C++.
Video (YouTube): Code Coverage Levels
Papers:
Grundlagen der Code Coverage Messung
Videos auf deutsch:
Grundlagen der Code Coverage Messung (103)
12 Kriterien zur Auswahl eines Code Coverage Tools
TÜV Süd Certificate für Testwell CTC++ Code Coverage Analyzer
- für die sicherheitsrelevante Entwicklung nach IEC 61508:2010 für alle SIL geeignet ist,
- für den Einsatz in einem standardkonformen Entwicklungsprozess gemäß ISO 26262:2018 für alle ASIL geeignet ist,
- für den Einsatz in der sicherheitsrelevanten Softwareentwicklung gemäß EN 50716:2023 für alle SIL geeignet ist und
- für den Einsatz in der sicherheitsrelevanten Softwareentwicklung gemäß IEC 62304:2006+A1:2015 für alle Software Safety Klassen geeignet ist.
Für weitere Informationen über den Einsatz von Testwell CTC++ in der sicherheitskritischen Entwicklung kontaktieren Sie uns bitte.