Parasoft-Logo

Die Wahl des richtigen Unit-Testing-Frameworks für sicherheitskritische Software und Compliance: Ist GoogleTest eine Option?

By Miroslaw Zielinski 30. Oktober 2025 6 min gelesen

Wir untersuchen, wie man ein Unit-Testing-Framework für regulierte Branchen auswählt und GoogleTest in diesem Kontext bewertet. Wir zeigen, wie die geplante TÜV SÜD-zertifizierte Edition von GoogleTest (verfügbar ab Januar 2026) die bestehenden Lücken schließen und so die Zertifizierung vereinfachen und die Compliance-Kosten senken wird.

Die Wahl des richtigen Unit-Testing-Frameworks für sicherheitskritische Software und Compliance: Ist GoogleTest eine Option?

Porträtfoto von Miroslaw Zielinski, Direktor Produktmanagement
By Miroslaw Zielinski 30. Oktober 2025 6 min gelesen

Wir untersuchen, wie man ein Unit-Testing-Framework für regulierte Branchen auswählt und GoogleTest in diesem Kontext bewertet. Wir zeigen, wie die geplante TÜV SÜD-zertifizierte Edition von GoogleTest (verfügbar ab Januar 2026) die bestehenden Lücken schließen und so die Zertifizierung vereinfachen und die Compliance-Kosten senken wird.

Die Wahl des richtigen Unit-Testing-Frameworks ist für Teams, die sicherheitskritische C- und C++-Software entwickeln, von entscheidender Bedeutung. Standards wie ISO 26262, DO-178C und IEC 61508 fordern die Rückverfolgbarkeit von Anforderungen, die strukturelle Codeabdeckung und die Qualifizierung der Testwerkzeuge, um die Konformität sicherzustellen.

Traditionell setzten Organisationen auf proprietäre Frameworks, die speziell für diese Anforderungen entwickelt wurden. Heute nutzen viele Teams Open-Source-Lösungen wie GoogleTest aus verschiedenen Gründen, die letztendlich die Schulungskosten senken und die Einführung beschleunigen:

  • Flexibilität
  • Nahtlose Integration mit Bazel und CMake
  • Weit verbreitete Entwicklervertrautheit

Dennoch fehlen GoogleTest allein wesentliche Funktionen zur Einhaltung von Vorschriften. Um sicherheitskritische Anforderungen zu erfüllen, müssen Funktionalität und Dokumentation erweitert werden.

Wichtige Kriterien für Frameworks zum Unit-Testing in sicherheitskritischen Umgebungen

Die Wahl eines Frameworks für Unit-Tests bei sicherheitskritischen Entwicklungsprojekten erfordert ein ausgewogenes Verhältnis zwischen Compliance, Produktivität und Kosten.

Open-Source-Tools sind zwar kostengünstig, bieten aber keinen zertifizierten Support und keine Qualifizierungskits, was in regulierten Umgebungen Risiken birgt. Stellen Sie sich vor, Sie stehen kurz vor der Veröffentlichung Ihres Produkts vor einem Problem mit einem Tool und haben keinen Anbieter, der Ihnen helfen kann.

Proprietäre Frameworks bieten hingegen Compliance-Funktionen und werden mit Herstellersupport geliefert. Allerdings können sie Entwickler durch starre Formate und Konventionen ausbremsen.
Manche kommerzielle Tools zwingen die Benutzer dazu, Tests mit grafischen Oberflächen zu erstellen, was Entwickler wirklich hassen.

Um die richtige Entscheidung zu treffen, müssen Teams die Einhaltung von Vorschriften, die einfache Erstellung von Tests, den Integrationsaufwand und die langfristige Wartbarkeit gegeneinander abwägen. Die folgenden Kriterien verdeutlichen, was bei der Auswahl eines Frameworks zu berücksichtigen ist.

1. Sicherheitsstandards für Prüfungen auf Geräteebene

Normen wie ISO 26262 fordern von Unit-Testing-Tools mehr als nur die Durchführung von Tests. Sie müssen Nachweise, Rückverfolgbarkeit und Abdeckungsdaten liefern, die belegen, dass das System die Sicherheitsziele erfüllt.

