Empfohlenes Webinar: KI-gestütztes API-Testing: Ein No-Code-Ansatz zum Testen | Zum Video

ISO 26262 Software-Compliance in der Automobilindustrie

Anforderungen und die Rückverfolgbarkeitsmatrix

In der ISO 26262 ist das Anforderungsmanagement ein obligatorischer Bestandteil des Softwareentwicklungsprozesses und die Rückverfolgbarkeit dieser Anforderungen bis zur Implementierung und anschließend der Nachweis der korrekten Implementierung muss sichergestellt werden.

Die Rückverfolgbarkeit der Anforderungen ist definiert als „die Fähigkeit, den Lebenszyklus einer Anforderung zu beschreiben und zu verfolgen, und zwar sowohl vorwärts als auch rückwärts (also von ihrem Ursprung über ihre Entwicklung und Spezifikation bis hin zu ihrer anschließenden Bereitstellung und Verwendung und durch Perioden fortlaufender Verfeinerung und Iteration in jeder dieser Phasen).“1

Im einfachsten Sinne ist die Rückverfolgbarkeit von Anforderungen erforderlich, um beim Schreiben von Software genau zu verfolgen, was Sie erstellen. Sie wird verwendet, um Anforderungen zu überprüfen, d. h. Dokumentation und Designspezifikationen anhand der Anforderungen zu überprüfen, um sicherzustellen, dass die Software das tut, was sie soll, und dass Sie nur das erstellen, was benötigt wird.

Die Rückverfolgbarkeit dient sowohl dazu, zu beweisen, dass Sie die Anforderungen erfüllt haben, als auch zu identifizieren, was nicht. Wenn es Architekturelemente oder Quellcode gibt, die nicht auf eine Anforderung zurückgeführt werden können, ist dies ein Risiko und sollte nicht vorhanden sein. Die Vorteile gehen über den Nachweis der Implementierung hinaus. Die disziplinierte Rückverfolgbarkeit ist ein wichtiger Einblick in den Entwicklungsfortschritt.

Es ist wichtig zu wissen, dass viele Anforderungen an sicherheitskritische Software aus Sicherheitsanalysen und Risikomanagement abgeleitet werden. Das System muss natürlich seine beabsichtigten Funktionen erfüllen, aber es muss auch Risiken mindern, um die Verletzungsgefahr deutlich zu reduzieren. Darüber hinaus ist die Rückverfolgbarkeit von entscheidender Bedeutung, um zu dokumentieren und nachzuweisen, dass diese Sicherheitsfunktionen vollständig und korrekt implementiert und getestet wurden.

Bei der Rückverfolgung von Anforderungen handelt es sich nicht einfach um das Verknüpfen eines Absatzes aus einem Dokument mit einem Codeabschnitt oder einem Test. Die Rückverfolgbarkeit muss in allen Entwicklungsphasen gewährleistet sein, während sich die Anforderungen in Design, Architektur und Implementierung manifestieren. Betrachten Sie das typische V-Diagramm einer Software.

Grafik, die die Vorwärts- und Rückverfolgbarkeit in den einzelnen Entwicklungsphasen zeigt.
Das klassische V-Diagramm zeigt, wie die Rückverfolgbarkeit vorwärts und rückwärts durch jede Entwicklungsphase verläuft.
Jede Phase bestimmt die nachfolgende Phase. Die Arbeitselemente in diesen Phasen müssen wiederum die Anforderungen der vorherigen Phase erfüllen. Das Systemdesign wird von den Anforderungen bestimmt. Das Systemdesign erfüllt die Anforderungen und so weiter.

Das Requirements Traceability Management (RTM) weist nach, dass jede Phase die Anforderungen der nachfolgenden Phase erfüllt. Dies ist jedoch nur die halbe Wahrheit. Keine dieser Rückverfolgbarkeiten weist nach, dass die Anforderungen erfüllt werden. Um die Anforderungen zu validieren, sind Tests durch Ausführung erforderlich.

Grafik der V-Modell-Validierung zwischen jeder Entwicklungs- und Testphase.
Verschiedene Anforderungsebenen werden in verschiedenen Entwicklungsphasen mithilfe unterschiedlicher Testmethoden validiert.
Im obigen V-Diagramm validiert jede Testphase die Anforderungen, die mit der entsprechenden Entwurfs-/Implementierungsphase verbunden sind. Im Beispiel sehen Sie:
  • Durch Abnahmetests werden die Kundenanforderungen validiert.
  • Durch Systemtests werden die Systemanforderungen validiert.
  • Integrationstests validieren den Architekturentwurf.
  • Durch Unit-Tests wird das Moduldesign validiert.

Softwareentwicklung in realistischem mittleren bis großen Maßstab erfordert viele Anforderungen, komplexes Design und Architektur sowie möglicherweise Tausende von Einheiten und Einheitentests. Die Automatisierung von RTM beim Testen ist notwendig, insbesondere für sicherheitskritische Software, die eine Dokumentation der Rückverfolgbarkeit für Zertifizierungen und Audits erfordert.

Anforderungsrückverfolgbarkeitsmatrix

