Verwenden Sie Agentic AI, um intelligentere API-Tests zu generieren. In wenigen Minuten. Erfahren Sie mehr >>

ISO 26262 Software-Compliance in der Automobilindustrie

Softwareintegrationstests

Integrationstests folgt dem Unit-Test mit dem Ziel, den Architekturentwurf oder die Anforderungen auf hoher Ebene zu validieren. Integrationstests können Bottom-up und Top-down mit einer Kombination von Ansätzen durchgeführt werden, wie es in vielen Softwareorganisationen üblich ist.

Bottom-Up-Integration

Tester nehmen Unit-Testfälle und entfernen Stubs oder kombinieren sie mit anderen Codeeinheiten, die höhere Funktionsebenen bilden. Diese Arten integrierter Testfälle werden verwendet, um Anforderungen auf hoher Ebene zu validieren.

Top-Down-Integration

Bei diesem Test werden zuerst die Module oder Subsysteme auf höherer Ebene getestet. Anschließend folgt das Testen der Module auf niedrigerer Ebene (Subsubsysteme). Dieser Ansatz setzt voraus, dass wichtige Subsysteme vollständig genug sind, um sie als Ganzes einzuschließen und zu testen.

Das V-Modell eignet sich gut zur Veranschaulichung der Beziehung zwischen den Entwicklungsphasen und den Validierungsphasen. In jeder Testphase werden vollständigere Teile der Software anhand der Phase validiert, die sie definiert.

Das V-Modell könnte eine Wasserfall-Entwicklungsmethode implizieren. Es gibt jedoch Möglichkeiten, Agile, DevOps und CI/CD in diese Art der Produktentwicklung zu integrieren und dabei dennoch die Standards einzuhalten.

Grafik des V-Modells, die die Beziehung zwischen Architekturentwurf und Integrationstests zeigt.
Das V-Modell der Softwareentwicklung zeigt die Beziehung zwischen jeder Phase und der Validierung, die in jeder Testphase abgeleitet wird.

Während das Durchführen von Tests als Softwarevalidierung gilt, wird es durch einen parallelen Verifizierungsprozess unterstützt, der die folgenden Aktivitäten umfasst, um sicherzustellen, dass die Teams den Prozess und das Produkt richtig erstellen:

Rezensionen

Walkthroughs

Analyse

Rückverfolgbarkeit

Test

Codeabdeckung und mehr

Die Hauptaufgabe der Überprüfung besteht darin, sicherzustellen, dass die aus der vorherigen Phase gelieferten Artefakte gemäß den Unternehmens- und Branchenrichtlinien gemäß den Spezifikationen erstellt werden. 

Integrations- und Systemtests als Teil eines kontinuierlichen Testprozesses

Ein gewisses Maß an Testautomatisierung ist grundlegend für kontinuierliches Testen. Viele Organisationen beginnen mit der Automatisierung manueller Integrations- und Systemtests (Top-down) oder Unittests (Bottom-up).

Um kontinuierliches Testen zu ermöglichen, müssen sich Unternehmen auf die Entwicklung einer skalierbaren Testautomatisierungspraxis konzentrieren, die auf einer Grundlage von Unit-Tests aufbaut, die isoliert und schneller auszuführen sind. Sobald die Unit-Tests vollständig automatisiert sind, sind der nächste Schritt Integrationstests und schließlich Systemtests.

Kontinuierliche Prüfung nutzt Automatisierung und aus Tests gewonnene Daten, um eine objektive Bewertung der Risiken eines in der Entwicklung befindlichen Systems in Echtzeit zu ermöglichen. Einheitlich angewendet, ermöglicht es sowohl Geschäfts- als auch technischen Managern, bessere Kompromissentscheidungen zwischen Release-Umfang, -Zeit und -Qualität zu treffen.

