Risikobasiertes Testen: Ansatz, Matrix, Prozess und Beispiele

Risikobasiertes Testen

Risikobasiertes Testen (RBT) ist ein Softwaretesttyp, der auf der Risikowahrscheinlichkeit basiert. Dabei geht es um die Bewertung des Risikos anhand von Software-Complexität, Kritikalität des Geschäfts, Häufigkeit der Nutzung, mögliche Bereiche mit Defekt usw. Beim risikobasierten Testen wird das Testen von Merkmalen und Funktionen der Softwareanwendung priorisiert, die wirkungsvoller sind und wahrscheinlich Fehler aufweisen.

Risiko ist das Eintreten eines ungewissen Ereignisses mit positiver oder negativer Auswirkung auf die messbaren Erfolgskriterien eines Projekts. Dabei kann es sich um Ereignisse handeln, die in der Vergangenheit stattgefunden haben, um aktuelle Ereignisse oder um etwas, das in der Zukunft passieren könnte. Diese ungewissen Ereignisse können Auswirkungen auf die Kosten-, Geschäfts-, Technik- und Qualitätsziele eines Projekts haben.

Risiken können positiv oder negativ sein.

  • Positive Risiken werden als Chancen und Hilfen für die Nachhaltigkeit von Unternehmen bezeichnet. Zum Beispiel in ein neues Projekt investieren, Geschäftsprozesse ändern, neue Produkte entwickeln.
  • Negative Risiken werden als Bedrohungen bezeichnet und Empfehlungen zu deren Minimierung oder Beseitigung müssen für den Projekterfolg umgesetzt werden.

In diesem Tutorial lernen Sie-

Wann sollten risikobasierte Tests implementiert werden?

Risikobasierte Tests können implementiert werden

  • Projekte mit Zeit-, Ressourcen-, Budgetbeschränkungen usw.
  • Projekte, bei denen risikobasierte Analysen zur Erkennung von Schwachstellen eingesetzt werden können SQL-Injection-Angriffe.
  • Sicherheitstests in Cloud-Computing-Umgebungen.
  • Neue Projekte mit hohen Risikofaktoren wie mangelnder Erfahrung mit den verwendeten Technologien, mangelndem Fachwissen in der Geschäftsdomäne.
  • Inkrementelle und iterative Modelle usw.

Risikomanagementprozesses

Lassen Sie uns nun die Schritte des Risikomanagementprozesses verstehen

Risiko-Einschätzung

Die Risikoidentifizierung kann durch Risikoworkshops, Checklisten, Brainstorming und Interviews erfolgenwing, Delphi-Technik, Ursache-Wirkungs-Diagramme, Erkenntnisse aus früheren Projekten, Ursachenanalyse, Kontaktaufnahme mit Fachexperten und Fachexperten.

Risikoregister ist eine Tabelle, die eine Liste der identifizierten Risiken, möglichen Reaktionen und Grundursachen enthält. Es wird verwendet, um die Risiken (sowohl Bedrohungen als auch Chancen) während der gesamten Projektlaufzeit zu überwachen und zu verfolgen. Risikoreaktionsstrategien können zur Bewältigung positiver und negativer Risiken eingesetzt werden.

Die Risikogliederungsstruktur spielt eine wichtige Rolle bei der Risikoplanung. Die Risikoaufschlüsselungsstruktur hilft bei der Identifizierung risikoanfälliger Bereiche und hilft bei der effektiven Bewertung und Risikoüberwachung im Verlauf des Projekts. Es trägt dazu bei, ausreichend Zeit und Ressourcen für Risikomanagementaktivitäten bereitzustellen. Es hilft auch bei der Kategorisierung vieler Quellen, aus denen die Projektrisiken entstehen können.

Beispiel einer Risikoaufschlüsselungsstruktur

Risikoanalyse (einschließlich quantitativer und qualitativer Analyse)

Sobald die Liste potenzieller Risiken identifiziert wurde, besteht der nächste Schritt darin, diese zu analysieren und das Risiko anhand der Bedeutung zu filtern. Eine der qualitativen Risikoanalysetechniken ist die Verwendung der Risikomatrix (wird im nächsten Abschnitt behandelt). Diese Technik wird verwendet, um die Wahrscheinlichkeit und Auswirkung des Risikos zu bestimmen.

Risikoreaktionsplanung

Basierend auf der Analyse können wir entscheiden, ob die Risiken eine Reaktion erfordern. Beispielsweise erfordern einige Risiken eine Reaktion im Projektplan, andere erfordern eine Reaktion in der Projektüberwachung und andere erfordern überhaupt keine Reaktion.

Der Risikoeigentümer ist dafür verantwortlich, Optionen zu identifizieren, um die Wahrscheinlichkeit und Auswirkung der zugewiesenen Risiken zu verringern.

