Risikobasiertes Testen: Ansatz, Matrix, Prozess und Beispiele
⚡ Intelligente Zusammenfassung
Beim risikobasierten Testen wird jedes Feature nach der Wahrscheinlichkeit eines Fehlers und dem Schaden, den dieser Fehler verursachen würde, eingestuft. Anschließend wird der verfügbare Testaufwand in der Reihenfolge der Priorität auf die am höchsten bewerteten Elemente konzentriert.
Risikobasiertes Testen
Risikobasiertes Testen (RBT) ist eine Art von Softwaretest, die auf der Wahrscheinlichkeitsberechnung basiert. Dabei wird das Risiko anhand der Softwarekomplexität, der Kritikalität für das Unternehmen, der Nutzungshäufigkeit und der Bereiche, die am ehesten einen Fehler enthalten, bewertet. DefektRisikobasiertes Testen priorisiert das Testen derjenigen Merkmale und Funktionen der Softwareanwendung, die einen größeren Einfluss haben und mit höherer Wahrscheinlichkeit Fehler aufweisen.
Risiko bezeichnet das Eintreten eines ungewissen Ereignisses mit positiven oder negativen Auswirkungen auf die messbaren Erfolgskriterien eines Projekts. Es kann sich um ein vergangenes, ein aktuelles oder ein zukünftiges Ereignis handeln. Diese ungewissen Ereignisse können sich auf die Kosten sowie die geschäftlichen, technischen und qualitativen Ziele eines Projekts auswirken.
Risiken können positiv oder negativ sein.
- Positive Risiken werden als Chancen bezeichnet und tragen zur Nachhaltigkeit von Unternehmen bei. Beispiele hierfür sind Investitionen in neue Projekte, die Veränderung von Geschäftsprozessen und die Entwicklung vonping Neue Produkte.
- Negative Risiken werden als Bedrohungen bezeichnet, und Empfehlungen zu deren Minimierung oder Beseitigung müssen für den Projekterfolg umgesetzt werden.
Da die Technik den Aufwand verteilt, anstatt eine neue Teststufe hinzuzufügen, ergänzt sie die anderen. Arten von Softwaretests anstatt auch nur einen davon zu ersetzen.
Wann sollte risikobasiertes Testen implementiert werden?
Risikobasiertes Testen kann implementiert werden in
- Projekte mit Zeit-, Ressourcen- oder Budgetbeschränkungen.
- 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 etwa mangelnde Erfahrung mit den verwendeten Technologien oder fehlende Branchenkenntnisse.
- Inkrementelle und iterative Liefermodelle.
Risikomanagementprozesses
Lassen Sie uns nun die einzelnen Schritte des Risikomanagementprozesses verstehen.
Risiko-Einschätzung
Die Risikoidentifizierung kann durch Risikoworkshops, Checklisten, Brainstorming, Interviews, die Delphi-Methode, Ursache-Wirkungs-Diagramme, Erkenntnisse aus früheren Projekten, Ursachenanalyse und die Kontaktaufnahme mit Domänenexperten und Fachexperten erfolgen.
Ein Risikoregister ist eine Tabellenkalkulation, die die Liste der identifizierten Risiken, potenziellen Gegenmaßnahmen und deren Ursachen enthält. Es dient der Überwachung und tracDie Risiken (sowohl Bedrohungen als auch Chancen) während der gesamten Projektlaufzeit müssen identifiziert werden. Risikomanagementstrategien können eingesetzt werden, um positive und negative Risiken zu steuern.
Eine Risikostrukturplanung spielt eine wichtige Rolle in der Risikoplanung. Sie hilft, risikobehaftete Bereiche zu identifizieren und unterstützt eine effektive Bewertung und Überwachung der Risiken während des gesamten Projektverlaufs. Sie trägt dazu bei, ausreichend Zeit und Ressourcen für Risikomanagementaktivitäten bereitzustellen und die vielfältigen Quellen potenzieller Projektrisiken zu kategorisieren.
Das folgende Beispiel zeigt, wie eine Risikostrukturanalyse Projektrisiken in Kategorien einteilt, sodass keine Risikoquelle übersehen wird.
Risikoanalyse (einschließlich quantitativer und qualitativer Analyse)
Sobald die Liste potenzieller Risiken erstellt ist, werden diese analysiert und nach ihrer Bedeutung gefiltert. Eine der qualitativen Risikoanalysemethoden ist die Risikomatrix (die in einem späteren Abschnitt behandelt wird). Mit dieser Methode lassen sich die Eintrittswahrscheinlichkeit und die Auswirkungen des Risikos bestimmen.
Risikoreaktionsplanung
Anhand der Analyse können wir entscheiden, ob die Risiken eine Reaktion erfordern. Beispielsweise erfordern manche Risiken eine Reaktion im Projektplan, andere eine Reaktion im Projektmonitoring und wieder andere gar 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 Methode der Risikobewältigung, die darauf abzielt, die negativen Auswirkungen potenzieller Bedrohungen zu verringern. Dies kann durch die Beseitigung der Risiken oder deren Reduzierung auf ein akzeptables Maß erreicht werden. Das folgende Diagramm ordnet die Risikobewältigungsplanung in den umfassenderen Risikomanagementzyklus ein.
Risikokontingenz
Eine Eventualitätsplanung beschreibt die Möglichkeit eines ungewissen Ereignisses, dessen Auswirkungen unbekannt oder unvorhersehbar sind. Ein Notfallplan wird auch als Aktionsplan oder Ausweichplan für Worst-Case-Szenarien bezeichnet. Er legt fest, welche Maßnahmen ergriffen werden können, wenn ein unvorhersehbares Ereignis eintritt.
Risikoüberwachung und -kontrolle
Der Risikokontroll- und Überwachungsprozess dient dazu tracDie identifizierten Risiken werden überwacht, Restrisiken identifiziert, neue Risiken identifiziert, das Risikoregister aktualisiert, die Gründe für jegliche Änderungen analysiert, der Risikobewältigungsplan umgesetzt und Risikoauslöser überwacht. Anschließend wird die Wirksamkeit der Maßnahmen zur Risikominderung bewertet.
Dies kann durch Risikoneubewertungen, Risikoaudits, Abweichungs- und Trendanalysen, technische Leistungsmessung, Statusaktualisierungsbesprechungen und retrospektive Besprechungen erreicht werden.
Die nachstehende Tabelle enthält Informationen über die Inputs, Instrumente und Outputs der Risikoüberwachung und -kontrolle.
| Eingaben zur Risikoüberwachung und -kontrolle | Instrumente 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 Risikomanagementplans und der Checkliste zur Risikoidentifizierung |
| Umfangsänderungen | Zusätzliche Risikoreaktionsplanung | Risikodatenbank |
Wir müssen bedenken, dass das Risiko mit Veränderungen der Technologie, der Größe des Projekts, der Dauer des Projekts (einer längeren Projektlaufzeit), der Anzahl der Förderinstitutionen, den Projektschätzungen, dem Aufwand und einem Mangel an geeigneten Fachkräften zunimmt.
Risikobasierter Testansatz
Der oben beschriebene Managementprozess bildet die Grundlage für den unten beschriebenen Testansatz. Jeder nummerierte Schritt erzeugt eine Eingabe, die vom nächsten Schritt verarbeitet wird.
- Analysieren Sie die Anforderungen.
- Die Dokumente (SRS, FRS, Anwendungsfälle) werden geprüft. Diese Maßnahme dient dazu, Fehler und Unklarheiten zu finden und zu beseitigen.
- Die Freigabe von Anforderungen ist eine Methode zur Risikominderung, um nachträgliche Änderungen im Projekt zu vermeiden. Jede Änderung an einer Anforderung nach Festlegung des Basisdokuments erfordert einen Änderungskontrollprozess und weitere Genehmigungen.
- Bewerten Sie die Risiken durch Berechnung der Wahrscheinlichkeit und der Auswirkungen jeder Anforderung auf das Projekt unter Berücksichtigung der definierten Kriterien wie Kosten, Zeitplan, Ressourcen, Umfang, technische Leistungsfähigkeit, Sicherheit, Zuverlässigkeit und Komplexität.
- Ermitteln Sie die Ausfallwahrscheinlichkeit und die Bereiche mit hohem Risiko. Dies kann mithilfe einer Risikobewertungsmatrix erfolgen.
- Verwenden Sie ein Risikoregister, um die identifizierten Risiken aufzulisten. Aktualisieren, überwachen und track die Risiken periodisch in regelmäßigen Abständen.
- In dieser Phase muss eine Risikoprofilierung durchgeführt werden, um die Risikokapazität und die Risikotoleranzniveaus zu verstehen.
- Priorisieren Sie die Anforderungen anhand der Bewertung.
- Der risikobasierte Testprozess ist definiert.
- Hochkritische und mittlere Risiken können für die Planung, Umsetzung und Überwachung von Risikominderungsmaßnahmen berücksichtigt werden. Niedrige Risiken können auf einer Beobachtungsliste geführt werden.
- Zur Analyse der Datenqualität wird eine Risikodatenqualitätsbewertung durchgeführt.
- Planen und definieren Sie die Tests entsprechend der Bewertung.
- Wählen Sie einen geeigneten Testansatz und geeignete Testdesigntechniken, um die Komponenten mit dem höchsten Risiko zuerst zu testen. Die Tests dieser Komponenten können von einer Fachkraft mit fundierten Kenntnissen und Erfahrung durchgeführt werden.
- Es können verschiedene Testdesigntechniken verwendet werden – zum Beispiel die Entscheidungstabelle Technik bei risikoreichen Testaufgaben, und nur Äquivalenzpartitionierung für Testaufgaben mit niedrigem Risiko.
- Testfälle sind außerdem so konzipiert, dass sie mehrere Funktionalitäten und durchgängige Geschäftsszenarien abdecken.
- Bereiten Sie die Testdaten, Testbedingungen und den Testaufbau vor.
- RevSehen Sie sich die Testdokumentation an — die Testpläne, die Teststrategie, die Testfälle, die Testberichte und alle anderen vom Testteam erstellten Dokumente.
- Peer-Review ist ein wichtiger Schritt bei der Fehlererkennung und Risikominderung.
- Führen Sie Probeläufe und Qualitätskontrollen der Ergebnisse durch.
- Testfälle werden entsprechend der Priorität des Risikoelements ausgeführt.
- Hilft dabei tracDie Übereinstimmung zwischen Risikofaktoren, den zugehörigen Prüfungen, den Prüfergebnissen und den dabei festgestellten Fehlern wird untersucht. Alle korrekt durchgeführten Prüfstrategien reduzieren Qualitätsrisiken.
- Risikobasiertes Testen kann auf jeder Testebene eingesetzt werden. Komponente, Integration, fragst und Abnahmetests.
- Auf Systemebene müssen wir uns auf die wichtigsten Aspekte der Anwendung konzentrieren. Dies lässt sich anhand der Sichtbarkeit der Funktionen, der Nutzungshäufigkeit und der potenziellen Ausfallkosten ermitteln.
- Bewertung der Austrittskriterien: Alle Hochrisikobereiche wurden vollständig geprüft, es bestehen nur noch geringfügige Restrisiken.
- Melden Sie die Ergebnisse des risikobasierten Tests. und die Kennzahlen analysieren.
- Bewerten Sie bestehende Risikoereignisse und neue Risikoereignisse basierend auf wichtigen Risikoindikatoren neu.
- Aktualisieren Sie das Risikoregister.
- Notfallpläne dienen als Ausweich- oder Notfallplan für Fälle mit hohem Expositionsrisiko.
- Zur Beseitigung von Fehlern werden Fehleranalyse und Fehlervermeidung eingesetzt.
- erneutes Testen und Regressionstests Die Mängelbehebungen sollten auf Basis der zuvor berechneten Risikoanalyse validiert werden, wobei Bereiche mit hohem Risiko besonders intensiv abgedeckt werden sollten.
- Risikobasiertes automatisiertes Testen, sofern durchführbar.
- Berechnung des Restrisikos.
- Die Risiken überwachen und kontrollieren.
- Die Ausstiegs- oder Abschlusskriterien können für verschiedene Risikostufen separat definiert werden. Alle wesentlichen Risiken wurden durch geeignete Maßnahmen oder Notfallpläne adressiert, und das Risiko liegt auf oder unter dem für das Projekt vereinbarten akzeptablen Niveau.
- Neubewertung des Risikoprofils und Kundenfeedback.
Risikobasierter Testansatz für den Systemtest
- Technischer Systemtest Dies wird als Umgebungstest und Integrationstest bezeichnet. Der Umgebungstest umfasst Tests in der Entwicklungs-, Test- und Produktionsumgebung.
- Funktioneller Systemtest — Prüfung aller Funktionalitäten, Funktionen, Programme und Module. Ziel dieses Tests ist die Bewertung, ob das System die spezifizierten Anforderungen erfüllt.
- Nicht funktionsfähiger Systemtest — Prüfung der nicht-funktionalen Anforderungen: Leistung, Belastungstests, StresstestsKonfigurationstests, Sicherheitstests, Datensicherung und Erholung Verfahren und Dokumentation (System-, Betriebs- und Installationsdokumentation).
Das folgende Diagramm gibt einen klaren Überblick über den oben genannten Prozess.
Systemtests umfassen sowohl Funktionstests als auch nicht-funktionale Tests.
Funktionsprüfung stellt sicher, dass das Produkt oder die Anwendung die Kunden- und Geschäftsanforderungen erfüllt. Andererseits nicht-funktionale Tests wird durchgeführt, um zu überprüfen, ob das Produkt die Erwartungen des Kunden hinsichtlich Qualität, Zuverlässigkeit, Benutzerfreundlichkeit, Leistung und Kompatibilität erfüllt.
So führen Sie risikobasiertes Testen durch: Vollständiger Prozess
Dieser Abschnitt behandelt den risikobasierten Testprozess, der in fünf Phasen abläuft.
- Risiko-Einschätzung
- Risikoanalyse
- Risiko-Reaktion
- Testbereichping
- Testprozessdefinition
Die fünf Phasen greifen wie unten dargestellt ineinander.
- Dabei werden die Risiken identifiziert und kategorisiert, ein Entwurf des Risikoregisters erstellt und eine Risikosortierung durchgeführt, um die wesentlichen Risiken zu ermitteln.
- Die Risikobewältigung umfasst die Formulierung der Testziele aus den Risiken und die Auswahl geeigneter Techniken, damit die Testaktivität oder Testtechnik diese Testziele erfüllt.
- Bei der Berechnung des Testeffektivitätswerts werden dokumentierte Abhängigkeiten, Anforderungen, Kosten und der Zeitaufwand für Softwaretests berücksichtigt.
- Testergebnisping Diese Überprüfung erfordert die Beteiligung aller Stakeholder und des technischen Personals. Es ist wichtig, den vereinbarten Risikoumfang einzuhalten. Diese Risiken müssen durch Tests untersucht werden, und alle Mitglieder müssen den ihnen zugewiesenen Verantwortlichkeiten und dem für diese Aktivitäten bereitgestellten Budget zustimmen.
- Nachdem der Testumfang endgültig festgelegt wurde, müssen die Testziele, Annahmen und Abhängigkeiten für jede Testphase im Standardformat zusammengestellt werden.
Das untenstehende Beispiel ordnet jede Anforderung dem zugehörigen Risiko und dem Testziel zu, das dieses Risiko adressiert.
Betrachten wir die funktionalen Anforderungen F1, F2 und F3 sowie die nicht-funktionalen Anforderungen N1 und N2.
F1 – Funktionale Anforderung, R1 – Risiko im Zusammenhang mit F1
- Testziel 1 — Mit einem Test nachweisen, dass die erwarteten Merkmale und Funktionen des Systems korrekt funktionieren und dass das Risiko R1 durch Funktionstests behoben werden kann.
- Test — Browserseitentests werden durchgeführt, um wichtige Benutzeraufgaben auszuführen und zu überprüfen, ob R1 (das mit F1 verbundene Risiko) in einer Reihe von Szenarien angegangen werden kann.
F2 – Funktionale Anforderung, R2 – Risiko im Zusammenhang mit F2
- Testziel 2 — Mit einem Test nachweisen, dass die erwarteten Merkmale und Funktionen des Systems korrekt funktionieren und dass das Risiko R2 durch Funktionstests behoben werden kann.
- Test — Browserseitentests werden durchgeführt, um wichtige Benutzeraufgaben auszuführen und zu überprüfen, ob R2 in einer Reihe von Szenarien adressiert werden kann.
F3 – Funktionale Anforderung, R3 – Risiko im Zusammenhang mit F3
- Testziel 3 — Mit einem Test nachweisen, dass die erwarteten Merkmale und Funktionen des Systems korrekt funktionieren und dass das Risiko R3 durch Funktionstests behoben werden kann.
- Test — Browserseitentests werden durchgeführt, um wichtige Benutzeraufgaben auszuführen und zu überprüfen, ob R3 in einer Reihe von Szenarien adressiert werden kann.
N1 – Nichtfunktionale Anforderung, NR1 – Mit N1 verbundenes Risiko
- Testziel N1 — Nachweis mittels eines Tests, dass die Betriebseigenschaften des Systems korrekt funktionieren und dass das Risiko NR1 durch nicht-funktionale Tests behoben werden kann.
- Test – Usability-Tests sind eine Technik, mit der man beurteilen kann, wie einfach Benutzeroberflächen zu bedienen sind und um zu überprüfen, ob NR1 durch Usability-Tests angegangen werden kann.
N2 – Nichtfunktionale Anforderung, NR2 – Mit N2 verbundenes Risiko
- Testziel N2 — Nachweis mittels eines Tests, dass die Betriebseigenschaften des Systems korrekt funktionieren und dass das Risiko NR2 durch nicht-funktionale Tests behoben werden kann.
- Prüfung - Sicherheitstests ist eine Technik, mit der überprüft wird, ob die Anwendung sicher oder anfällig für Angriffe ist, ob es zu Informationslecks kommt und ob NR2 durch Sicherheitstests behoben werden kann.
Spezifische Testziele: Die aufgeführten Risiken und Testziele sind spezifisch für die jeweiligen Testarten, wie nachfolgend zusammengefasst.
Vorgehensweise zur Gestaltung des risikobasierten Testprozesses
- Erstellen Sie ein Risikoregister. Dieses erfasst die Risiken, die aus einer allgemeinen Risikoliste, einer bestehenden Checkliste und Brainstorming-Sitzungen abgeleitet wurden.
- Berücksichtigen Sie die Risiken, die mit den funktionalen und nicht-funktionalen Anforderungen des Systems (Benutzerfreundlichkeit, Sicherheit, Leistung) verbunden sind.
- Jedem Risiko wird eine eindeutige Kennung zugeordnet.
Die Spalten 1 und 2 dieses Registers enthalten die Kennung und die Risikobeschreibung. Die übrigen Spalten werden im Folgenden beschrieben.
| Spalte Nr. | Spaltenüberschrift | Beschreibung |
|---|---|---|
| 3 | Wahrscheinlichkeit | Wahrscheinlichkeit, dass das System für diese Art von Ausfall anfällig ist |
| 4 | Folgen | Auswirkungen dieser Ausfallart |
| 5 | Belichtung | Produkt aus Wahrscheinlichkeit und Konsequenzen (Spalten 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 (Spalten 3, 4 und 6) |
| 8 | Testziel(e) | Welches Testziel wird verwendet, um diesem Risiko zu begegnen? |
| 9 | Testtechniken | Welche Methode oder Technik wird verwendet, um diesem Risiko zu begegnen? |
| 10 | Abhängigkeiten | Was die Tester annehmen und worauf sie sich stützen |
| 11 | Aktion | Wie viel Aufwand ist für diesen Test erforderlich? |
| 12 | Zeitskala | Wie viel Zeit wird für diesen Test benötigt? |
| 13 | Testphase A – Komponententests, Testphase B – Integrationstests, Testphase C – Systemtests | 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 anhand der beiden Register bewertet.tracts unten anzeigen.
- Die Testexposition wird berechnet.
- Der Tester analysiert jedes Risiko und beurteilt, ob das Risiko testbar ist oder nicht.
- Für die testbaren Risiken werden Testziele definiert.
- Der Tester legt die Testaktivitäten fest, die planmäßig durchgeführt werden sollen, um das Testziel zu erreichen (statische Überprüfungen, Inspektionen, Systemtests, Integrationstests, Akzeptanztests, HTML-Validierung, Lokalisierungstests usw.).
- Diese Testaktivitäten lassen sich in Phasen einteilen (Komponententest oder Unit-TestIntegrationstests, Systemtests, Abnahmetests).
- Gelegentlich kann ein Risiko durch mehr als eine Testphase angegangen werden.
- Identifizieren Sie die Abhängigkeiten und Annahmen (Verfügbarkeit von Fähigkeiten, Werkzeugen, Testumgebungen und Ressourcen).
- Die Testeffektivität wird berechnet. Sie gibt an, wie sicher sich der Tester ist, dass das Risiko durch den Test eindeutig beseitigt wird. Der Wert für die Testeffektivität liegt zwischen eins und fünf (5 = hohe Sicherheit, 1 = geringe Sicherheit).
- Schätzen Sie den Aufwand, die benötigte Zeit und die Kosten für die Vorbereitung und Durchführung dieser Tests.
Die nächsten beiden Extracts zeigen die verbleibenden Registerspalten und den Testeffektivitätswert an.
- Die Testprioritätszahl wird berechnet. Sie ist das Produkt aus Wahrscheinlichkeit, Konsequenzen und Testeffektivität.
- 125 (maximal) — ein sehr ernstes Risiko, das durch Tests festgestellt werden könnte.
- 1 (Minimum) — ein sehr geringes Risiko, das durch Tests nicht erkannt werden könnte.
- Anhand der Testprioritätsnummer wird die Wichtigkeit der Tests in hoch (rot), mittel (gelb) und niedrig (grün) eingeteilt. Die Tests mit dem höchsten Risiko werden zuerst durchgeführt.
- Ordnen Sie die Testaktivitäten den Testphasen zu. Bestimmen Sie die Gruppe, die die Tests für jedes Ziel in den verschiedenen Testphasen (Komponententests, Integrationstests, Systemtests, Abnahmetests) durchführt.
Die Aufteilung auf die einzelnen Testphasen ist unten dargestellt.
Der Umfang der Tests wird im Testumfang festgelegt.ping Phase.
- Für jede Phase werden die Testziele, die zu testende Komponente, die Verantwortlichkeiten, die Umgebung, die Eintrittskriterien, die Austrittskriterien, die Werkzeuge, die Techniken und die zu erbringenden Leistungen definiert.
Allgemeine Testziele — Diese allgemeinen Ziele sind auf verschiedene Projekte und Anwendungen anwendbar.
- Die Komponente erfüllt die Anforderungen und ist bereit für den Einsatz in größeren Teilsystemen.
- Die mit den spezifischen Testtypen verbundenen Risiken werden berücksichtigt und die Testziele werden erreicht.
- Die integrierten Komponenten sind korrekt montiert, und die Schnittstellenkompatibilität zwischen den Komponenten ist gewährleistet.
- Das System erfüllt die festgelegten funktionalen und nicht-funktionalen Anforderungen.
- Die Produktkomponenten erfüllen die Bedürfnisse der Endnutzer in ihrer vorgesehenen Betriebsumgebung.
- Eine Risikomanagementstrategie dient dazu, Risiken zu identifizieren, zu analysieren und zu mindern.
- Das System erfüllt die branchenspezifischen Regulierungsanforderungen.
- Das System erfüllt die Anforderungentractual commitments.
- Institutionalisierung und das Erreichen weiterer spezifischer Ziele wie Kosten-, Termin- und Qualitätsziele.
- Systeme, Prozesse und Mitarbeiter erfüllen die Geschäftsanforderungen.
Für die verschiedenen Testphasen können generische Testziele definiert werden.
- Komponententest
- Integrationstests
- Systemtest
- Abnahmetests
Betrachten wir nun die Systemtestphase.
- G4 und G5 zeigen, dass das System die funktionalen Anforderungen (F1, F2, F3) und die nicht-funktionalen Anforderungen (N1, N2) erfüllt.
- Weisen Sie mithilfe von Tests nach, dass die erwarteten Merkmale und Funktionen des Systems korrekt funktionieren und dass die mit F1, F2 und F3 verbundenen Risiken durch Funktionstests behoben werden können.
- Weisen Sie mithilfe von Tests nach, dass die Betriebseigenschaften des Systems korrekt funktionieren und dass die mit N1 und N2 verbundenen Risiken durch nicht-funktionale Tests behoben werden können.
- Anhand der Testprioritätsnummer kann die Wichtigkeit des Tests in Hoch (rot), Mittel (gelb) und Niedrig (grün) eingeteilt werden.
Priorisierungs- und Risikobewertungsmatrix
Die Risikobewertungsmatrix ist die Wahrscheinlichkeits-Auswirkungs-Matrix. Sie 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
Wahrscheinlichkeit ist das Maß für die Chance, dass ein ungewisses Ereignis eintritt, basierend auf Faktoren wie Zeit, räumlicher Nähe und Häufigkeit. Sie wird in Prozent ausgedrückt.
Dies kann wie folgt klassifiziert werden: Häufig (A), Wahrscheinlich (B), Gelegentlich (C), Fern (D), Unwahrscheinlich (E) und Ausgeschlossen (F).
- Häufig — In den meisten Fällen ist mit einem mehrmaligen Auftreten zu rechnen (91 – 100%).
- Wahrscheinlich — Tritt in den meisten Fällen wahrscheinlich mehrmals auf (61 – 90%).
- Gelegentlich — Kann irgendwann auftreten (41 – 60%).
- Remote — Unwahrscheinlich, aber es könnte irgendwann eintreten (11 – 40%).
- Unwahrscheinlich — Kann in seltenen Ausnahmefällen auftreten (0 – 10%).
- Ausgeschieden — Unmöglich (0%).
Der Schweregrad beschreibt das Ausmaß der Auswirkungen des durch das unvorhergesehene Ereignis verursachten Schadens oder Verlusts. Er wird auf einer Skala von 1 bis 4 bewertet und kann wie folgt klassifiziert werden: Katastrophal = 1, Kritisch = 2, Marginal = 3 und Vernachlässigbar = 4.
- Katastrophal — Schwere Konsequenzen, die das Projekt völlig unproduktiv machen und sogar zum Projektstopp führen könnten. Dies muss bei der Risikobewertung höchste Priorität haben.
- Kritische — Dies hätte gravierende Folgen, die zu erheblichen Verlusten führen könnten. Das Projekt ist stark gefährdet.
- Marginal — Kurzfristige Schäden, die durch Wiederherstellungsmaßnahmen noch reversibel sind.
- Unerheblich — Geringer oder minimaler Schaden bzw. Verlust. Dies kann durch routinemäßige Verfahren überwacht und kontrolliert werden.
Die Priorität wird in vier Kategorien eingeteilt, die der Schwere und Wahrscheinlichkeit des Risikos zugeordnet sind, wie in der Abbildung unten dargestellt.
- Echte Beschallungs-
- Hoch
- Medium
- Niedrig
Ernst: Die in diese Kategorie fallenden Risiken sind gelb markiert. Die Tätigkeit muss sofort eingestellt und unverzüglich Maßnahmen zur Risikominimierung ergriffen werden. Wirksame Kontrollmaßnahmen müssen identifiziert und implementiert werden. Die Tätigkeit darf erst fortgesetzt werden, wenn das Risiko auf ein niedriges oder mittleres Niveau reduziert ist.
Hoch: Die in diese Kategorie fallenden Risiken sind rot markiert und erfordern sofortiges Handeln oder eine Risikomanagementstrategie. Es müssen unverzüglich Maßnahmen ergriffen werden, um das Risiko zu isolieren, zu beseitigen oder zu ersetzen und wirksame Risikokontrollen einzuführen. Sollten diese Probleme nicht sofort gelöst werden können, müssen strikte Fristen für deren Behebung festgelegt werden.
Medium: Die in diese Kategorie fallenden Risiken sind gelb markiert. Es müssen angemessene und praktikable Maßnahmen ergriffen werden, um die Risiken zu minimieren.
Niedrig: Die in diese Kategorie fallenden Risiken sind grün markiert und können in der Regel akzeptiert werden, da sie kein signifikantes Problem darstellen. Eine regelmäßige Überprüfung ist dennoch unerlässlich, um die Wirksamkeit der Kontrollmaßnahmen sicherzustellen.
Allgemeine Checkliste für risikobasiertes Testen
Die Matrix dient der Risikobewertung. Die untenstehende Checkliste legt fest, welche Kandidaten überhaupt in die Matrix aufgenommen werden.
- Wichtige Funktionalitäten im Projekt.
- Für den Benutzer sichtbare Funktionalität im Projekt.
- Die Funktionalität mit dem größten Sicherheitseinfluss.
- Funktionen, die die größten finanziellen Auswirkungen auf die Nutzer haben.
- Hochkomplexe Bereiche des Quellcodes und fehleranfälliger Code.
- Features oder Funktionen, die früh im Entwicklungszyklus getestet werden können.
- Merkmale oder Funktionalitäten, die in letzter Minute zum Produktdesign hinzugefügt wurden.
- Kritische Faktoren ähnlicher oder verwandter Vorgängerprojekte, die Probleme verursachten.
- Hauptfaktoren oder Probleme ähnlicher oder verwandter Projekte, die einen großen Einfluss auf die Betriebs- und Instandhaltungskosten hatten.
- Unzureichende Anforderungen führen zu mangelhaften Entwürfen und Tests, was sich negativ auf die Projektziele und -ergebnisse auswirken kann.
- Im schlimmsten Fall kann ein Produkt so fehlerhaft sein, dass es nicht nachbearbeitet werden kann und komplett verschrottet werden muss, was dem Ruf des Unternehmens erheblichen Schaden zufügen würde. Ermitteln Sie, welche Probleme für die Produktziele entscheidend sind.
- Situationen oder Probleme, die zu anhaltenden Kundendienstbeschwerden führen würden.
- End-to-End-Tests, die sich problemlos auf mehrere Funktionalitäten des Systems konzentrieren können.
- Die optimale Testauswahl, die die Risikoabdeckung maximiert.
- Welche Tests bieten das beste Verhältnis von Hochrisikoabdeckung zu Zeitaufwand?
Risikobasierte Testergebnisse, Berichte und Metriken
- Erstellung des Testberichts. Bei der Berichterstattung über den Teststatus geht es darum, die Testergebnisse den Projektbeteiligten effektiv zu vermitteln, ein klares Verständnis zu schaffen und den Vergleich der Testergebnisse mit den Testzielen aufzuzeigen.
- Anzahl der geplanten versus der durchgeführten Testfälle.
- Anzahl der bestandenen bzw. nicht bestandenen Testfälle.
- Anzahl der festgestellten Mängel sowie deren Status und Schweregrad.
- Anzahl der noch offenen kritischen Mängel.
- Eventuelle Systemausfallzeiten.
- Eventuelle Showstopper.
- Testzusammenfassungsbericht und Testabdeckung berichten.
- Metrikvorbereitung. Eine Metrik ist eine Kombination aus zwei oder mehr Messgrößen, die zum Vergleich von Softwareprozessen, Projekten und Produkten verwendet werden.
- Abweichungen beim Aufwand und Zeitplan.
- Produktivität bei der Testfallvorbereitung.
- Testdesignabdeckung.
- Produktivität bei der Testfallausführung.
- Risikoidentifizierungseffizienz in %.
- Risikominderungseffizienz in %.
- Testeffektivität in %.
- Testausführungsabdeckung.
- Produktivität bei der Testausführung.
- Defektleckage in %.
- Fehlererkennungseffizienz und Defektdichte.
- Anforderungsstabilitätsindex.
- Qualität hat ihren Preis.
Diese Maßnahmen werden dann gegen die Risiken abgewogen:
- Analysieren Sie die Risiken in nicht-funktionalen Kategorien (Leistung, Zuverlässigkeit und Benutzerfreundlichkeit) auf der Grundlage des Fehlerstatus und der Anzahl der bestandenen oder nicht bestandenen Testergebnisse im Verhältnis zu den Risiken.
- Analysieren Sie die Risiken in funktionalen Kategorien anhand von Testmetriken, Fehlerstatus und Testergebnis (bestanden/nicht bestanden) im Verhältnis zu den Risiken.
- Identifizieren Sie wichtige Früh- und Spätindikatoren und erstellen Sie Frühwarnindikatoren.
- Überwachung und Berichterstattung über Früh- und Spätrisikoindikatoren (Schlüsselrisikoindikatoren) durch Analyse der Datenmuster, Trends und Wechselwirkungen.
Bewertung des inhärenten Risikos im Vergleich zum Restrisiko
Die Identifizierung und Analyse von Risiken sollte auch inhärente Risiken, Restrisiken, Sekundärrisiken und wiederkehrende Risiken umfassen.
- Inhärentes Risiko: Die Risiken, die vor der Implementierung der Kontroll- und Gegenmaßnahmen identifiziert wurden oder bereits im System vorhanden waren. Inhärente Risiken werden auch als Gesamtrisiken bezeichnet.
- Restrisiko: Die Risiken, die nach der Umsetzung der Kontroll- und Reaktionsmaßnahmen verbleiben. Restrisiken werden als Nettorisiken bezeichnet.
- Sekundäres Risiko: Das neue Risiko, das durch die Umsetzung des Risikomanagementplans entsteht.
- Wiederkehrendes Risiko: Die Wahrscheinlichkeit, dass die ursprünglichen Risiken erneut auftreten.
Die auf Risiko basierende Messung der Testergebnisse hilft der Organisation, das verbleibende Qualitätsrisiko während der Testdurchführung zu ermitteln und fundierte Freigabeentscheidungen zu treffen.
Risikoprofilierung und Kundenfeedback
Die Risikoprofilierung ist ein Prozess zur Ermittlung des optimalen Anlagerisikos für den Kunden unter Berücksichtigung des erforderlichen Risikos, der Risikotragfähigkeit und der Risikotoleranz.
- Risiko erforderlich ist das Risikoniveau, das der Kunde eingehen muss, um eine zufriedenstellende Rendite zu erzielen.
- Risikotragfähigkeit ist das Maß an finanziellem Risiko, das der Kunde sich leisten kann einzugehen.
- Risikotoleranz ist das Risikoniveau, das der Kunde bereit ist einzugehen.
Kundenbewertung: Wir sammeln Kundenfeedback und Bewertungen, um unser Geschäft, unser Produkt, unseren Service und das Kundenerlebnis zu verbessern.
Vorteile risikobasierter Tests
Die Vorteile des risikobasierten Testens werden im Folgenden erläutert.
- Verbesserte Produktivität und Kostenreduzierung.
- Verbesserte Marktchancen (schnellere Markteinführung) und pünktliche Lieferung.
- Verbesserte Serviceleistung.
- Verbesserte Qualität, da alle kritischen Funktionen der Anwendung getestet werden.
- Klare Informationen zur Testabdeckung. Mit diesem Ansatz weiß das Team, was getestet wurde und 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 Basis einer Risikoanalyse ermöglicht es der Organisation, das verbleibende Qualitätsrisiko während der Testdurchführung zu ermitteln und fundierte Freigabeentscheidungen zu treffen.
- Optimierte Testverfahren mit klar definierten Risikobewertungsmethoden.
- Verbesserte Kundenzufriedenheit dank Kundeneinbindung, guter Berichterstattung und Fortschrittskontrolle tracKönig.
- Früherkennung potenzieller Problembereiche, damit wirksame Präventivmaßnahmen ergriffen werden können.
- Die kontinuierliche Risikoüberwachung und -bewertung während des gesamten Projektlebenszyklus hilft dabei, Risiken zu identifizieren und zu beheben sowie Probleme anzugehen, die die Erreichung der Gesamtprojektziele gefährden könnten.













