Empfohlenes Webinar: KI-gestütztes API-Testing: Ein No-Code-Ansatz zum Testen | Zum Video
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.
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.
- 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.
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.
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.
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
Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.
Entdecken Sie die Kapitel
- Einführung "
- 1. Übersicht »
- 2. Statische Analyse »
- 3. MISRA »
- 4. AUTOSAR C++ 14 »
- 5. SEI/CERT »
- 6. CWE »
- 7. Unit-Tests »
- 8. Regressionstests »
- 9. Software-Integrationstests »
- 10. Testen von Softwaresystemen »
- 11. Strukturelle Codeabdeckung »
- 12. Anforderungsrückverfolgbarkeitsmatrix »
- 13. Werkzeugqualifizierung »
- 14. Berichterstattung und Analyse »