Ein konformes Unit-Testing-Framework muss Folgendes unterstützen:

  • Anforderungsbasiertes Testen. Unterstützung für die Verknüpfung jedes Tests mit spezifischen Anforderungen.
  • Rückverfolgbarkeitsberichterstattung. Berichte, die Anforderungen, Implementierung und Testergebnisse zum Nachweis der Konformität miteinander verknüpfen.
  • Metriken zur strukturellen Abdeckung. Berichte, die die Codeabdeckung dokumentieren, einschließlich Anweisungs-, Zweig- und in vielen Fällen MC/DC-Abdeckung.
  • Fehlereinspeisung und Robustheitstests. Überprüfung, wie das System auf unerwartete Fehler reagiert und Gewährleistung eines sicheren Ausfallverhaltens.

Typische Open-Source-Unit-Testing-Frameworks wie GoogleTest bieten die oben genannten Funktionalitäten nicht, mit Ausnahme von Fault-Injection-Tests, die mithilfe von Mocking-Frameworks implementiert werden können.

Codeabdeckung, Rückverfolgbarkeitsberichte und ähnliche Funktionen müssen mit externen Tools hinzugefügt werden.

Die Werkzeugqualifizierung ist ein weiteres wichtiges Thema. Alle Sicherheitsstandards fordern eine Werkzeugqualifizierung. Wenn man diese für ein Open-Source-Werkzeug selbst durchführen muss, ist das ein zeitaufwändiger Prozess.

Viele kommerzielle Tools sind bereits vorzertifiziert, was den Qualifizierungsaufwand vereinfacht. Vergewissern Sie sich, dass Sie einen umfassenden Überblick über die von den Kandidaten-Frameworks angebotene Qualifizierungsunterstützung haben.

2. Einfache Build- und Pipeline-Integration

In sicherheitskritischen Projekten muss sich das Unit-Testing-Framework nahtlos in moderne Build-Systeme und CI/CD-Pipelines integrieren lassen. Komplexe C++-Projekte setzen häufig auf verteilte Builds mit Tools wie Bazel. Ein Framework, das sich optimal in diese Umgebungen einfügt, reduziert den Wartungsaufwand und beschleunigt die Feedbackzyklen.

Open-Source-Frameworks wie GoogleTest sind in diesem Bereich besonders leistungsstark. Sie verwenden einen schlanken, codezentrierten Ansatz, der proprietäre Formate vermeidet und sich dadurch leichter in bestehende Build- und CI-Automatisierungs-Workflows integrieren lässt.

Diese Flexibilität ist einer der Gründe, warum GoogleTest zum De-facto-Standard bei der Entwicklung großer C++-Projekte, einschließlich ADAS- und autonomer Fahrprojekte, geworden ist.

Viele proprietäre/kommerzielle Frameworks lassen sich nur schwer in komplexe Systeme integrieren. Sie speichern Testressourcen und Konfigurationen in verschiedenen Dateien und erzwingen oft ihre eigene Vorgehensweise beim Erstellen der Test-Binärdatei. Wenn Sie also ein Framework für ein großes und komplexes Projekt auswählen, sollten Sie unbedingt die Kosten für die Build- und CI-Pipeline-Integration berücksichtigen.

3. Kosten der Entwicklerschulung

Die Schulungskosten sind ein entscheidender Faktor bei der Auswahl eines Unit-Testing-Frameworks. Proprietäre Lösungen erfordern oft, dass Teams herstellerspezifische APIs oder Formate erlernen, was die Einführung verlangsamen und die Onboarding-Kosten erhöhen kann. Dies ist besonders wichtig, wenn das Framework für ein großes Unternehmen ausgewählt wird.

GoogleTest hingegen nutzt Standard-C++-Konstrukte. Da diese vielen Entwicklern bereits vertraut sind, insbesondere in Organisationen mit großen C++-Teams, bietet die Verwendung von GoogleTest folgende Vorteile:

  • Minimiert den Lernaufwand.
  • Verkürzt die Anlaufzeit.
  • Reduziert die gesamten Schulungskosten.

Dadurch entsteht ein erheblicher Vorteil bei kommerziellen Projekten, bei denen Produktivität und Kosteneffizienz streng überwacht werden.

4. Kosten für die Erstellung und Wartung von Testfällen