Risikominderung ist eine Risikoreaktionsmethode, mit der die negativen Auswirkungen möglicher Bedrohungen abgemildert werden. Dies kann dadurch erreicht werden, dass die Risiken beseitigt oder auf ein akzeptables Maß reduziert werden.

Risikokontingenz

Kontingenz kann als die Möglichkeit eines ungewissen Ereignisses beschrieben werden, dessen Auswirkungen jedoch unbekannt oder unvorhersehbar sind. Ein Notfallplan wird auch als Aktionsplan/Backup-Plan für den schlimmsten Fall bezeichnet. Mit anderen Worten: Es bestimmt, welche Schritte unternommen werden können, wenn ein unvorhersehbares Ereignis eintritt.

Risikoüberwachung und -kontrolle

Risikokontroll- und Überwachungsprozesse werden verwendet, um die identifizierten Risiken zu verfolgen, Restrisiken zu überwachen, neue Risiken zu identifizieren, das Risikoregister zu aktualisieren, die Gründe für die Änderung zu analysieren, einen Risikoreaktionsplan auszuführen und Risikoauslöser zu überwachen usw. Ihre Wirksamkeit bei der Reduzierung von Risiken zu bewerten .

Dies kann durch Risikoneubewertungen, Risikoaudits, Abweichungs- und Trendanalysen, technische Leistungsmessung, Statusaktualisierungsbesprechungen und retrospektive Besprechungen erreicht werden.

Die folgende Tabelle gibt Auskunft über die

Eingaben zur Risikoüberwachung und -kontrolle Tools und Techniken zur Risikoüberwachung und -kontrolle Ergebnisse der Risikoüberwachung und -kontrolle
Risikomanagementplan Audits zur Reaktion auf Projektrisiken Workaround-Pläne
Risikoreaktionsplan Regelmäßige Projektrisikoüberprüfungen Abhilfe
Projektkommunikationsplan Earned-Value-Analyse Projektänderungswünsche
Zusätzliche Risikoidentifizierung und -analyse Technische Leistungsmessung Aktualisierungen des riskResponse-Plans und der Checkliste zur Risikoidentifizierung
Umfangsänderungen Zusätzliche Risikoreaktionsplanung Risikodatenbank

Wir müssen bedenken, dass das Risiko mit Änderungen in der Technologie, der Größe des Projekts, der Länge des Projekts (längerer Projektzeitraum), der Anzahl der Sponsoragenturen, den Projektschätzungen, dem Aufwand und einem Mangel an geeigneten Fähigkeiten steigt.