Kontinuierliches Testen bedeutet nicht einfach nur mehr Automatisierung. Es ist eine umfassendere Neubewertung von Softwarequalitätspraktiken, die von den Qualitätskosten eines Unternehmens bestimmt und hinsichtlich Geschwindigkeit und Agilität ausgewogen sind. Selbst innerhalb des V-Modells, das in der sicherheitskritischen Softwareentwicklung verwendet wird, ist kontinuierliches Testen immer noch ein praktikabler Ansatz, insbesondere während Testphasen, beispielsweise während Unit-Tests und Integrationstests.

Das folgende Diagramm veranschaulicht, wie verschiedene Testphasen Teil eines kontinuierlichen Prozesses sind, der auf einer Feedbackschleife aus Testergebnissen und Analysen basiert.

Beispiel einer kontinuierlichen Testpipeline
Ein kontinuierlicher Testzyklus

Parasoft-Analyse und -Berichte zur Unterstützung von Integrations- und Systemtests

Parasoft-Testautomatisierungstools unterstützen die Validierung (tatsächliche Testaktivitäten) im Hinblick auf Testautomatisierung und kontinuierliches Testen. Diese Tools unterstützen auch die Verifizierung dieser Aktivitäten, was bedeutet, dass sie die Prozess- und Standardanforderungen unterstützen. Ein wesentlicher Aspekt der sicherheitskritischen Automobilsoftwareentwicklung ist Rückverfolgbarkeit der Anforderungen und Codeabdeckung.

Zweiwege-Rückverfolgbarkeit

Anforderungen an sicherheitskritische Software sind der wichtigste Treiber für Produktdesign und -entwicklung. Diese Anforderungen umfassen funktionale Sicherheit, Anwendungsanforderungen und nicht funktionale Anforderungen, die das Produkt vollständig definieren. Dieses Vertrauen auf dokumentierte Anforderungen ist ein zweischneidiges Schwert, denn schlechte Anforderungen sind eine der Hauptursachen für Sicherheitsvorfälle in Software. Mit anderen Worten: Nicht die Implementierung war schuld, sondern schlechte oder fehlende Anforderungen.

Automatisierung der bidirektionalen Rückverfolgbarkeit

Die Pflege von Rückverfolgbarkeitsaufzeichnungen in jedem Umfang erfordert Automatisierung. Tools zur Verwaltung des Anwendungslebenszyklus umfassen ausgereifte Funktionen zur Anforderungsverwaltung, die in der Regel die zentrale Stelle für die Rückverfolgbarkeit darstellen. Integrierte Softwaretesttools wie Parasoft vervollständigen die Überprüfung und Validierung von Anforderungen, indem sie eine automatisierte bidirektionale Rückverfolgbarkeit zum ausführbaren Testfall bereitstellen. Dies umfasst das Ergebnis „Bestanden oder Nichtbestehen“ und führt bis zum Quellcode zurück, der die Anforderung implementiert.

Parasoft lässt sich in marktführende Anforderungsmanagement-Tools oder ALM-Systeme wie IBM DOORS Next, PTC Codebeamer, Polarion von Siemens, Atlassian Jira, Jama Connect, Jira und andere integrieren. Wie in der Abbildung unten gezeigt, jede der Testautomatisierungslösungen von Parasoft, C/C++test, C/C++test CT, Test, dotTEST, SOAtestsowie Selenisch, das im Entwicklungslebenszyklus verwendet wird, unterstützt die Zuordnung von Tests zu in diesen Systemen definierten Arbeitselementen wie Anforderungen, Defekten und Testfällen/Testläufen. Die Rückverfolgbarkeit wird über Parasoft verwaltet. Das zentrale Berichts- und Analyse-Dashboard von DTP.

Grafik einer Feedbackschleife für Testergebnisse und Analysen für verschiedene Testphasen in einem kontinuierlichen Prozess.
Rückverfolgbarkeit und Berichterstattung von Anforderungen

Parasoft DTP korreliert die eindeutigen Kennungen des Verwaltungssystems mit:

  • Ergebnisse der statischen Analyse
  • Codeabdeckung
  • Ergebnisse aus Unit-, Integrations- und Funktionstests

