VectorCAST/C++

Automatisierte Unit- und Integrationstests für C und 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

Benötigen Sie weitere Informationen? Kontaktieren Sie uns!
Andreas Horn
Benötigen Sie weitere Informationen? Kontaktieren Sie uns!
Füllen Sie das Formular aus, und wir werden uns mit Ihnen in Verbindung setzen, um Ihre Fragen zu beantworten und auf Ihre Bedürfnisse einzugehen!

Verwandte Seiten

VectorCAST

Automatisieren Sie Unit-, Integrations- und Abdeckungstests für sicherheitskritische Embedded Software in C, C++ und Ada.

VectorCAST/Ada

Automatisierte Unit- und Integrationstests für Ada-Softwarekomponenten, die den Bereich von Ada 83 bis Ada 2012 abdecken, einschließlich automatischer Treiber- und Stub-Generierung sowie Unterstützung für die Ausführung auf der Zielplattform.

VectorCAST/QA

Erfassen Sie Metriken zur Codeabdeckung und -qualität für C-, C++- und Ada-Codebasen, ohne Ihren Build-Prozess zu ändern.

PC-lint Plus

PC-lint Plus bietet umfassende statische Analysen und Unterstützung für die Einhaltung verschiedener Standards bei der C- und C++-Entwicklung. Von MISRA bis ISO 26262: Erkennen Sie Probleme frühzeitig, überprüfen Sie jede Ausnahmeregelung und liefern Sie Code aus, für den Sie einstehen können.

Squore

Erfahren Sie, wie Squore Ihre statische Analyse, Testabdeckung und Anforderungsverfolgbarkeit in einem einzigen Dashboard vereint und Ihrem Team objektive Qualitätsdaten vom ersten Commit bis zur Einreichung der Zertifizierungsunterlagen liefert.

Erfahren Sie, wie Vector alle Anforderungen an die Verifikation abdeckt

PC-lint Plus, VectorCAST und Squore dienen der statischen Analyse, der dynamischen Prüfung und der kontinuierlichen Überwachung der Qualität für sicherheitskritische Embedded Software. PC-lint Plus ist von exida zertifiziert, VectorCAST vom TÜV SÜD, wobei die Normen ISO 26262, DO-178C, IEC 61508 und IEC 62304 abgedeckt werden.