Risikobasierter Testansatz

  1. Analysieren Sie die Anforderungen.
  2. Dokumente (SRS, FRS, Usecases) werden überprüft. Diese Aktivität wird durchgeführt, um Fehler und Unklarheiten zu finden und zu beseitigen.
  3. Die Freigabe von Anforderungen ist eine der Techniken zur Risikominderung, um die Einführung verspäteter Änderungen in die Projekte zu vermeiden. Alle Änderungen an den Anforderungen nach der Erstellung des Dokuments würden einen Änderungskontrollprozess und anschließende Genehmigungen erfordern.
  4. Bewerten Sie die Risiken, indem Sie die Wahrscheinlichkeit und Auswirkung jeder Anforderung auf das Projekt berechnen und dabei die definierten Kriterien wie Kosten, Zeitplan, Ressourcen, Umfang, technische Leistungssicherheit, Zuverlässigkeit usw. berücksichtigenplexusw. berücksichtigt werden.
  5. Identifizieren Sie die Ausfallwahrscheinlichkeit und Hochrisikobereiche. Dies kann mithilfe einer Risikobewertungsmatrix erfolgen.
  6. Verwenden Sie ein Risikoregister, um die Menge der identifizierten Risiken aufzulisten. Aktualisieren, überwachen und verfolgen Sie die Risiken regelmäßig in regelmäßigen Abständen.
  7. In dieser Phase muss eine Risikoprofilierung durchgeführt werden, um die Risikokapazität und die Risikotoleranzniveaus zu verstehen.
  8. Priorisieren Sie die Anforderungen anhand der Bewertung.
  9. Ein risikobasierter Testprozess ist definiert
  10. Hochkritische und mittlere Risiken können bei der Planung, Umsetzung und Fortschrittsüberwachung berücksichtigt werden. Auf einer Beobachtungsliste können geringe Risiken berücksichtigt werden.
  11. Zur Analyse der Datenqualität wird eine Risikodatenqualitätsbewertung durchgeführt.
  12. Planen und definieren Sie den Test entsprechend der Bewertung
  13. Wenden Sie geeignete Testansätze und Testdesigntechniken an, um die Testfälle so zu entwerfen, dass die Elemente mit dem höchsten Risiko zuerst getestet werden. Elemente mit hohem Risiko können von der Ressource mit guten Domänenkenntnissen getestet werden.
  14. Es können verschiedene Testentwurfstechniken verwendet werden, z. B. die Entscheidungstabellentechnik für Testelemente mit hohem Risiko und die „nur“ Äquivalenzpartitionierung für Testelemente mit niedrigem Risiko.
  15. Testfälle sind außerdem so konzipiert, dass sie mehrere Funktionalitäten und End-to-End-Geschäftsszenarien abdecken.
  16. Bereiten Sie Testdaten und Testbedingungen sowie einen Prüfstand vor.
  17. Überprüfen Sie die Testpläne, die Teststrategie, die Testfälle, die Testberichte oder alle anderen vom Testteam erstellten Dokumente.
  18. Peer-Review ist ein wichtiger Schritt bei der Fehlererkennung und Risikominderung.
  19. Führen Sie Probeläufe und Qualitätsprüfungen der Ergebnisse durch
  20. Testfälle werden entsprechend der Priorität des Risikoelements ausgeführt.
  21. Sorgen Sie für die Rückverfolgbarkeit zwischen Risikoelementen, Tests, die sie abdecken, Ergebnissen dieser Tests und während der Tests festgestellten Mängeln. Alle ordnungsgemäß ausgeführten Teststrategien reduzieren Qualitätsrisiken.
  22. Risikobasiertes Testen kann auf jeder Testebene eingesetzt werden, z. B. bei Komponenten-, Integrations-, System- und Abnahmetests
  23. Auf Systemebene müssen wir uns auf das Wesentliche in der Anwendung konzentrieren. Dies kann anhand der Sichtbarkeit der Funktionen, der Nutzungshäufigkeit und der möglichen Ausfallkosten ermittelt werden.
  24. Bewertung der Ausstiegskriterien. Alle Hochrisikobereiche vollständig getestet, es verbleiben nur noch geringe Restrisiken.
  25. Risikobasierte Testergebnisberichterstattung und Metrikanalyse.
  26. Bewerten Sie bestehende Risikoereignisse und neue Risikoereignisse basierend auf wichtigen Risikoindikatoren neu.
  27. Aktualisierung des Risikoregisters.
  28. Notfallpläne – Dies dient als Rückfallplan/Notfallplan für hohe Expositionsrisiken.
  29. Fehleranalyse und Fehlerprävention zur Beseitigung der Mängel.
  30. Wiederholungstests und Regressionstests zur Validierung der Fehlerbehebungen auf der Grundlage vorberechneter Risikoanalysen und Hochrisikobereiche sollten am intensivsten abgedeckt werden.
  31. Risikobasierte Automatisierungstests (sofern möglich)
  32. Berechnung des Restrisikos
  33. Risikoüberwachung und -kontrolle
  34. Abgangskriterien oder Abschlusskriterien können für verschiedene Risikostufen verwendet werden. Alle wesentlichen Risiken wurden mit geeigneten Maßnahmen oder Notfallplänen angegangen. Die Risikoexposition liegt auf oder unter dem für das Projekt als akzeptabel vereinbarten Niveau.
  35. Neubewertung des Risikoprofils und Kundenfeedback.

Risikobasierter Testansatz für den Systemtest

  1. Technischer Systemtest –Dies wird als Umgebungstest und Integrationstest bezeichnet. Umgebungstests umfassen Tests in der Entwicklungs-, Test- und Produktionsumgebung.
  2. Funktioneller Systemtest– Testen aller Funktionalitäten, Features, Programme, Module. Der Zweck dieses Tests besteht darin, zu bewerten, ob das System seine spezifizierten Anforderungen erfüllt.
  3. Nicht funktionsfähiger Systemtest-Testen der Leistung nichtfunktionaler Anforderungen, Lasttests, Stresstests, Konfigurationstests, Sicherheitstests, Backup- und Wiederherstellungsverfahren und Dokumentation (System-, Betriebs- und Installationsdokumentation).

Das folgende Diagramm gibt einen klaren Überblick über den oben genannten Prozess

Systemtest umfasst sowohl funktionale Tests als auch nichtfunktionale Tests.

Funktionstests stellen sicher, dass das Produkt/die Anwendung den Kunden- und Geschäftsanforderungen entspricht. Andererseits werden nichtfunktionale Tests durchgeführt, um zu überprüfen, ob das Produkt den Erwartungen des Kunden in Bezug auf Qualität, Zuverlässigkeit, Benutzerfreundlichkeit, Leistung, Kompatibilität usw. entspricht.

So führen Sie risikobasierte Tests durch: Schließen Sie den Prozess ab

