GoogleTest erhält TÜV-zertifizierte Erweiterung

GoogleTest erfüllt IEC 61508 mit TÜV-Erweiterung

Mit einer TÜV-zertifizierten Erweiterung erfüllt GoogleTest jetzt die Anforderungen der IEC 61508. Damit wird das Open-Source-Testframework erstmals für den Einsatz in sicherheitskritischen Anwendungen der Industrieautomatisierung qualifiziert.

In der Welt der industriellen Automatisierung mit speicherprogrammierbaren Steuerungen (SPS), Roboteranwendungen und komplexen Überwachungssteuerungen ist kein Spielraum für Fehler vorhanden. Diese Systeme müssen auch in rauen Umgebungen zuverlässig funktionieren, denn Ausfälle können gefährliche Folgen und erhebliche finanzielle Verluste nach sich ziehen. Genau darum schreiben Funktionssicherheitsstandards wie IEC 61508 (Industrielle Automatisierung) und ISO 13849 (Maschinen) strenge Prozesse vor, einschließlich der Qualifizierung von Tools. Dadurch wird die Verwendung von Open-Source-Testautomatisierungstools wie GoogleTest zu einer großen Herausforderung in puncto Konformität.

Automatisierte Fertigung erfordert fehlerfreie Software – zertifizierte Testlösungen sichern Zuverlässigkeit und Normenkonformität.

Was leistet die TÜV-zertifizierte Erweiterung?

Diese kritische Lücke schließt Parasoft mit einem TÜV-zertifizierten Angebot von GoogleTest. Dieser Schritt ermöglicht es Google-Test-Workflows, sicherheitskritische Standards zu erfüllen, wodurch sich die Hürden für die Einführung in regulierten Branchen drastisch reduzieren. Nun können Entwicklungsteams GoogleTest vertrauensvoll einführen oder weiter nutzen, während im Hintergrund dafür gesorgt wird, dass die Konformitätsanforderungen erfüllt werden.

Digitale Vernetzung in der Smart Factory – Softwaretests gewährleisten Sicherheit und Effizienz in automatisierten Produktionsumgebungen.

Unit-Tests in der industriellen Automatisierung

Für Sicherheitsstandards sind Unit-Tests eine bewährte Vorgehensweise und Compliance-Anforderung. Sie überprüfen Software auf kleinster Ebene und stellen sicher, dass jede Komponente wie vorgesehen funktioniert. Teams müssen Nachweise für die Erfüllung der Sicherheitsziele vorlegen. Hier kommt GoogleTest, ein beliebtes Open-Source-Testframework für C++, ins Spiel.

Open-Source-Testframework GoogleTest – beliebt bei Entwicklern, aber erst mit zertifizierter Erweiterung für sicherheitskritische Anwendungen vollständig normkonform.

Doch kann ein kostenloses Open-Source-Tool die strengen Anforderungen der industriellen Automatisierung wirklich erfüllen?

Für Entwicklungsteams, die keine sicherheitskritischen Komponenten entwickeln oder sich noch am Anfang ihrer Qualitätsreise befinden, bietet GoogleTest überzeugende Vorteile.

Es ist kostenlos, einfach einzurichten und gut dokumentiert. Zudem verfügt es über eine große Community, die Unterstützung bietet. Deshalb ist die Einstiegshürde niedrig.

Zudem ist es entwicklerfreundlich. Die übersichtliche, aktuelle C++-API umfasst umfangreiche Assertions (Behauptungen), wiederverwendbare Fixtures (Testvorlagen) und parametrisierte Tests, sodass sich umfassende Tests intuitiv und effizient schreiben lassen.

Des Weiteren lässt es sich problemlos in aktuelle DevOps-Workflows und Build-Systeme wie CMake sowie CI/CD-Tools wie Jenkins oder GitLab integrieren. Diese werden in der industriellen Automatisierung immer wichtiger.

Zudem bietet es plattformübergreifende Unterstützung an. Es ist geeignet für die verschiedenen, in der Automatisierung üblichen Umgebungen – von Embedded-Controllern bis hin zu Linux-basierten Edge-Systemen.

GoogleMock erleichtert Unit-Tests, indem es echte Abhängigkeiten durch Mock-Objekte mit vorprogrammierten Erwartungen ersetzt.

Mithilfe von GoogleTest können Teams robuste Testverfahren schnell einführen, die Codequalität verbessern und Fehler frühzeitig im Entwicklungszyklus erkennen.

Wo GoogleTest an seine Grenzen stößt

GoogleTest ist zwar leistungsstark, wurde aber nicht mit Blick auf sicherheitskritische Compliance entwickelt. Die Herausforderung betrifft nicht nur die Technik, sondern auch den Nachweis der Konformität. GoogleTest beinhaltet standardmäßig keine:

  • Zertifizierung und Qualifizierung: Die Norm IEC 61508 verlangt, dass Tools für sicherheitskritische Anwendungen zertifiziert sein müssen. GoogleTest verfügt weder über eine Zertifizierung noch über Pakete, die es für den Einsatz in sicherheitskritischen Anwendungen qualifizieren würden.
  • Automatisierte Codeabdeckungsanalyse: Obligatorische Metriken wie Statement-, Branch- und MC/DC-Abdeckung sind nicht integriert, aber für den Nachweis der Testgründlichkeit unerlässlich.
  • Rückverfolgbarkeit von Anforderungen: Es muss nachgewiesen werden können, dass jede Sicherheitsanforderung mit einem bestandenen Testfall verknüpft ist. Die manuelle Rückverfolgbarkeit ist fehleranfällig und in großem Maßstab nicht nachhaltig, was ein Audit-Risiko darstellt.
  • Konformitätsberichte: Google Test erzeugt zwar Rohdaten in Form eines XML-Berichts, aber keine formelle, auditierbare Compliance-Dokumentation, wie sie von Sicherheitsstandards wie IEC 61508 verlangt wird.
  • Dadurch entsteht ein Dilemma: Einerseits schätzen Entwicklungsteams die Flexibilität und Effizienz von Google Test, andererseits können Compliance-Teams die Lücken, die Google Test in einem zertifizierten Workflow hinterlässt, nicht akzeptieren.

