Empfohlenes Webinar: MISRA C++ 2023: Alles, was Sie wissen müssen | Zum Video

Erfüllen Sie die Rückverfolgbarkeit von Jama-Anforderungen bis hin zu Tests und Code

Kopfbild von Ricardo Camacho, Director of Safety & Security Compliance
24. Juni 2021
5 min lesen

Jama ist die branchenweit führende Anforderungsmanagement-Software. Das Verifizieren und Validieren von Jama-Anforderungen kann Entwickler jedoch vor viele Herausforderungen stellen. So kann Ihnen die automatisierte Softwaretestlösung von Parasoft dabei helfen.

Es ist erstaunlich, wie viel Planung, rechtliche Überlegungen, technisches Wissen und Kosten die Entwicklung und Lieferung von Softwaresystemen erfordert. Es gibt Aktivitäten oder Teilebenen der Praxis, wie das Anforderungsmanagement, das Testen oder die Verifizierung und Validierung von Anforderungen, die nur einige der Phasen im Softwareentwicklungslebenszyklus (SDLC) sind.

Darüber hinaus erhöht die Entwicklung sicherheits- und sicherheitskritischer Systeme aufgrund von Compliance- und Zertifizierungsanforderungen den Arbeitsaufwand und die Kosten in jeder Phase des SDLC weiter. Daher ist die Einbindung einer Application Lifecycle Management (ALM)-Lösung für den Erfolg eines Projekts von entscheidender Bedeutung.

ALM-Lösungen, wie Jama Connect, sind so konzipiert, dass sie sich an jede gängige SDLC-Methodik anpassen, einschließlich Wasserfall, Spiral, Agile oder Ihrer eigenen benutzerdefinierten Entwicklungstechnik. Unabhängig davon, welches SDLC vorhanden ist, bewältigen ALM-Lösungen die folgenden allgemeinen Phasen der Softwareentwicklung:

  • Anforderungsmanagement
  • Software-Design
  • Software-Entwicklung
  • Softwaretest

Diese Phasen umfassen drei wichtige Workflow-Funktionen, die ALM-Tools wie Jama bereitstellen.

  1. Teamübergreifende Zusammenarbeit und Ausrichtung.
  2. Risikomanagement während des gesamten Entwicklungslebenszyklus.
  3. Testmanagement ergänzt und erfüllt durch Testlösungen.

Screenshot eines Jama Connect-Projekts

Automatisierte Testlösungen, wie sie Parasoft anbietet, geben kritisches Feedback über die Vollständigkeit und Gründlichkeit des Testprozesses, um qualitativ hochwertige, konforme Software zu entwickeln und bereitzustellen.

  • Verifizieren und validieren Sie die Anforderungen.
  • Bieten Rückverfolgbarkeit von Anforderungen bis hin zu Tests und Code.
  • Gewährleisten Code-Funktionalität, Sicherheit, Zuverlässigkeit und letztendlich die Einhaltung von Industriestandards.

Anforderungen verwalten

Anforderungsmanagement ist ein Prozess oder eine Technik, um alle gesammelten Anforderungen zu dokumentieren, die Anforderungen zu vereinbaren und diese dann zu analysieren, zu zerlegen und zu priorisieren. Ingenieurteams können dann gemäß den aktuellen und genehmigten Anforderungen konstruieren und entwickeln.

Während die Anforderungen zerlegt werden, muss die Rückverfolgbarkeit während der gesamten Entwicklungsphasen aufrechterhalten werden, da sich die Kundenanforderungen in System-, High-Level- und Low-Level-Anforderungen zerlegen. Die Codierungs- oder Implementierungsphase realisiert die Low-Level-Anforderungen. Betrachten Sie das typische V-Diagramm von Software.

V-Diagramm zeigt bidirektionale Rückverfolgbarkeit durch jede Entwicklungsphase phase

Jede Phase steuert die nachfolgende Phase. Die Workitems oder verfeinerten Anforderungen jeder Phase müssen wiederum die Anforderungen aus der vorherigen Phase erfüllen. Architekturanforderungen, die aus dem Systemdesign erstellt oder zerlegt wurden, müssen das Systemdesign/die Systemanforderungen erfüllen und so weiter.

Erfüllen der Jama-Anforderungen in jeder Phase

Die Rückverfolgbarkeit beweist, dass jede Phase die Jama-Anforderungen jeder nachfolgenden Phase erfüllt. Entwickler schreiben Code, der jede Anforderung umsetzt oder realisiert und für sicherheitskritische Anwendungen werden Verknüpfungen zur Rückverfolgbarkeit zu Testfällen und bis hinunter zum Code hergestellt. Wenn sich eine Kundenanforderung ändert oder entfernt wird, weiß das Team daher, welche Auswirkungen dies auf die gesamte Linie hat, bis hin zum Code und den Tests, die die Anforderungen validieren.

Gemeinsam besser: Erweitern Sie Ihre Anforderungsmanagementlösung

Industriestandards wie DO-178B/C, ISO 26262, IEC 62304, IEC 61508, EN 50128 und andere erfordern die Konstruktion eines Rückverfolgbarkeitsmatrix zur Identifizierung von Lücken in der Gestaltung und Überprüfung der Anforderungen. Dies trägt dazu bei, das ultimative Ziel zu erreichen, das richtige Produkt zu bauen. Darüber hinaus soll sichergestellt werden, dass das Produkt die Qualität, Sicherheit und Sicherheit hat, um sicherzustellen, dass es das richtige Produkt bleibt.

Screenshot der Jama-Integration mit Parasoft C/C++test: Jama Connect Requirement Traceability mit einer Auflistung aller Dateien zur Überprüfung.

Anforderungen verifizieren und validieren