In diesem Abschnitt wird der risikobasierte Testprozess behandelt

  1. Risiko-Einschätzung
  2. Risikoanalyse
  3. Risiko-Reaktion
  4. Testumfang
  5. Testprozessdefinition

  1. In diesem Prozess werden die Risiken identifiziert und kategorisiert, ein Entwurf eines Risikoregisters erstellt und eine Risikosortierung durchgeführt, um die wesentlichen Risiken zu identifizieren.
  2. Bei der Risikoreaktion geht es darum, die Testziele aus den Risiken zu formulieren und geeignete Techniken auszuwählen, um zu demonstrieren, dass die Testaktivität/Testtechnik die Testziele erreicht.
  3. Bei der Berechnung der Testeffektivitätsbewertung werden Dokumentabhängigkeiten, Anforderungen, Kosten, Zeitbedarf für Softwaretests usw. berücksichtigt.
  4. Das Test-Scoping ist eine Überprüfungsaktivität, die die Beteiligung aller Beteiligten und technischen Mitarbeiter erfordert. Es ist wichtig, den vereinbarten Risikoumfang einzuhalten. Diese Risiken müssen durch Tests angegangen werden, und alle Mitglieder sind mit den ihnen zugewiesenen Verantwortlichkeiten und dem für diese Aktivitäten bereitgestellten Budget einverstanden.
  5. Nachdem der Testumfang festgelegt wurde, müssen die Testziele, Annahmen und Abhängigkeiten für jede Testphase im Standardformat zusammengestellt werden.

Betrachten wir die funktionalen Anforderungen F1, F2, F3 und die nichtfunktionalen Anforderungen N1 und N2

F1-funktionale Anforderung, R1-Risiko im Zusammenhang mit F1

  • Testziel 1 – Zeigen Sie mithilfe eines Tests, dass die erwarteten Merkmale und Funktionalitäten des Systems einwandfrei funktionieren und das Risiko R1 durch Funktionstests angegangen werden kann
  • Test-Browserseitentests werden durchgeführt, um wichtige Benutzeraufgaben auszuführen und zu überprüfen, ob das R1 (mit F1 verbundenes Risiko) in einer Reihe von Szenarien angegangen werden kann.

F2-funktionale Anforderung, R2-Risiko im Zusammenhang mit F2

  • Testziel 2 – Demonstrieren Sie die Verwendung von a Test dass die erwarteten Features und Funktionalitäten des Systems einwandfrei funktionieren und das Risiko R2 durch Funktionstests angegangen werden kann
  • Test-Browserseitentests werden durchgeführt, um wichtige Benutzeraufgaben auszuführen und zu überprüfen, ob der R2 in einer Reihe von Szenarien angesprochen werden kann

F3-funktionale Anforderung, R3-Risiko im Zusammenhang mit F3

  • Testziel 3 – Demonstrieren Sie die Verwendung von a Test dass die erwarteten Features und Funktionalitäten des Systems einwandfrei funktionieren und das Risiko R3 durch Funktionstests angegangen werden kann
  • Test-Browserseitentests werden durchgeführt, um wichtige Benutzeraufgaben auszuführen und zu überprüfen, ob R3 in einer Reihe von Szenarien angegangen werden kann

N1 – nicht funktionale Anforderung, NR1 – mit N1 verbundenes Risiko

  • Testziel N1 – Demonstrieren Sie die Verwendung von a Test dass die Betriebseigenschaften des Systems einwandfrei funktionieren und das Risiko NR1 durch nichtfunktionale Tests angegangen werden kann
  • Test-Usability-Tests sind eine Technik, die verwendet wird, um zu bewerten, wie einfach Benutzeroberflächen zu verwenden sind, und um zu überprüfen, ob der NR1 durch Usability-Tests angegangen werden kann

N2 – nicht funktionale Anforderung, NR2 – mit N2 verbundenes Risiko

  • Testziel N.2 – Zeigen Sie mithilfe eines Tests, dass die Betriebseigenschaften des Systems einwandfrei funktionieren und das Risiko NR2 durch nichtfunktionale Tests angegangen werden kann
  • Test-Sicherheitstests sind eine Technik, mit der überprüft wird, ob die Anwendung gesichert oder anfällig für Angriffe ist, ob ein Informationsleck vorliegt, und um zu überprüfen, ob NR2 durch Sicherheitstests behoben werden kann.

Spezifische Testziele: Die aufgeführten Risiken und Testziele sind spezifisch für die Testarten.

Verfahren zur Gestaltung des risikobasierten Testprozesses

  • Bereiten Sie ein Risikoregister vor. Darin werden die Risiken erfasst, die aus einer allgemeinen Risikoliste, einer vorhandenen Checkliste und einer Brainstorming-Sitzung abgeleitet wurden.
  • Berücksichtigen Sie die mit den funktionalen und nichtfunktionalen Anforderungen des Systems verbundenen Risiken (Benutzerfreundlichkeit, Sicherheit, Leistung).
  • Jedem Risiko wird eine eindeutige Kennung zugewiesen
