Parasoft-Logo

WEBINAR

Sehen Sie sich „GoogleTest sicher in sicherheitskritische Systeme integrieren“ an.

GoogleTest gilt als De-facto-Standard für Unit-Tests in C++ und wird für seine Flexibilität, moderne Syntax und nahtlose Integration in gängige Entwicklungs-Toolchains geschätzt. GoogleTest allein erfüllt jedoch nicht die strengen Compliance-Standards für Rückverfolgbarkeit, Codeabdeckung und Zertifizierung, die in regulierten Branchen wie der Automobil-, Luft- und Raumfahrt-, Medizin- und Schienenverkehrsbranche erforderlich sind.

Sehen Sie sich dieses informative Webinar an, in dem wir die erfolgreiche Einführung von GoogleTest in sicherheitskritischen Entwicklungsumgebungen untersuchen. Sie erfahren, wie Parasoft C/C++test CT GoogleTest mit leistungsstarken Funktionen wie Anforderungsrückverfolgbarkeit, MC/DC-Abdeckung, Compliance-Reporting und Unterstützung für CI/CD-Pipelines erweitert.

 

Verwendung von GoogleTest in sicherheitskritischen Systemen: Compliance, Abdeckung und CI, die tatsächlich funktionieren

In dieser Sitzung wurde erläutert, wie Teams die Nutzung übernehmen oder weiterhin nutzen können. GoogleTest in sicherheitskritischen Projekten ohne über die Compliance zu stolpern. Die Referenten zeigten, wo GoogleTest glänzt, wo es zu kurz kommt und wie Parasoft C/C++test CT die Lücken mit Codeabdeckung, Anforderungsrückverfolgbarkeit und Compliance-Berichten schließt.

Key Take Away

  • GoogleTest ist kostenlos, leichtgewichtig und weist eine niedrige Einstiegshürde auf, benötigt jedoch Extras für sicherheitskritische Branchen.
  • Parasoft C/C++test CT fügt zusätzlich zu GoogleTest strukturelle Codeabdeckung, Compliance-Reporting und Anforderungsrückverfolgbarkeit hinzu.
  • Die vorgestellten Lösungen sind so konzipiert, dass sie sich nahtlos in moderne CI-Pipelines integrieren lassen und Qualitätstore erzwingen, die übersehene Defekte frühzeitig im SDLC erkennen.
  • Die TÜV-Zertifizierung ist wichtig, wenn Audits anstehen; C/C++test CT ist zertifiziert und die GoogleTest-Qualifizierung ist in Arbeit.

Warum GoogleTest beliebt ist

GoogleTest ist einfach einzurichten und integriert sich in gängige Build-Systeme. Die API ist übersichtlich, die Aussagen sind klar und GoogleMock hilft bei kniffligen Abhängigkeiten. Für viele Teams reicht das aus, um Unit-Tests schnell zum Laufen zu bringen.

Aber Geschwindigkeit allein genügt nicht den Sicherheitsnormen wie ISO 26262, DO-178C, IEC 62304 oder EN 50128. Prüfer verlangen Nachweise: Was Sie getestet haben, wie viel Code Sie abgedeckt haben und welche Anforderungen diese Tests überprüft haben.

Die GoogleTest-Lücke in sicherheitskritischen

GoogleTest bietet keine Funktionen an, die von funktionalen Sicherheitsstandards gefordert werden, wie etwa:

  • Strukturelle Abdeckung (Anweisung, Zweigstelle und MC/DC)
  • Anforderungsbasiertes Testen und Rückverfolgbarkeit
  • Compliance-Berichte und ein Prüfpfad
  • Einsatz qualifizierter Tools zur Gewährleistung der Vertrauenswürdigkeit

Was Parasoft C/C++test CT hinzufügt

