VectorCAST/C++
VectorCAST/C++ ist eine hochautomatisierte Lösung für Unit- und Integrationstests von C- und C++-Software. Sie wurde speziell für Embedded-Entwickler konzipiert, die an sicherheits- und geschäftskritischen Systemen arbeiten, bei denen gründliche, wiederholbare Tests keine Option, sondern eine zwingende Anforderung sind.
Das Tool erstellt automatisch die Test-Umgebung (Test-Harness) und das Mocking-Framework auf Basis Ihres Quellcodes. Ihre Entwickler legen lediglich fest, was getestet werden soll und welches Verhalten erwartetet wird. Den Rest erledigt das Tool für sie.
Für wen eignet sich VectorCAST/C++?
VectorCAST/C++ wird von Embedded-Softwareentwicklern und Testingenieuren in den Bereichen Luft- und Raumfahrt, Automotive, Medizintechnik, industrielle Steuerungstechnik und Bahntechnik verwendet. Es unterstützt die Einhaltung der Normen DO-178B/C, ISO 26262, IEC 61508, IEC 62304 und EN 50716.
Vorteile
VectorCAST/C++ eliminiert den manuellen Aufwand beim Unit-Testing, ohne die für Ihr Programm erforderliche Abdeckungstiefe zu beeinträchtigen.
Deutliche Verkürzung der Testentwicklungszeit
Die automatische Erstellung von Testumgebungen (Test Harness) und Mocks macht das manuelle Schreiben von Testtreibern und Stubs überflüssig. Ihr Team konzentriert sich auf das Schreiben von Testfällen, nicht auf die Infrastruktur.
Nachweis der Abdeckung gemäß den Anforderungen Ihrer Standards
Die integrierte Analyse der Anweisungs- (Statement), Verzweigungs- (Branch) und MC/DC-Abdeckung liefert direkt aus dem Tool heraus die für Zertifizierungsprüfungen erforderlichen Nachweise.
Kontinuierliches Testen ohne manuellen Wartungsaufwand
Testprojekte werden automatisch gegen den aktuellsten Quellcode ausgeführt. Die Ergebnisse werden nach Datum, Uhrzeit, Unit und Testname katalogisiert, wodurch Regressionstests zuverlässig und mit geringem Aufwand durchgeführt werden können.
Tests auf Host, Simulator oder Embedded-Zielsystem
Entwickeln Sie Tests auf Ihrem Host-System und verwenden Sie VectorCAST RSP, um diese auf Ihrer Embedded-Zielhardware erneut auszuführen. Eine Neuentwicklung oder Anpassung der Tests ist nicht erforderlich.
Nahtlose Integration in Ihre Toolchain
VectorCAST/C++ lässt sich in Ihren vorhandenen Compiler, Ihr Build-System und Ihre CI-Umgebung integrieren. Dank der nativen Unterstützung für GoogleTest können bestehende Testsuiten ohne Umschreiben übernommen werden. Eine umfassende Befehlszeilenschnittstelle und Unterstützung für Python-Skripte vereinfachen die Automatisierung.
Anwendungsgebiete
VectorCAST/C++ wird branchenübergreifend verwendet, wenn C- und C++-Software anhand strenger Anforderungen an die funktionale Sicherheit oder Zertifizierung verifiziert werden muss.
Luft- und Raumfahrt
Unit- und Integrationstests für Software in Luftfahrzeugen gemäß DO-178B und DO-178C, einschließlich der für höhere Design-Assurance-Level (DAL) erforderlichen Nachweise zur MC/DC-Abdeckung.
Automotive
Verifikation von Softwarekomponenten zur Einhaltung der ISO 26262, inklusive Anforderungsrückverfolgbarkeit und Automatisierung von Regressionstests über verschiedene Steuergeräte-Softwareprojekte hinweg.
Medizintechnik
Unit-Tests mit umfassender Dokumentationsunterstützung für die Software-Sicherheitsklassifizierung nach IEC 62304.
Industrie
Systematische Verifikation der Software für Programme zur funktionalen Sicherheit gemäß IEC 61508.
Bahntechnik
Softwareverifikation und -validierung für Programme, die der Norm EN 50716:2023 entsprechen.
Key Features
VectorCAST/C++ deckt den gesamten Workflow für Unit- und Integrationstests ab, von der Generierung von Test-Harnesses bis hin zur Erstellung von Abdeckungsberichten, und bietet dabei die Flexibilität, sowohl GUI-getriebene als auch codezentrierte Testansätze zu unterstützen.
Tests erstellen und ausführen
Test-Harness und Mocking
VectorCAST/C++ erstellt automatisch ein vollständiges Test-Harness sowie ein Mocking-Framework aus Ihrem Quellcode. Das manuelle Schreiben von Stubs oder Treibern entfällt. Das Tool übernimmt die Kompilierung und das Linken des Test-Harness unter Verwendung Ihres Compilers und stellt eine Schnittstelle zum Debugger Ihres Compilers bereit, um Fehlerdiagnosen während der Testausführung zu ermöglichen.
Coded Tests
Mit „Coded Tests“ können Entwickler Testfälle direkt in C++ unter Verwendung eines xUnit-Frameworks schreiben. Dies vereinfacht das Aufsetzen und Beenden von Tests sowie die gemeinsame Nutzung von Objekten über verschiedene Tests hinweg. Diese Funktion ergänzt den datengesteuerten Test-Editor, der ein vollständiges Test-Harness generiert, ohne dass bei jeder Änderung eines Testfalls eine erneute Kompilierung erforderlich ist.
Integrationstests
In einer einzigen VectorCAST/C++-Umgebung können mehrere Units gemeinsam getestet werden. Abhängigkeiten werden entweder durch Stubs ersetzt oder als echter Code eingeschlossen, was eine umfassende Simulation realer Szenarien über mehrere Funktionen und Units hinweg ermöglicht.
Testgetriebene Entwicklung (TDD)
VectorCAST/C++ unterstützt TDD-Workflows. Unit-Tests lassen sich bereits auf Basis von Header-Dateien erstellen, noch bevor der eigentliche Anwendungscode geschrieben wird. Während der Code schrittweise entwickelt wird, beginnen die Tests erfolgreich zu laufen, sobald echter Code die Stubs und Mocks ersetzt. Die so entstandene Test-Suite steht von diesem Zeitpunkt an für automatisierte Regressionstests zur Verfügung.
Analyse und Berichterstattung
Integrierte Codeabdeckung
Die Analyse der Anweisungs- (Statement), Verzweigungs- (Branch) und MC/DC-Abdeckung ist in VectorCAST/C++ integriert. Die Coverage-Daten können an VectorCAST/QA weitergegeben werden, um kombinierte Berichte über die Phasen der Unit-, Integrations- und Systemtests hinweg zu erstellen. Die Coverage-Daten aus CPPUnit, GoogleTest und anderen Frameworks können ebenfalls einbezogen werden, wodurch Sie einen vollständigen Überblick über Ihr gesamtes Testprogramm erhalten.
Regressiontests
Testprojekte werden bei aktualisierten Quelldateien automatisch erneut ausgeführt. Die Ergebnisse werden nach Datum, Uhrzeit, Unit und Testname sortiert, sodass Regressionen, die durch inkrementelle Codeänderungen entstanden sind, leicht erkannt werden können.
Probe-Points und Datensteuerung
Mit „Probe Points“ lassen sich Daten oder der Kontrollfluss (Data und Control Flow) zur Laufzeit ändern, wodurch der Code gezielt auf schwer erreichbare Pfade gelenkt werden kann. „Asserts“ erfassen den Zustand des Codes an speziellen Punkten der Ausführung, wobei die Ergebnisse im Bericht zu den Ausführungsergebnissen (Execution Results) protokolliert werden.
Berichts- und Daten-API
Berichte stehen im XML-Format zur Verfügung, einschließlich eines „Probe Points“-Berichts, der eine maschinell auswertbare Liste für Drittanbieter-Tools liefert. Für die Erstellung benutzerdefinierter Berichte und die Implementierung komplexer Integrationen ist eine umfassende, auf Python basierende Daten-API enthalten.
Umgebung und Integration
Tests auf Embedded-Zielsystemen
Mit VectorCAST RSP können in einer Host-Umgebung entwickelte Testfälle direkt auf Ihrem Embedded-Zielsystem erneut ausgeführt werden. VectorCAST RSP lässt sich in Ihren Cross-Compiler und Ihr Echtzeitbetriebssystem (RTOS) integrieren und eignet sich somit zur Verifikation des Verhaltens von Echtzeitanwendungen auf der Zielhardware.
Unterstützung von C++-Standards und Plattformen
Unterstützt C++11, C++14, C++17 und C++20 für eine Vielzahl von Compilern, Simulatoren und Prozessorarchitekturen. Läuft unter Windows und Linux mit einer vollständigen Kommandozeilenschnittstelle.
Frequently Asked Questions