Einhaltung industrieller Standards

Die gute Nachricht ist, dass man sich nicht zwischen den Präferenzen der Entwickler und der Einhaltung gesetzlicher Vorschriften entscheiden muss. Die Strategie von Parasoft besteht darin, Google Test zu verbessern, nicht zu ersetzen. Die vom TÜV SÜD zertifizierte Lösung C/C++test CT dient genau diesem Zweck. Sie arbeitet mit Google Test (und anderen Frameworks wie CppUnit, Boot.Test usw.) zusammen, um wichtige Verifizierungsfunktionen hinzuzufügen, die für IEC 61508 und andere Standards erforderlich sind.

Mit C/C++test CT erweitert Parasoft GoogleTest um TÜV-zertifizierte Funktionen für Nachweis, Rückverfolgbarkeit und Compliance in sicherheitskritischen Softwareprojekten.
  • TÜV-zertifizierte Codeabdeckung: Die Messung der strukturellen Abdeckungsmetriken (einschließlich MC/DC) erfolgt automatisch direkt aus eigenen Google-Test-Ausführungen. Es ist wichtig, dass man genau sieht, welcher Code getestet wird und - was noch wichtiger ist - welcher nicht. So erhält man klare, umsetzbare Erkenntnisse.
  • Automatisierte Rückverfolgbarkeit von Anforderungen: Es ist möglich, GoogleTest-Fälle mit Anforderungen, die in Tools wie Jama Connect, IBM DOORS Next, Codebeamer, Jira oder Polarion gespeichert sind, automatisch zu verlinken. Dadurch entsteht ein lückenloser Prüfpfad, der belegt, dass jede Anforderung verifiziert wurde.
  • Zentrale Berichterstellung und Analyse: C/C++test CT lässt sich in Parasoft DTP integrieren, um Ergebnisse zu aggregieren und einen Prüfpfad sowie konforme Berichte zu generieren. Außerdem gibt es ein einziges Web-Dashboard für alle Qualitätsmetriken, das dem Management vollständige Transparenz über den Sicherheits- und Compliance-Status des Projekts verschafft.
  • Zertifizierung von GoogleTest selbst: Parasoft arbeitet daran, GoogleTest zu qualifizieren. Dieser Prozess wird voraussichtlich Ende 2025/Anfang 2026 abgeschlossen sein. Dadurch wird eine vollständig zertifizierte Version des Frameworks bereitgestellt, die dem Team die Qualifizierungslast abnimmt und somit die Arbeit deutlich erleichtert.

Das Beste aus beiden Welten

In der industriellen Automatisierungsbranche ist das Ziel klar: Es soll Software entwickelt werden, die äußerst robust und vollständig konform ist, ohne die Produktivität oder Flexibilität der Entwickler zu beeinträchtigen.

Indem man das leistungsstarke Google-Test -Framework mit C/C++test CT ergänzt, kann man eine bessere Abdeckung, Rückverfolgbarkeit und Berichterstellung gewährleisten. Durch die Kombination der entwicklerfreundlichen Flexibilität von GoogleTest mit konformitätsfähigen Erweiterungen können Teams in der industriellen Automatisierung ihre Arbeitsabläufe agil halten und gleichzeitig strenge Sicherheitsanforderungen erfüllen. Dieser Ansatz ermöglicht Folgendes:

  • Bestehende Investitionen in Google Test-Testsuiten und Entwicklerkenntnisse werden erhalten.
  • Nahtlose Integration von Tests in moderne CI/CD-Pipelines für eine agile Entwicklung.
  • Erstellung eines vollständigen Prüfpfads, der für die Zertifizierung nach IEC 61508 und anderen funktionalen Sicherheitsstandards erforderlich ist.
  • Schnellere Einführung von Tests und Steigerung der Entwicklerproduktivität.
  • Erfüllung der Anforderungen funktionaler Sicherheitsstandards wie IEC 61508.
  •  Man kann sicher sein, dass die Software, die die industrielle Automatisierung antreibt, im Einsatz zuverlässig funktioniert.
  • Diese Veränderung beeinflusst nicht nur die Art und Weise, wie Teams im Bereich der industriellen Automatisierung Software testen, sondern beschleunigt auch die Entwicklung des modernen Testautomatisierungsmarktes hin zu offeneren und konformitätsfreundlicheren Tools. Die Entwicklerfreundlichkeit von GoogleTest bietet die Möglichkeit, einen Testprozess zu nutzen, der den strengen Anforderungen der industriellen Automatisierung entspricht. Es geht nicht darum, sich zwischen Leistung und Konformität zu entscheiden, sondern darum, beides zu kombinieren. (bs)

Autor

Ricardo Camacho, Director of Safety & Security Compliance bei Parasoft