Empfohlenes Webinar: Vereinfachen Sie Compliance-Workflows mit dem neuen C/C++test 2024.2 und KI-gesteuerter Automatisierung Zum Video
Zum Abschnitt springen
Erfüllen Sie die Rückverfolgbarkeit von Jama-Anforderungen bis hin zu Tests und Code
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.
Zum Abschnitt springen
Zum Abschnitt springen
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.
- Teamübergreifende Zusammenarbeit und Ausrichtung.
- Risikomanagement während des gesamten Entwicklungslebenszyklus.
- Testmanagement ergänzt und erfüllt durch Testlösungen.
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.
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.
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.
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, Medizin, industriell und Schiene.