Die langfristigen Kosten von Unit-Tests werden oft weniger durch Tool-Lizenzen als vielmehr durch den Aufwand für die Erstellung und Pflege von Testfällen bestimmt.

Proprietäre Frameworks bieten zwar die Möglichkeit zur automatisierten Testgenerierung, ihre starren, datengetriebenen APIs können das Schreiben und Aktualisieren von Tests für moderne C++-Codebasen jedoch erschweren.

Im Gegensatz dazu verwendet GoogleTest eine übersichtliche, native C++-API, die es vereinfacht, komplexe Testszenarien auszudrücken und langfristig zu pflegen. Dies reduziert den Aufwand und hilft Teams, mit der Weiterentwicklung der Codebasis Schritt zu halten – ein entscheidender Faktor in sicherheitskritischen Projekten, in denen sich Tests parallel zu Anforderungen und Designänderungen weiterentwickeln müssen.

5. Kosten für die Migration bestehender Testfälle

Für Teams mit einer großen Anzahl bestehender Unit-Tests können die Migrationskosten beim Wechsel des Frameworks erheblich sein. Proprietäre Tools verwenden häufig herstellerspezifische Formate oder Skriptsprachen, was die Wiederverwendung bestehender Testfälle erschwert und verteuert.

Wenn Sie bereits eine beträchtliche Anzahl von GoogleTest-Fällen in Ihrem Projekt haben, kann dies ein wichtiger Entscheidungsfaktor sein. Die Anpassung von GoogleTest an die Anforderungen von Sicherheitsstandards kann kostengünstiger sein als die Einführung eines neuen proprietären Frameworks und die Migration aller bestehenden GoogleTests auf das neue Framework.

Wenn Sie bereits Testfälle haben, die mit einem proprietären/kommerziellen Framework erstellt wurden, und einen Wechsel der Tools in Betracht ziehen, kann die Migration der Tests auf ein Framework, das reines C/C++ als Format verwendet, wie beispielsweise GoogleTest, deutlich günstiger sein als die Migration der Tests zwischen zwei verschiedenen proprietären Frameworks.

Bewertung von GoogleTest anhand von Auswahlkriterien

Die folgende Tabelle fasst die obigen Überlegungen zusammen und vergleicht GoogleTest mit einem typischen kommerziellen/proprietären Unit-Testing-Framework.

KriteriumGoogleTestTypischer Geschäftsrahmen
Anforderungsbasiertes Testen und RückverfolgbarkeitsberichterstattungNicht unterstützt, externe Tools erforderlichVollständig unterstützt, inklusive Rückverfolgbarkeitsberichten
Unterstützung der CodeabdeckungNicht enthalten, externe Tools erforderlichFür den sicheren Gebrauch entwickelt und zertifiziert
FehlerinjektionstestsMöglich über GoogleMockVollständig unterstützt und integriert
Werkzeugqualifizierung / ZertifizierungNicht verfügbarIn der Regel wird eine Zertifizierung mitgeliefert.
Integration mit Build-Systemen und CI/CD-PipelinesEinfach und gut unterstütztDeutlich komplexer und zeitaufwändiger
Kosten für die Erstellung und Pflege von TestfällenNiedrigHöher, insbesondere bei komplexem oder templateintensivem C++-Code.
Automatische Generierung von TestfällenNicht verfügbarTypischerweise wird dies durch die Generierung grundlegender Eingabe-/Ausgabekombinationen unterstützt.
Kosten und Aufwand für die Migration bestehender TestsNiedrig Hoch

Auf den ersten Blick scheint der Vergleich zugunsten kommerzieller, proprietärer Frameworks auszusehen – insbesondere aufgrund ihrer umfassenden Unterstützung sicherheitskritischer Anforderungen. Tatsächlich bieten diese Tools für C-Projekte und kleinere, weniger komplexe C++-Systeme oft eine sofort einsatzbereite, vollständige und konforme Lösung.

Bei großen und komplexen C++-Projekten sieht die Situation jedoch ganz anders aus.

Die Herausforderungen bei der Integration aktuell verfügbarer kommerzieller Frameworks in moderne Build-Systeme, deren Automatisierung in CI/CD-Pipelines und die Bewältigung der höheren Kosten der Testentwicklung können deren Vorteile schnell überwiegen.

