Alles ausführen – nur für die Messung
Instrumentierter Code erfasst nur die ausgeführten Teile. Um eine Abdeckungsmetrik zu erhalten, muss daher die gesamte Testsuite laufen – selbst wenn Sie nur eine einzelne Funktion betrachten möchten.
Habe ich meinen gesamten Code getestet?
Automatisch im Hintergrund aktualisiert. Kein separater Messlauf.
Instrumentierungsbasierte Abdeckungsmessung belastet jeden Schritt im Workflow. Die benötigte Kennzahl ist nie direkt verfügbar – jeder erneute Messlauf kostet Zeit.
Instrumentierter Code erfasst nur die ausgeführten Teile. Um eine Abdeckungsmetrik zu erhalten, muss daher die gesamte Testsuite laufen – selbst wenn Sie nur eine einzelne Funktion betrachten möchten.
Jede Änderung an einem Test macht das Gesamtergebnis ungültig. Damit die Kennzahl wieder verlässlich ist, muss die gesamte Testsuite erneut ausgeführt werden – diese Kosten entstehen bei jeder Iteration aufs Neue.
Die Instrumentierung verändert das Binärprogramm; die damit gewonnenen Ergebnisse gelten daher nicht für den ausgelieferten Code. Um die Abdeckung am nicht instrumentierten Produktionscode nachzuweisen, muss alles ein zweites Mal ausgeführt werden – doppelter Aufwand.
BTC TestStack berechnet und aktualisiert die Abdeckung im Hintergrund, sobald Testfälle erstellt, geändert oder gelöscht werden. Die Berechnung erfolgt je Unterfunktion und Subsystem. Damit ist die Abdeckung jeder relevanten Teilmenge mit einem Klick abrufbar – ohne erneute Ausführung und ohne separaten Berichtsschritt.
Die Codeabdeckung wird im Hintergrund aktualisiert. Kein Instrumentierungsdurchgang, kein separater Messlauf.
Die Ergebnisse werden nach einzelnen Unterfunktionen und Subsystemen aufgeschlüsselt – statt nur eine einzige Kennzahl für den gesamten Build zu liefern.
Wählen Sie einen Bereich aus und rufen Sie dessen Abdeckung sofort ab. Da die Daten bereits vorliegen, löst das Filtern keine weitere Ausführung aus.
Für jedes Abdeckungsziel sehen Sie sofort die Liste der Testfälle, die es abdecken – keine manuellen Querverweise, um herauszufinden, welcher Test welches Ziel erreicht hat.
Strukturmetriken, Robustheit, Wertebereichsprüfungen und eigene Ziele – das gesamte Abdeckungsspektrum nebeneinander und stets aktuell.
Der vollständige Satz struktureller Metriken für Nachweise zur funktionalen Sicherheit – gemeinsam berechnet.
Laufzeitfehlerklassen werden als Abdeckungsziele behandelt: BTC TestStack weist entweder nach, dass der Code dagegen robust ist, oder erzeugt einen Test, der den Fehler auslöst.
Definieren oder importieren Sie die gültigen Werte und Wertebereiche für jedes Schnittstellenobjekt. BTC TestStack erfasst die Abdeckung dieser Wertebereiche direkt.
Mit einem Editor für alle Schnittstellenvariablen formulieren Sie jedes Ziel als booleschen oder mathematischen Ausdruck und messen anschließend, ob Ihre Tests dieses Ziel erreichen.
Wenn die Codeabdeckung noch nicht vollständig ist, schließt BTC TestStack die Lücke für Sie. Anstatt Eingaben zu erraten, leitet ein Model-Checking-Algorithmus den kleinsten und kürzesten Satz von Testfällen ab, der 100 % strukturelle Abdeckung erreicht.
Die Analyse greift direkt auf Eingaben und Kalibrierungen zu. Kann ein Ziel nicht erreicht werden, liefert sie den mathematischen Nachweis der Unerreichbarkeit. So lässt es sich als toter Code klassifizieren, statt weiter nach Testdaten dafür zu suchen.
Zufallsbasierte Tools raten. Model Checking liefert den Nachweis.
Hintergrundaktualisierungen halten die Kennzahl aktuell – ein separater Messlauf entfällt.
Ergebnisse pro Unterfunktion und pro Subsystem – die Abdeckung jeder Teilmenge ist nur einen Klick entfernt.
Strukturelle, Robustheits-, Wertebereichs- und benutzerdefinierte Ziele – gemeinsam in einem Bericht statt verteilt auf vier Tools.
Ziele, die nicht erreicht werden können, werden als nicht erreichbar nachgewiesen und als toter Code gekennzeichnet – statt unnötig nach passenden Testdaten zu suchen.
Eine Evaluierungslizenz umfasst einen Kick-off-Workshop mit unseren Ingenieuren – vollständig eingerichtet an einer Ihrer realen Softwareeinheiten.