BTC TestStack

Regressionstest

Stellen Sie nach jeder Aktualisierung des Modells, des Codes oder einer Toolversion sicher, dass sich das Verhalten nicht verändert hat.

Das Problem

Eine aktualisierte Toolchain oder ein umstrukturiertes Modell kann das Verhalten unbemerkt verändern.

Wenn Teams ihre Codegenerierungs-Toolchain aktualisieren oder ein Modell oder seinen Produktionscode umstrukturieren, gibt es keine zuverlässige Möglichkeit, zu bestätigen, dass sich das Verhalten nicht geändert hat – außer alles noch einmal manuell zu testen.

Definition

Back-to-Back-Tests für zwei Versionen.

Der Regressionstest wendet denselben Back-to-Back-Test-Mechanismus auf zwei Versionen derselben Implementierung an statt auf zwei unterschiedliche Implementierungen: Die vorherige Version dient als Referenz, die aktuelle als Vergleich. Dabei kommen dieselben Stimuli-Vektoren, dieselben beiden Engines und dieselben Berichtstypen zum Einsatz.

Zwei Ausführungsarten

Software-Regression oder Toolqualifizierung.

Software-Regression

Referenz: Vorherige Modell-/CodeversionVergleich: Aktuelle Version

Das ist besonders wichtig bei Änderungen wie Codeoptimierungen oder Umstrukturierungen, nach denen das Verhalten identisch bleiben soll: Ein Regressionstest weist nach, dass dies tatsächlich der Fall ist.

Toolqualifizierung

Referenz: Vorherige MATLAB-/TargetLink-VersionVergleich: Aktuelle Version

Wenn Teams ihre Codegenerierungs-Toolchain aktualisieren, liefert dieser Vergleich formale Nachweise dafür, dass sich das Verhalten des generierten Codes nicht verändert hat – und ersetzt die erneute manuelle Prüfung durch einen automatisierten, nachvollziehbaren Vergleich.

Wie es funktioniert

Stimuli-Vektoren für beide Versionen.

Stimuli-Vektoren werden automatisch generiert, um Ziele für die strukturelle Codeabdeckung und Robustheitsabdeckung zu erreichen. Dafür kommen eine schnelle heuristische Engine (ATG) und eine formale Model-Checking-Engine (CV) zum Einsatz, die mathematisch nachweisen kann, dass ein Ziel nicht erreichbar ist. Dieselben Vektoren werden für beide Versionen ausgeführt; jede Abweichung wird automatisch markiert und lokalisiert.

Den vollständigen Back-to-Back-Test-Mechanismus ansehen
Für Skalierbarkeit ausgelegt

Für große Modelle und ausgelastete Pipelines.

Hierarchischer Testansatz

Bei großen Modellen werden Regressionstests zur Herausforderung, wenn nur die oberste Ebene betrachtet wird. BTC TestStack kann untergeordnete Bereiche unabhängig analysieren und die Ergebnisse anschließend auf der obersten Ebene zusammenführen. So bleibt die Generierung auch bei wachsender Komplexität beherrschbar.

Mehr zum hierarchischen Ansatz

Testautomatisierung und CI/CD

Das Add-on zur Testautomatisierung führt Regressions-Workflows unbeaufsichtigt aus – angestoßen durch ein Skript oder Jenkins. Nach Abschluss erhalten Sie einen umfassenden HTML-Bericht. Hinzu kommen eine REST API und ein Linux-basiertes Container-Image für Ihre eigenen Server oder die Cloud.

Mehr zur CI/CD-Integration
Berichte

Nachweise für das Toolqualifizierungspaket.

Jeder Regressionslauf erzeugt dieselben Berichtsarten, die in BTC TestStack durchgängig verwendet werden: Back-to-Back Test Report, Code Analysis Report und Model Coverage Report. Sie werden als Profile Items versioniert und lassen sich für Toolqualifizierungspakete oder die Kundendokumentation exportieren.

Zertifiziert

BTC TestStack

ist nach ISO 26262 zertifiziert

Das Zertifikat bezieht sich auf Normen zur funktionalen Sicherheit in mehreren Branchen:

ISO 26262
Automobilindustrie
IEC 61508-3:2010
Industrielle und branchenübergreifende funktionale Sicherheit
ISO 25119
Land- und forstwirtschaftliche Maschinen
IEC 62304
Medizinproduktesoftware
EN 50716
Bahnanwendungen

Für ISO 26262 ist BTC TestStack auf dem höchsten Tool Confidence Level (TCL) zertifiziert; die Zertifizierung gilt für alle ASIL-Level einschließlich ASIL D. Zertifikat und Bericht stellen wir Kunden auf Anfrage kostenlos zur Verfügung und ersparen ihnen damit den größten Teil des Aufwands für die Toolqualifizierung.

Feel the Quality

Sprechen Sie mit unserem Engineering-Team.

Schildern Sie uns Ihr konkretes Engineering-Problem. Wir sagen Ihnen, ob eine Evaluierungslizenz, ein Workshop oder ein Gespräch der richtige nächste Schritt ist.