In vielen dieser Fälle ist es praktischer, GoogleTest um die fehlenden Funktionen zu erweitern und die Werkzeugqualifizierung nach Bedarf durchzuführen, anstatt den laufenden Aufwand eines proprietären Frameworks mit nicht optimalen Testformaten und begrenzter Entwicklerflexibilität zu tragen.

Dieser Ansatz ist mit dem Aufkommen von … noch praktikabler geworden. Parasoft C/C++Test CT, ein Produkt, das GoogleTest durch Hinzufügen fehlender Funktionen und Vereinfachung des Werkzeugqualifizierungsprozesses für Sicherheitsstandards erweitern soll.

Wie hilft C/C++test CT?

C/C++test CT erweitert die Funktionalitäten von GoogleTest und macht es zu einer vollständigen, sicherheitsbereiten Testlösung für die moderne C++-Entwicklung mit folgenden Merkmalen:

  • Robuste Anforderungsrückverfolgbarkeitsberichterstattung
  • Vollständige Codeabdeckungsüberwachung einschließlich MC/DC-Metriken
  • KI-gestützte Testgenerierung zur Beschleunigung und Verbesserung der Testerstellung

Mit der Version 2025.2 wird C/C++test CT mit einer zertifizierten Edition von GoogleTest ausgeliefert. Die gesamte Toolchain – einschließlich GoogleTest selbst – ist TÜV-zertifiziert für den Einsatz in sicherheitskritischen Entwicklungsumgebungen gemäß ISO 26262, IEC 61508, IEC 62304 und IEC 50716.

Diese Zertifizierung macht eine separate Werkzeugqualifizierung überflüssig, vereinfacht die Einhaltung der Vorschriften erheblich und reduziert den Verwaltungsaufwand.

Die nachstehende Tabelle veranschaulicht, wie C/C++test CT mit GoogleTest eine vollständige und moderne Alternative zu herkömmlichen kommerziellen Frameworks für sicherheitskritische C++-Software bietet.

KriteriumGoogleTest mit C/C++test CTTypischer Geschäftsrahmen
Anforderungsbasiertes Testen und RückverfolgbarkeitsberichterstattungVollständige Unterstützung, einschließlich Rückverfolgbarkeitsberichten und Weitergabe von Testergebnissen an RMSVollständig unterstützt, inklusive Rückverfolgbarkeitsberichten
Unterstützung der CodeabdeckungVoll unterstütztEingebaut und für den sicheren Gebrauch zertifiziert
FehlerinjektionstestsMöglich über GoogleMockVollständig unterstützt und integriert
Werkzeugqualifizierung / ZertifizierungMit TÜV-ZertifizierungIn der Regel wird eine Zertifizierung mitgeliefert.
Integration mit Build-Systemen und CI/CD-PipelinesEinfach und gut unterstütztDeutlich komplexer und zeitaufwändiger
Kosten für die Erstellung und Pflege von TestfällenNiedrigHöher, insbesondere bei komplexem oder templateintensivem C++-Code.
Automatische Generierung von TestfällenKI-gestützte Schließung von Versorgungslücken Typischerweise wird dies durch die Generierung grundlegender Eingabe-/Ausgabekombinationen unterstützt.
Kosten und Aufwand für die Migration bestehender TestsNiedrig Hoch

Fazit

Für Teams, die moderne, umfangreiche C++-Anwendungen entwickeln, bietet C/C++test CT mit GoogleTest die ideale Balance zwischen Entwicklerproduktivität, Sicherheitskonformität und einfacher Toolchain. Es schließt die Lücke zwischen der Flexibilität von Open-Source-Frameworks und der Strenge zertifizierter kommerzieller Lösungen – und bietet so einen Weg, der sowohl technisch optimal als auch praktisch effizient ist.

Kurz gesagt: Mit C/C++test CT müssen Sie sich nicht mehr zwischen Entwickleragilität und Sicherheitskonformität entscheiden. Sie erhalten beides.

Beschleunigen Sie Ihre sicherheitskritischen C/C++-Tests noch heute mit einem integrierten, zertifizierten GoogleTest-Unit-Testing-Framework!

Fordern Sie eine benutzerdefinierte Demo an