Die Verifizierung ist der Teil des SDLC, der sicherstellt, dass die Arbeit korrekt ist. Die Softwareverifizierung umfasst normalerweise:

  • Konformität mit Industriestandards, um sicherzustellen, dass Prozesse und Artefakte den Richtlinien entsprechen.
  • Überprüfungen, exemplarische Vorgehensweisen, Inspektionen.
  • Statische Analyse und andere Aktivitäten zu Artefakten, die während der Entwicklung erzeugt wurden.
  • Durchsetzung von Architektur-, Design- und Codierungsstandards.
  • Sicherstellen, dass keine Lücken in der Rückverfolgbarkeitsmatrix bestehen.

Die Validierung zeigt, dass das Endprodukt seine Anforderungen erfüllt. Diese Anforderungen umfassen Funktionalität plus Zuverlässigkeit, Leistung, Sicherheit und Schutz. Darüber hinaus bedeutet die Validierung, das Produkt zu sehen, auszuprobieren und zu testen. Es besteht aus der Ausführung der Software und der Demonstration ihrer Ausführung und umfasst in der Regel:

  • Codeausführung, um die korrekte Funktionalität zu demonstrieren
  • Ausführung in Zielumgebungen
  • Stress-, Leistungs-, Penetrations- und andere nicht funktionale Tests
  • Abnahmetests an Kunden

Beschleunigte Verifizierung und Validierung

Die Softwaretest-Automatisierungstools von Parasoft beschleunigen die Verifizierung und Validierung von Anforderungen, indem sie die vielen mühsamen Aspekte von Aufzeichnungen, Dokumentation, Berichterstellung, Analyse, Komponententests, Integrationstests, Systemtests, struktureller Codeabdeckung und vielem mehr automatisieren.

Optimieren von Unit- und Regressionstests für eingebettete Systeme

Hier sind Strategien zur effektiven Beschleunigung der Verifizierungs- und Validierungsprozesse.

  • Verwenden Sie die statische Analyse so früh wie möglich um Qualität und Sicherheit zu gewährleisten, während Entwickler Code schreiben. Darüber hinaus verhindert die statische Analyse zukünftige Fehler und Schwachstellen und verringert die nachgelagerten Auswirkungen von Fehlern, die bei Inspektionen und Tests übersehen werden.
  • Automatisieren Sie die Einhaltung von Codierungsstandards um den manuellen Aufwand zu reduzieren und die Code-Inspektionen zu beschleunigen.
  • Bieten Sie eine bidirektionale Rückverfolgbarkeit für alle Artefakte um sicherzustellen, dass die Anforderungen über Code und Tests verfügen, um zu beweisen, dass sie erfüllt werden. Metriken, Testergebnisse und statische Analyseergebnisse werden auf Anforderungen zurückgeführt und umgekehrt.
  • Code- und Testabdeckung durchführen um sicherzustellen, dass alle Anforderungen implementiert sind und um sicherzustellen, dass die Implementierung nach Bedarf getestet wird.
  • Angebotsanalyse-Dashboard Entscheidungshilfen zu geben und Fortschritte zu verfolgen. Die Entscheidungsfindung muss auf Daten basieren, die aus den automatisierten Prozessen gesammelt werden.
  • Automatisieren Sie die Erstellung von Dokumentationen um die Einhaltung von Prozessen und Standards zu unterstützen.
  • Automatisieren Sie die Einhaltung von Standards Reduzierung des Overheads und der Komplexität durch Automatisierung der sich wiederholenden und langwierigen Prozesse. Außerdem können Tools den Projektverlauf und die zugehörigen Ergebnisse anhand von Anforderungen, Softwarekomponenten, Tests und aufgezeichneten Abweichungen verfolgen.
  • Automatisieren Sie alle Testsuiten um manuelle Tests zu minimieren und den Testengpass durch begrenzte Hardwareverfügbarkeit zu reduzieren.
  • Führen Sie ziel- und hostbasierte Tests durch um verschiedene Validierungstechniken nach Bedarf zu unterstützen.
  • Beginnen Sie mit Shift-Left-Tests, sobald die Teams Code entwickeln. Es nutzt Unit-Testing-Frameworks und generiert automatisch Harnesses zu testen, sobald der Code fertig ist. Unterstützung für testgetriebene Entwicklung und kontinuierliches Testen ist verfügbar, wenn der Prozess einer Organisation reift.
  • Verwalten Sie Änderungen mit intelligenter Testausführung sich nur auf Tests für geänderten Code und betroffene abhängige Personen zu konzentrieren.

Bild des V-Modells mit Jama-, DTP- und TÜV-Logos links und Parasoft-Logos rechts entsprechend der entsprechenden Stufe des SDLC, in der sie verwendet werden.

Automatisierung des SDLC

Die Integration zwischen Jama Connect und Parasoft ist mehr als komplementär. Die Kombination automatisiert und hilft, die für jede der SDLC-Phasen erforderlichen Aufgaben zu erfüllen. Im Zentrum jedes Softwareprojekts stehen die Anforderungen, die das funktionale und nichtfunktionale Verhalten des Systems definieren.

Um sicherzustellen, dass das System seinen Erwartungen entspricht, werden die Jama-Anforderungen zerlegt. Zwischen den Artefakten werden Rückverfolgbarkeitsverbindungen hergestellt, die sie verfeinern oder erfüllen. Die automatisierten Softwaretestlösungen von Parasoft helfen dann bei der Überprüfung und Validierung der Jama-Anforderungen und erfüllen die Compliance- und Softwarezertifizierungspflichten von Branchen wie Automobilindustrie, Avionik, sowie medizinische, industriell und Schiene.

Erfahren Sie mehr über die Integration zwischen Jama-Anforderungen und Testverifizierung und -validierung mit Parasoft.