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.
Ricardo CamachoRicardoCamacho
Sikov @stock.adobe.com
Anzeige
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.
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.Alexander - @stock.adobe.com
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.
Anzeige
Open-Source-Testframework GoogleTest – beliebt bei Entwicklern, aber erst mit zertifizierter Erweiterung für sicherheitskritische Anwendungen vollständig normkonform.Parasoft
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.
Anzeige
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.
Anzeige
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:
Anzeige
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.
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.
Anzeige
Mit C/C++test CT erweitert Parasoft GoogleTest um TÜV-zertifizierte Funktionen für Nachweis, Rückverfolgbarkeit und Compliance in sicherheitskritischen Softwareprojekten.Parasoft
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.
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