Logo für GIGAOM 365x70

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

DO-178C-Softwarekonformität für die Luft- und Raumfahrt sowie Verteidigung

Anforderungen und die Rückverfolgbarkeitsmatrix

Bei luftgestützten Systemen ist das Anforderungsmanagement ein obligatorischer Bestandteil des Softwareentwicklungsprozesses und die Rückverfolgbarkeit dieser Anforderungen bis zur Implementierung. Anschließend müssen die Teams den Nachweis der korrekten Implementierung erbringen.

Unter der Rückverfolgbarkeit von Anforderungen versteht man „die Fähigkeit, den Lebenszyklus einer Anforderung sowohl vorwärts als auch rückwärts zu beschreiben und zu verfolgen (also von ihrem Ursprung über ihre Entwicklung und Spezifikation bis hin zu ihrer späteren Bereitstellung und Verwendung und durch Perioden fortlaufender Verfeinerung und Iteration in jeder dieser Phasen).“
Mit der Rückverfolgbarkeit sollen folgende Ziele sichergestellt werden:

  • Funktionale, leistungsbezogene und sicherheitsrelevante Anforderungen an das System, die auf die Software bezogen sind, wurden zu High-Level-Anforderungen entwickelt.
  • Aus den übergeordneten Anforderungen und den daraus abgeleiteten Anforderungen wurden die untergeordneten Anforderungen entwickelt.
  • Niedrigstufige Anforderungen wurden in Quellcode umgesetzt.
  • Rückverfolgbarkeit zwischen Anforderungen und Testfällen, Testverfahren und Testergebnissen.

Im einfachsten Sinne, Rückverfolgbarkeit der Anforderungen verfolgt die Zerlegung jeder Anforderung in Software und die Tests, die zur Überprüfung und Validierung jeder Anforderung verwendet werden. Außerdem verfolgt es genau, was Sie beim Schreiben von Software erstellen. Dies bedeutet, sicherzustellen, dass die Software das tut, was sie soll, und dass Sie nur das erstellen, was benötigt wird.

Wenn es Architekturelemente oder Quellcode gibt, die nicht auf eine Anforderung zurückgeführt werden können, ist das ein Risiko und sollte nicht vorhanden sein. Die Vorteile gehen über den Nachweis der Implementierung hinaus. Die Verfolgung der Analyse und Zerlegung jeder Anforderung wird häufig verwendet, um den Entwicklungsfortschritt sichtbar zu machen.

Foto eines Boeing AH-64 Apache-Hubschraubers, der während des Sonnenuntergangs durch einen teilweise bewölkten Himmel fliegt.

Die Anforderungsanalyse erfordert, dass „alle Softwareanforderungen so identifiziert werden sollten, dass die Rückverfolgbarkeit zwischen der Anforderung und dem Testen des Softwaresystems nachgewiesen werden kann.“

Es ist wichtig zu erkennen, 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. Denken Sie an das typische V-Modell einer Software.

Diagramm des klassischen V-Modells, das die Vorwärts- und Rückverfolgbarkeit in den einzelnen Entwicklungsphasen zeigt.
Das klassische V-Modell-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) belegt, dass jede Phase die Anforderungen jeder nachfolgenden Phase erfüllt. Dies ist jedoch nur die Hälfte des Bildes. Keine dieser Rückverfolgbarkeit zeigt, dass die Anforderungen erfüllt werden. Das erfordert Tests.

Diagramm, das eine Variante des V-Modells zeigt, das Verifizierungstests demonstriert, um die Implementierung der Spezifikation aus der entsprechenden Entwurfsphase nachzuweisen.
Der andere wichtige Teil der Rückverfolgbarkeit von Anforderungen sind Verifizierungstests zum Nachweis der Implementierung der Spezifikation aus der entsprechenden Entwurfsphase.