C/C++test CT ersetzt GoogleTest nicht. Es wird parallel zu GoogleTest und anderen Frameworks (wie CppUnit oder Boost.Test) eingesetzt, um die fehlenden Verifizierungsanforderungen zu ergänzen:

  • Reichweite: Kontoauszug, Zweigstelle und MC/DC, mit hilfreicher Lückenanalyse
  • Bidirektionale Rückverfolgbarkeit: Verknüpfen Sie Tests mit Anforderungen und erstellen Sie Berichte
  • CI-Workflow: Befehlszeile, Container und Integration mit umfangreichen Build-Systemen
  • Berichte: HTML, JSON und Dashboards über Parasoft DTP
  • Zielgerichtetes Testen: Erfassen Sie bei Bedarf Ergebnisse von echter Hardware
  • Zertifizierung: C/C++test CT ist TÜV-zertifiziert; eine TÜV-zertifizierte GoogleTest-Distribution ist in Vorbereitung

Schneller Vergleich

GebietGoogleTestC/C++-Test-CT
KostenFreiZugelassen
EinrichtungSchnellCLI-basiert, CI-freundlich
AbdeckungBasic (über externe Tools)Kontoauszug, Zweigstelle, MC/DC
RückverfolgbarkeitHandbuch Integrierte Links und Berichte
ReportsMinimalHTML/JSON + Dashboard-Integration
WerkzeugzertifizierungNonTÜV-zertifiziert
CI-ToreBenutzerdefinierte SkripteIntegrierte Qualitätstore
ZielläufeMöglichUnterstützt durch Coverage Capture

Demo-Workflow: Vom Branch bis zum Merge

Die Demo zeigte die Verwendung GoogleTest mit C/C++test CT in einem containerisierten CI-Setup:

  • Der Entwickler fügt eine neue Funktion sowie GoogleTest-Fälle hinzu und markiert jeden Test mit den zugehörigen Anforderungs-IDs.
  • C/C++test CT erfasst die Abdeckung während des Builds. Die Ergebnisse werden in Text, HTML und JSON angezeigt, und die VS Code-Erweiterung hebt abgedeckte Zeilen direkt im Editor hervor.
  • Ein Pull Request löst die Pipeline aus. Qualitäts-Gates prüfen Anweisungen und MC/DC für neuen Code.
  • Der erste Versuch schlägt bei MC/DC fehl. Der Abdeckungsbericht listet fehlende Testvektoren auf und schlägt sogar den kleinsten Satz vor, um die Lücke zu schließen. Der Entwickler fügt einen Test für die fehlende Bedingungsabdeckung hinzu und führt den Push erneut aus.
  • Gates werden bestanden, der Code wird zusammengeführt und die Hauptzweig-Pipeline sendet Testergebnisse an Parasoft DTP, um Trends, Abdeckungsfortschritt und Konformitätsstatus zu ermitteln.

Praktische Tipps für Teams

  • Behalten Sie GoogleTest, fügen Sie jedoch C/C++test CT für Codeabdeckung, Rückverfolgbarkeit und Berichte hinzu.
  • Kennzeichnen Sie Tests vom ersten Tag an mit Anforderungs-IDs, um die Rückverfolgbarkeit zu gewährleisten. Warten Sie nicht.
  • Behandeln Sie MC/DC wie eine Funktionsspezifikation. Wenn Sie es nicht erreichen können, überprüfen Sie Ihre Bedingungen oder Ihre Tests.
  • Verwenden Sie CI-Qualitätstore, um die Codequalität schrittweise zu erhöhen, ohne das gesamte Repo zu verlangsamen.
  • Implementieren Sie containerisierte Toolchains, damit die Entwicklungsmaschinen mit CI übereinstimmen.

Zertifizierung und der Weg in die Zukunft

Prüfstellen legen Wert auf die Tool-Zertifizierung. C/C++test CT ist bereits TÜV-zertifiziert. Parasoft arbeitet an der Qualifizierung von GoogleTest, damit Teams es zur Verifizierung und Validierung sicherheitskritischer Systeme einsetzen können.

Fazit

Erweitern Sie GoogleTest für Teams in regulierten Branchen. Parasoft und C/C++test CT bieten das zertifizierte fehlende Bindeglied, das die Lücke zwischen den nicht verhandelbaren Anforderungen von Sicherheitsstandards wie ISO 26262 und IEC 62304 schließt. Es verwandelt Ihren vertrauten Test-Workflow in ein konformes, auditfähiges Powertool.