Spalte Nr. Spaltenüberschrift Beschreibung
3 Wahrscheinlichkeit Wahrscheinlichkeit, dass das System für diese Fehlerart anfällig ist
4 Folgen Auswirkungen dieser Art des Scheiterns
5 Belichtung Produkt aus Wahrscheinlichkeit und Konsequenzen (Spalte 3 und 4)
6 Wirksamkeit testen Wie sicher sind die Tester, dass sie diesem Risiko begegnen können?
7 Testprioritätsnummer Produkt aus Wahrscheinlichkeit, Konsequenzen und Testeffektivität (Spalte 3,4, 6 XNUMX)
8 Testziel(e) welches Testziel zur Bewältigung dieses Risikos verwendet wird
9 Testtechniken welche Methode oder Technik verwendet wird
10 Abhängigkeiten Wovon gehen die Tester aus und worauf verlassen sie sich?
11 Aktion Wie viel Aufwand ist für diesen Test erforderlich?
12 Zeitskala Wie viel Zeit ist für diesen Test erforderlich?
13 Teststufe A-EinheitentestsTeststufe B-IntegrationstestTeststufe C-Systemtest Name der Person oder Gruppe, die diese Aktivität durchführt

Die Wahrscheinlichkeit (1 Niedrig – 5 Hoch) und die Folgen (1 Niedrig – 5 Hoch) jedes Risikos werden bewertet

  • Die Testbelichtung wird berechnet
  • Der Tester analysiert jedes Risiko und bewertet, ob das Risiko testbar ist oder nicht
  • Für die testbaren Risiken werden Testziele definiert
  • Der Tester gibt die Testaktivität an, die auf geplante Weise durchgeführt werden sollte, um das Testziel zu erreichen (statische Überprüfungen, Inspektionen, Systemtests, Integrationstests, Abnahmetests, HTML-Validierung, Lokalisierungstests usw.).
  • Diese Testaktivitäten können in Phasen eingeteilt werden (Komponententest/Unit-Test, Integrationstests, Systemtests, Abnahmetests)
  • Manchmal kann ein Risiko durch eine oder mehrere Testphasen angegangen werden
  • Identifizieren Sie die Abhängigkeiten und Annahmen (Verfügbarkeit von Fähigkeiten, Tools, Testumgebungen, Ressourcen)
  • Die Testeffektivität wird berechnet. Die Testeffektivität bezieht sich auf das Vertrauensniveau des Testers, dass das Risiko durch Tests definitiv angegangen wird. Der Testeffektivitätswert ist eine Zahl zwischen eins und fünf. (5 – hohes Vertrauen, 1 – niedriges Vertrauen)
  • Schätzung des Aufwands, der benötigten Zeit und der Kosten für die Vorbereitung und Durchführung dieser Tests.

  • Die Testprioritätszahl wird berechnet. Es ist das Produkt aus Wahrscheinlichkeit, Konsequenzen und Testeffektivitätswerten.
    • 125-MaximumàEin sehr ernstes Risiko, das durch Tests erkannt werden konnte
    • 1-Minimum à Ein sehr geringes Risiko, das durch Tests nicht erkannt werden würde
  • Basierend auf der Testprioritätsnummer kann die Testwichtigkeit als hoch (rot), mittel (gelb) und niedrig (grün) klassifiziert werden. Artikel mit dem höchsten Risiko werden zuerst getestet.
  • Ordnen Sie die Testaktivitäten den Testphasen zu. Bestimmen Sie die Gruppe, die Tests für jedes Ziel in den verschiedenen Testphasen durchführt (Unit-Tests, Integrationstests, Systemtests, Abnahmetests).
  • Was in den Testumfang fällt und was nicht, wird in der Test-Scoping-Phase entschieden
  • Für jede Phase werden Testziele, zu testende Komponente, Verantwortung, Umgebung, Eintrittskriterien, Austrittskriterien, Werkzeuge, Techniken und Ergebnisse definiert.