Screenshot des Dashboards des Parasoft DTP Reporting Center, das Metriken zur bidirektionalen Anforderungsrückverfolgbarkeit zeigt.
Parasoft bietet ein Berichts-Dashboard, das den Teststatus des Projekts, die Korrelation mit den Anforderungen und den Fortschritt bis zur Fertigstellung erfasst.

Die Ergebnisse werden in den Rückverfolgbarkeitsberichten von Parasoft DTP angezeigt und an das Anforderungsmanagementsystem zurückgesendet. Sie bieten vollständige bidirektionale Rückverfolgbarkeit und Berichterstattung als Teil der Rückverfolgbarkeitsmatrix des Systems.

Schnappschuss einer Codebeamer-Rückverfolgbarkeitsmatrix
Codebeamer-Rückverfolgbarkeitsmatrix. Systemanforderungen über Anforderungen auf hoher Ebene bis hin zu Anforderungen auf niedriger Ebene, Testfällen und Testergebnissen.

Die Rückverfolgbarkeitsberichte in Parasoft DTP sind hochgradig anpassbar. Das folgende Bild zeigt eine Vorlage für eine Anforderungsrückverfolgbarkeitsmatrix für in Polarion erstellte Anforderungen, die auf die Testfälle, die Ergebnisse der statischen Analyse, die Quellcodedateien und die manuellen Codeüberprüfungen zurückgeführt werden können.

Screenshot der in Siemens Polarion integrierten Rückverfolgbarkeitsmatrix für Parasoft DTP-Anforderungen.
Vorlage für die Anforderungsrückverfolgbarkeitsmatrix von Parasoft DTP, integriert mit Siemens Polarion.
Die bidirektionale Korrelation zwischen Testergebnissen und Arbeitselementen bildet die Grundlage für die Rückverfolgbarkeit der Anforderungen. Parasoft DTP fügt Test- und Codeabdeckungsanalysen hinzu, um die Vollständigkeit der Tests zu bewerten. Die Aufrechterhaltung dieser bidirektionalen Korrelation zwischen Anforderungen, Tests und den Artefakten, die sie implementieren, ist ein wesentlicher Bestandteil der Rückverfolgbarkeit.

Code-Abdeckung

Die Codeabdeckung drückt den Grad aus, in dem der Quellcode der Anwendung allen Testverfahren unterzogen wird, einschließlich Unit-, Integrations- und Systemtests – sowohl automatisiert als auch manuell.

Das Sammeln von Abdeckungsdaten während des gesamten Lebenszyklus ermöglicht genauere Qualitäts- und Abdeckungsmetriken und deckt gleichzeitig ungetestete oder unzureichend getestete Teile der Anwendung auf. Je nach Sicherheitsintegritätsstufe (ASIL in ISO 26262) variieren Tiefe und Vollständigkeit der Codeabdeckung.

Die Anwendungsabdeckung kann Unternehmen auch dabei helfen, ihre Testbemühungen zu konzentrieren, wenn sie aufgrund von Zeitbeschränkungen nicht alle manuellen Regressionstests durchführen können. Das Erfassen von Abdeckungsdaten zum laufenden System auf seiner Zielhardware während der Integrations- und Systemtests vervollständigt die Codeabdeckung aus den Unittests.

Vorteile der aggregierten Codeabdeckung

Erfasste Abdeckungsdaten werden im Rahmen des kontinuierlichen Integrationsprozesses (CI) sowie als Teil des Arbeitsablaufs des Testers genutzt. Parasoft DTP führt erweiterte Analysen der Codeabdeckung aller Tests, Quellcodeänderungen, statischen Analyseergebnisse und Testergebnisse durch. Die Ergebnisse helfen dabei, ungetesteten und unzureichend getesteten Code und andere Hochrisikobereiche in der Software zu identifizieren.

Das Analysieren von Code, Ausführen von Tests, Verfolgen der Abdeckung und Berichten der Daten in einem Dashboard oder Diagramm ist ein nützlicher erster Schritt zur Risikobewertung. Die Teams müssen jedoch dennoch viel Zeit und Ressourcen darauf verwenden, die Zeichen der Zeit zu interpretieren und zu hoffen, dass sie die Daten richtig interpretiert haben.