A Anforderungsrückverfolgbarkeitsmatrix ist ein Dokument, das die Erfüllung von Anforderungen mit einem entsprechenden Arbeitselement, wie etwa einem Komponententest, einem Modulquellcode, einem Architektur-Designelement usw. veranschaulicht.

Die Matrix wird häufig als Tabelle angezeigt, die zeigt, wie jede Anforderung von einem entsprechenden Teil des Produkts „abgehakt“ wird. Die Erstellung und Pflege dieser Matrizen wird häufig mit Anforderungsmanagement-Tools automatisiert, mit der Möglichkeit, sie visuell in vielen Formen und bei Bedarf sogar in Papierform anzuzeigen.

Unten sehen Sie ein Beispiel für eine Anforderungsverfolgbarkeitsmatrix von PTC Codebeamer. Es zeigt Systemanforderungen, zerlegt in Anforderungen auf hoher und niedriger Ebene, sowie die Testfälle, die diese jeweils überprüfen.

Schnappschuss einer Codebeamer-Rückverfolgbarkeitsmatrix
Beispiel einer Anforderungsverfolgbarkeitsmatrix in PTC Codebeamer.

Automatisierung der bidirektionalen Rückverfolgbarkeit

Das Verwalten von Rückverfolgbarkeitsaufzeichnungen in jeder Größenordnung erfordert eine Automatisierung. Zu den Tools für das Management des Anwendungslebenszyklus gehören Funktionen für das Anforderungsmanagement, die ausgereift sind und in der Regel die Drehscheibe für die Rückverfolgbarkeit darstellen. Integrierte Softwaretest-Tools wie Parasoft vervollständigen die Überprüfung und Validierung von Anforderungen, indem sie eine automatisierte bidirektionale Rückverfolgbarkeit für den ausführbaren Testfall bereitstellen, die das Bestanden- oder Nichtbestanden-Ergebnis enthält und auf den Quellcode zurückgeht, der die Anforderung implementiert.

Parasoft lässt sich in marktführende Anforderungsmanagement- und Agile-Planungssysteme wie PTC Codebeamer, Polarion von Siemens, Jama Connect, Atlassian Jira und Azure DevOps Requirements integrieren.

Wie in der Abbildung unten gezeigt, unterstützt jedes der Testautomatisierungstools von Parasoft (C/C++test, C/C++test CT, Jtest, dotTEST, SOAtest und Selenic) die Zuordnung von Tests zu in diesen Systemen definierten Arbeitselementen wie Anforderungen, Storys, Defekten und Testfalldefinitionen. Die Rückverfolgbarkeit wird über das zentrale Berichts- und Analyse-Dashboard Parasoft DTP verwaltet.

Infografik zu Parasoft-Tools und ihrer bidirektionalen Anforderungsrückverfolgbarkeit mit Anforderungsmanagementsystemen mittels DTP.
Parasoft ermöglicht die bidirektionale Rückverfolgbarkeit von Arbeitselementen zu Testfällen und Testergebnissen, zeigt Rückverfolgbarkeitsberichte mit Parasoft DTP an und meldet die Ergebnisse zurück an das Anforderungsmanagementsystem.

Parasoft DTP korreliert die eindeutigen Kennungen des Managementsystems mit statischen Analyseergebnissen, Codeabdeckung und Testergebnissen aus Einheiten-, Integrations- und Funktionstests. 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 Berichterstellung als Teil der Rückverfolgbarkeitsmatrix des Systems.

Die Rückverfolgbarkeitsberichte in Parasoft DTP sind hochgradig anpassbar. Das folgende Bild zeigt eine Vorlage für eine Anforderungsrückverfolgbarkeitsmatrix mit in Polarion verfassten 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 von DTP mit dem Dashboard zur Einhaltung von ISO 26262
Vorlage für die Anforderungsrückverfolgbarkeitsmatrix von Parasoft DTP, integriert mit Polarion ALM.

Die bidirektionale Korrelation zwischen Testergebnissen und Arbeitselementen bildet die Grundlage für die Rückverfolgbarkeit der Anforderungen. Parasoft DTP fügt Test und Codeabdeckungsanalyse um die Vollständigkeit des Tests zu bewerten. Die Aufrechterhaltung dieser bidirektionalen Korrelation zwischen Anforderungen, Tests und den Artefakten, die sie implementieren, ist ein wesentlicher Bestandteil der Rückverfolgbarkeit.

Die bidirektionale Rückverfolgbarkeit ist wichtig, damit Anforderungsmanagement-Tools und andere Lifecycle-Tools die Ergebnisse korrelieren und an den Anforderungen und den zugehörigen Workitems ausrichten können.

Die Komplexität moderner Softwareprojekte erfordert Automatisierung zur Skalierung der Anforderungsrückverfolgbarkeit. Parasoft-Tools sind für die Integration mit den besten Anforderungsmanagement-Tools konzipiert, um die Rückverfolgbarkeit in Testautomatisierungsergebnissen zu erleichtern und die Softwaretestverifizierung und Validierung der Anforderungen abzuschließen.

1Gotel OCZ und Finkelstein ACW, „Eine Analyse des Problems der Rückverfolgbarkeit von Anforderungen“, in Proceedings of ICRE94, 1. Internationale Konferenz zum Thema Requirements Engineering, Colorado Springs, Co, IEEE CS Press, 1994

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.