Allgemeine Testziele – Diese allgemeinen Ziele gelten für mehrere Projekte und Anwendungen

  • Komponente erfüllt die Anforderung und ist für den Einsatz in größeren Subsystemen bereit
  • Die mit den spezifischen Testtypen verbundenen Risiken werden berücksichtigt und die Testziele werden erreicht.
  • Integrierte Komponenten sind korrekt zusammengebaut. Stellen Sie die Schnittstellenkompatibilität zwischen den Komponenten sicher.
  • Das System erfüllt die spezifizierten funktionalen und nichtfunktionalen Anforderungen.
  • Produktkomponenten erfüllen die Anforderungen des Endbenutzers in ihrer vorgesehenen Betriebsumgebung
  • Die Risikomanagementstrategie dient der Identifizierung, Analyse und Minderung von Risiken.
  • Das System erfüllt die Anforderungen der Branchenvorschriften
  • Das System erfüllt vertragliche Verpflichtungen
  • Institutionalisierung und das Erreichen anderer festgelegter spezifischer Ziele wie Kosten-, Zeitplan- und Qualitätsziele.
  • System, Prozesse und Menschen erfüllen die Geschäftsanforderungen

Für die verschiedenen Testphasen können generische Testziele definiert werden

  • Komponententest
  • Integrationstests
  • Systemtest
  • Abnahmetests

Betrachten wir die Systemtestphase

  1. G4 und G5 zeigen, dass das System die funktionalen (F1, F2, F3) und nichtfunktionalen Anforderungen (N1, N2) erfüllt.
  2. Zeigen Sie mithilfe von Tests, dass die erwarteten Features und Funktionalitäten des Systems einwandfrei funktionieren und dass das mit F1, F2, F3 verbundene Risiko durch Funktionstests angegangen werden kann
  3. Zeigen Sie mithilfe von Tests, dass die Betriebseigenschaften des Systems einwandfrei funktionieren und dass das mit N1 und N2 verbundene Risiko durch nichtfunktionale Tests angegangen werden kann
  4. Basierend auf der Testprioritätsnummer kann die Testwichtigkeit als hoch (rot), mittel (gelb) und niedrig (grün) klassifiziert werden.

Priorisierungs- und Risikobewertungsmatrix

Die Risikobewertungsmatrix ist die Wahrscheinlichkeits-Auswirkungsmatrix. Es bietet dem Projektteam einen schnellen Überblick über die Risiken und die Priorität, mit der jedes dieser Risiken angegangen werden muss.

Risk rating = Probability x Severity

Die Wahrscheinlichkeit ist das Maß für die Wahrscheinlichkeit, dass ein ungewisses Ereignis eintritt. Belichtung in Bezug auf Zeit, Nähe und Wiederholung. Sie wird in Prozent ausgedrückt.

Dies kann als häufig (A), wahrscheinlich (B), gelegentlich (C), selten (D), unwahrscheinlich (E), eliminiert (F) klassifiziert werden.

  • Häufig: Es wird erwartet, dass es in den meisten Fällen mehrmals auftritt (91–100 %).
  • Wahrscheinlich: Tritt in den meisten Fällen wahrscheinlich mehrmals auf (61 – 90 %).
  • Gelegentlich: Kann irgendwann auftreten (41 – 60 %)
  • Entfernt – Tritt unwahrscheinlich auf/könnte irgendwann auftreten (11 – 40 %)
  • Unwahrscheinlich – Kann in seltenen und außergewöhnlichen Fällen auftreten (0–10 %).
  • Beseitigen – Unmöglich (0 %)

Der Schweregrad ist der Grad der Auswirkung von Schäden oder Verlusten, die durch das ungewisse Ereignis verursacht werden. Bewertet mit 1 bis 4 und kann als katastrophal=1, kritisch=2, marginal=3, vernachlässigbar=4 klassifiziert werden

  • Katastrophal – Harte Konsequenzen, die das Projekt völlig unproduktiv machen und sogar zum Projektabbruch führen können. Dies muss beim Risikomanagement oberste Priorität haben.
  • Kritisch– Große Konsequenzen, die zu großen Verlusten führen können. Das Projekt ist stark bedroht.
  • Marginal – Kurzfristige Schäden sind durch Sanierungsmaßnahmen noch reversibel.
  • Unerheblich– Geringer oder minimaler Schaden oder Verlust. Dies kann durch Routineverfahren überwacht und verwaltet werden.

Die Priorität wird in vier Kategorien eingeteilt, die der Schwere und Wahrscheinlichkeit des Risikos zugeordnet werden, wie in der folgenden Abbildung dargestellt.

  • Echte Beschallungs-
  • High
  • Medium
  • Sneaker

Ernst: Die Risiken, die in diese Kategorie fallen, sind in der Farbe Gelb gekennzeichnet. Die Aktivität muss gestoppt werden und es müssen sofort Maßnahmen zur Eingrenzung des Risikos ergriffen werden. Wirksame Kontrollen müssen identifiziert und umgesetzt werden. Darüber hinaus darf die Tätigkeit nicht fortgesetzt werden, es sei denn, das Risiko ist auf ein niedriges oder mittleres Maß reduziert.