Um die potenziellen Risiken der Anwendung zu verstehen, sind erweiterte Analyseprozesse erforderlich, die die Daten zusammenführen und korrelieren. Dies bietet mehr Einblick in die tatsächliche Codeabdeckung und hilft bei der Identifizierung von Testlücken und sich überschneidenden Tests. Wie hoch ist beispielsweise die tatsächliche Abdeckung für die getestete Anwendung, wenn Ihre Tools unterschiedliche Abdeckungswerte für Unit-Tests, automatisierte Funktionstests und manuelle Tests melden?

Die Prozentsätze können nicht einfach addiert werden, da sich die Tests überschneiden. Dies ist ein entscheidender Schritt, um das mit der zu entwickelnden Anwendung verbundene Risikoniveau zu verstehen.

Screenshot des Berichts- und Analyse-Dashboards von Parasoft DTP, das die Änderungsverwaltung zeigt.
Parasoft DTP-Berichts- und Analyse-Dashboard

Beschleunigen Sie Integrations- und Systemtests mit Parasoft Test Automation Tools

Die Software-Testautomatisierungstools von Parasoft beschleunigen die Verifizierung, indem sie die vielen mühsamen Aspekte der Aufzeichnung, Dokumentation, Berichterstattung, Analyse und Berichterstattung automatisieren.

Symbol in einem blauen Kreis, das eine weiße horizontale Linie mit Pfeilen an beiden Enden zeigt.

Zweiwege-Rückverfolgbarkeit für alle Artefakte stellt sicher, dass die Anforderungen über Code und Tests verfügen, die ihre Erfüllung nachweisen. Metriken, Testergebnisse und Ergebnisse statischer Analysen werden auf Komponenten zurückgeführt und umgekehrt.

Symbol in einem blauen Kreis mit weißen öffnenden und schließenden Klammern und einem Schrägstrich dazwischen zur Darstellung des Codes.

Code- und Testabdeckung überprüft, ob alle Anforderungen implementiert sind, und stellt sicher, dass die Implementierung wie erforderlich getestet wird.

Symbol in einem blauen Kreis, das den weißen Umriss eines Ziels zeigt.

Ziel- und hostbasierte Testausführung unterstützt je nach Bedarf verschiedene Validierungstechniken.

Symbol in einem blauen Kreis, das den Umriss eines kleinen weißen Kreises in der Mitte von drei anderen Kreisen zeigt, die jeweils durch eine Linie miteinander verbunden sind, die verbundene Smart-Geräte darstellt.

Smarte Testdurchführung Verwaltet Änderungen mit einem Schwerpunkt auf Tests nur für geänderten Code und alle davon betroffenen abhängigen Elemente.

Symbol in einem blauen Kreis mit vier vertikalen weißen Linien unterschiedlicher Höhe, die ein Diagramm darstellen.

Berichterstellung und Analyse bietet Einblicke für wichtige Entscheidungen und verfolgt den Fortschritt. Die Entscheidungsfindung muss auf Daten basieren, die aus den automatisierten Prozessen gesammelt werden.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Automatisierte Dokumentationserstellung Aus Analyse- und Testergebnissen lassen sich Prozesse und die Einhaltung von Standards unterstützen.

Symbol in einem blauen Kreis, das drei weiße Pfeile zeigt, die einen durchgehenden Kreis bilden.

Automatisierung der Einhaltung von Standards reduziert den Mehraufwand und die Komplexität durch Automatisierung der repetitivsten und langwierigsten Prozesse. Die Tools können den Projektverlauf und die zugehörigen Ergebnisse anhand von Anforderungen, Softwarekomponenten, Tests und aufgezeichneten Abweichungen verfolgen.

Dunkelblaues Banner mit dem Bild eines Mannes, der in einem Serverraum mit einer Frau spricht, die ein Tablet in der Hand hält.
Bild eines Mannes und einer Frau mit einem Tablet in der Hand, die in einem Serverraum diskutieren.

Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.