Im V-Modell überprüft und validiert jede Testphase (V&V) die entsprechende Entwurfs-/Implementierungsphase. Im Beispiel sehen Sie:

  • Durch Abnahmetests werden die Anforderungen validiert.
  • Durch Systemtests wird das Systemdesign überprüft.
  • Integrationstests überprüfen das Architekturdesign.
  • Durch Unit-Tests wird das Moduldesign überprüft usw.

Softwareentwicklung in realistischem 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 Artefakt oder Dokument, das die Verknüpfung von Anforderungen mit entsprechenden Arbeitselementen veranschaulicht, wie etwa einem Komponententest, einem Modulquellcode, einem Architektur-Designelement, anderen Anforderungen usw.

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 Intland Codebeamer. Es zeigt Systemanforderungen, die in Anforderungen auf hoher und niedriger Ebene zerlegt sind, sowie die Testfälle, die diese jeweils überprüfen.

Screenshot, der ein Beispiel für eine Anforderungsverfolgbarkeitsmatrix in Intland Codebeamer zeigt.
Beispiel einer Anforderungsverfolgbarkeitsmatrix in Intland Codebeamer

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 und bilden in der Regel die zentrale Stelle für die Rückverfolgbarkeit. 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, die das Bestehens- oder Nichtbestehensergebnis enthält und bis zum Quellcode zurückverfolgt werden kann, der die Anforderung implementiert.

Parasoft lässt sich in marktführende Anforderungsmanagement- und Agile-Planungssysteme integrieren, darunter:

Symbol für Jira Software

Atlassian-Jira

Logo für CollabNet VersionOne

CollabNet VersionOne

Symbol für TeamForge

TeamForge

Symbol für Azure DevOps

Azure DevOps-Anforderungen

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 beispielsweise:

  • Voraussetzungen:
  • Geschichten
  • Mängel
  • Testfalldefinitionen

Die Rückverfolgbarkeit wird über das zentrale Berichts- und Analyse-Dashboard Parasoft DTP verwaltet.

Arbeitsablaufdiagramm, das zeigt, wie Parasoft eine bidirektionale Rückverfolgbarkeit von Arbeitselementen zu Testfällen und Testergebnissen bereitstellt, Rückverfolgbarkeitsberichte mit Parasoft DTP anzeigt und Ergebnisse an das Anforderungsmanagementsystem zurückmeldet.
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 aus dem Verwaltungssystem mit Folgendem:

  • Ergebnisse der statischen Analyse
  • Codeabdeckung
  • Testergebnisse aus Unit-, 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 Berichterstattung als Teil der Rückverfolgbarkeitsmatrix des Systems.

Die Rückverfolgbarkeitsberichte in Parasoft DTP sind in hohem Maße anpassbar. Das folgende Bild zeigt eine Vorlage für eine Anforderungsrückverfolgbarkeitsmatrix mit in Polarion erstellten Anforderungen, die auf Folgendes zurückgeführt werden können:

  • Testfälle
  • Ergebnisse der statischen Analyse
  • Quellcode-Dateien
  • Manuelle Codeüberprüfungen
Screenshot des Parasoft DTP DO-178C Compliance-Dashboards mit der Jama-Anforderungsmatrix, die als Popup darüber angezeigt wird.
Jama-Anforderungsmatrix und Integration mit Parasoft DTP

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

Die bidirektionale Rückverfolgbarkeit ist wichtig, damit Anforderungsmanagement-Tools und andere Lebenszyklus-Tools die Ergebnisse korrelieren und sie mit den Anforderungen und zugehörigen Arbeitselementen abgleichen können.

Die Komplexität moderner Softwareprojekte erfordert Automatisierung, um die Rückverfolgbarkeit der Anforderungen zu skalieren. Parasoft-Tools sind so konzipiert, dass sie in die besten Tools für das Anforderungsmanagement integriert werden können, um die Rückverfolgbarkeit der Ergebnisse der Testautomatisierung zu erleichtern und die Überprüfung und Validierung der Anforderungen durch Softwaretests abzuschließen.

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.