Hoch: Die Risiken, die in diese Kategorie fallen, sind in roter Farbe gekennzeichnet und weisen auf Maßnahmen oder Risikomanagementstrategien hin. Es müssen sofort Maßnahmen ergriffen werden, um das Risiko zu isolieren, zu beseitigen, zu ersetzen und wirksame Risikokontrollen umzusetzen. Wenn diese Probleme nicht sofort gelöst werden können, müssen strenge Zeitpläne für die Lösung dieser Probleme definiert werden.

Medium: Die Risiken, die in diese Kategorie fallen, sind gelb markiert. Es müssen angemessene und praktische Maßnahmen ergriffen werden, um die Risiken zu minimieren.

Niedrig: Die in diese Kategorie fallenden Risiken sind grün markiert und können ignoriert werden, da sie in der Regel kein nennenswertes Problem darstellen. Eine regelmäßige Überprüfung ist ein Muss, um sicherzustellen, dass die Kontrollen wirksam bleiben

Allgemeine Checkliste für risikobasierte Tests

Umfassende Liste wichtiger Punkte, die bei risikobasierten Tests berücksichtigt werden müssen

  • Wichtige Funktionalitäten im Projekt.
  • Für den Benutzer sichtbare Funktionalität im Projekt
  • Die Funktionalität mit der größten Auswirkung auf die Sicherheit
  • Funktionalitäten, die den größten finanziellen Einfluss auf die Benutzer haben
  • Hochkomplex Bereiche Quellcode und fehleranfällige Codes
  • Features oder Funktionen, die früh im Entwicklungszyklus getestet werden können.
  • Dem Produktdesign wurden in letzter Minute Features oder Funktionalitäten hinzugefügt.
  • Kritische Faktoren ähnlicher/verwandter früherer Projekte, die Probleme/Probleme verursacht haben.
  • Hauptfaktoren oder Probleme ähnlicher/verwandter Projekte, die einen großen Einfluss auf die Betriebs- und Wartungskosten hatten.
  • Schlechte Anforderungen führen zu schlechten Designs und Tests, die sich auf die Projektziele und -ergebnisse auswirken können.
  • Im schlimmsten Fall kann ein Produkt so fehlerhaft sein, dass es nicht mehr nachgearbeitet werden kann und komplett verschrottet werden muss, was zu einem erheblichen Reputationsschaden für das Unternehmen führen würde. Identifizieren Sie, welche Art von Problemen für die Produktziele entscheidend sind.
  • Situationen oder Probleme, die zu anhaltenden Kundendienstbeschwerden führen würden.
  • End-to-End-Tests könnten sich leicht auf die vielfältigen Funktionalitäten des Systems konzentrieren.
  • Optimaler Testsatz, der die Risikoabdeckung maximieren kann
  • Welche Tests bieten das beste Verhältnis zwischen hoher Risikoabdeckung und erforderlicher Zeit?

Risikobasierte Testergebnisse, Berichte und Metriken

  1. Erstellung des PrüfberichtsBei der Berichterstattung über den Teststatus geht es darum, die Testergebnisse effektiv an die Projektbeteiligten zu kommunizieren. Und um ein klares Verständnis zu vermitteln und den Vergleich der Testergebnisse mit den Testzielen zu zeigen.
  • Anzahl der geplanten vs. ausgeführten Testfälle
  • Anzahl der bestandenen/fehlgeschlagenen Testfälle
  • Anzahl der identifizierten Mängel sowie deren Status und Schweregrad
  • Anzahl der Mängel und deren Status
  • Anzahl der kritischen Mängel – noch offen
  • Ausfallzeiten der Umgebung – falls vorhanden
  • Showstopper – falls vorhandenTestzusammenfassungsbericht, Testabdeckungsbericht
  1. MetrikvorbereitungMetriken sind eine Kombination aus zwei oder mehr Maßen, die zum Vergleich von Softwareprozessen, Projekten und Produkten verwendet werden.
    • Aufwands- und Zeitplanvariation
    • Produktivität der Testfallvorbereitung
    • Abdeckung des Testdesigns
    • Produktivität bei der Ausführung von Testfällen
    • Effizienz der Risikoidentifizierung %
    • Effizienz der Risikominderung %
    • Testeffektivität %
    • Abdeckung der Testausführung
    • Produktivität der Testausführung
    • Fehlerleckage %
    • Effizienz der Fehlererkennung
    • Anforderungsstabilitätsindex
    • Kosten der Qualität
  1. Analysieren Sie die Risiken in nichtfunktionalen Kategorien (Leistung, Zuverlässigkeit und Benutzerfreundlichkeit) basierend auf dem Fehlerstatus und einer Reihe von Tests bestanden/nicht bestanden, basierend auf ihrer Beziehung zu Risiken.
  2. Analysieren Sie die Risiken in funktionalen Kategorien wie Tests, Fehlerstatus und Testbestanden/nicht bestanden, basierend auf ihrer Beziehung zu Risiken.
  3. Identifizieren Sie wichtige Lead- und Lag-Indikatoren und erstellen Sie Frühwarnindikatoren
  4. Überwachen und berichten Sie über Lead- und Lag-Risikoindikatoren (Key Risk Indicators), indem Sie die Datenmuster, Trends und gegenseitigen Abhängigkeiten analysieren.

Bewertung des inhärenten Risikos im Vergleich zum Restrisiko

Die Risikoidentifizierung und -analyse sollte auch inhärente Risiken, Restrisiken, Sekundärrisiken und wiederkehrende Risiken umfassen

  • Inhärentes Risiko: Die Risiken, die im System identifiziert wurden/bereits vorhanden waren, bevor die Kontrollen und Reaktionen implementiert wurden. Inhärente Risiken werden auch als Bruttorisiken bezeichnet
  • Restrisiko: Die Risiken, die nach der Umsetzung der Kontrollen und Reaktionen übrig bleiben. Restrisiken werden als Nettorisiken bezeichnet
  • Sekundäres Risiko: Das neue Risiko, das durch die Umsetzung des Risikoreaktionsplans entsteht
  • Wiederkehrende Risiken: Wahrscheinlichkeit, dass die anfänglichen Risiken eintreten.

Die risikobasierte Messung der Testergebnisse hilft dem Unternehmen, das verbleibende Qualitätsrisiko während der Testausführung zu ermitteln und intelligente Release-Entscheidungen zu treffen.

Risikoprofilierung und Kundenfeedback

Bei der Risikoprofilierung handelt es sich um einen Prozess zur Ermittlung des optimalen Anlagerisikoniveaus für den Kunden unter Berücksichtigung des erforderlichen Risikos, der Risikokapazität und der Risikotoleranz.

  1. Das erforderliche Risiko ist das Risikoniveau, das der Kunde eingehen muss, um eine zufriedenstellende Rendite zu erzielen
  2. Unter Risikofähigkeit versteht man die Höhe des finanziellen Risikos, das der Kunde eingehen kann
  3. Unter Risikotoleranz versteht man den Grad des Risikos, den der Kunde eingehen möchte

Kundenfeedback

Sammeln Sie Kundenfeedback und Bewertungen, um das Geschäft, das Produkt, den Service und die Erfahrung zu verbessern.

Vorteile risikobasierter Tests

Die Vorteile des risikobasierten Testens sind unten aufgeführt

  • Verbesserte Produktivität und Kostensenkung
  • Verbesserte Marktchancen (Time-to-Market) und pünktliche Lieferung.
  • Verbesserte Serviceleistung
  • Verbesserte Qualität, da alle kritischen Funktionen der Anwendung getestet werden.
  • Bietet klare Informationen zur Testabdeckung. Mit diesem Ansatz wissen wir, was getestet wurde bzw. was nicht.
  • Die Aufteilung des Testaufwands auf der Grundlage einer Risikobewertung ist der effizienteste und effektivste Weg, das Restrisiko bei der Freigabe zu minimieren.
  • Die Messung der Testergebnisse auf der Grundlage einer Risikoanalyse ermöglicht es der Organisation, das verbleibende Qualitätsrisiko während der Testausführung zu ermitteln und intelligente Release-Entscheidungen zu treffen.
  • Optimierte Tests mit hochdefinierten Risikobewertungsmethoden.
  • Höhere Kundenzufriedenheit – Durch Kundeneinbindung und gute Berichterstattung und Fortschrittsverfolgung.
  • Frühzeitige Erkennung potenzieller Problembereiche. Zur Bewältigung dieser Probleme können wirksame vorbeugende Maßnahmen ergriffen werden
  • Kontinuierliche Risikoüberwachung und -bewertung während des gesamten Projektlebenszyklus hilft bei der Identifizierung und Lösung von Risiken und bei der Lösung von Problemen, die das Erreichen der allgemeinen Projektziele gefährden könnten.

Zusammenfassung:

Im Software Engineering ist risikobasiertes Testen der effizienteste Weg, das Projekt risikobasiert zu steuern.

Die Testbemühungen sind effektiv organisiert und die Priorität jedes einzelnen Risikoelements wird bewertet. Jedes Risiko wird dann den entsprechenden Testaktivitäten zugeordnet. Wenn ein einzelner Test mehr als ein Risikoelement aufweist, wird dem Test das höchste Risiko zugewiesen.

Tests werden entsprechend der Risikoprioritätsreihenfolge ausgeführt. Der Risikoüberwachungsprozess hilft dabei, die identifizierten Risiken im Auge zu behalten und die Auswirkungen von Restrisiken zu reduzieren.