Risicogebaseerd testen: aanpak, matrix, proces en voorbeelden
Risicogebaseerd testen
Risicogebaseerd testen (RBT) is een softwaretesttype dat is gebaseerd op de waarschijnlijkheid van risico. Het omvat het beoordelen van het risico op basis van softwarecomplexiteit, criticaliteit van het bedrijf, frequentie van gebruik, mogelijke gebieden met Defect etc. Op risico gebaseerd testen geeft prioriteit aan het testen van kenmerken en functies van de softwareapplicatie die een grotere impact hebben en waarschijnlijk gebreken vertonen.
Risico is het optreden van een onzekere gebeurtenis met een positief of negatief effect op de meetbare succescriteria van een project. Het kunnen gebeurtenissen zijn die in het verleden hebben plaatsgevonden, maar ook actuele gebeurtenissen of iets dat in de toekomst zou kunnen gebeuren. Deze onzekere gebeurtenissen kunnen een impact hebben op de kosten, zakelijke, technische en kwaliteitsdoelstellingen van een project.
Risico's kunnen positief of negatief zijn.
- Positieve risico's worden kansen genoemd en helpen bij de duurzaamheid van bedrijven. Bijvoorbeeld investeren in een nieuw project, bedrijfsprocessen veranderen, nieuwe producten ontwikkelen.
- Negatieve risico's worden bedreigingen genoemd en aanbevelingen om deze te minimaliseren of te elimineren moeten worden geïmplementeerd voor projectsucces.
Wanneer moet u risicogebaseerd testen implementeren?
Risicogebaseerd testen kan worden geïmplementeerd
- Projecten met beperkingen in tijd, middelen, budget, enz.
- Projecten waarbij op risico gebaseerde analyses kwetsbaarheden kunnen detecteren SQL injectie aanvallen.
- Beveiligingstests in cloud computing-omgevingen.
- Nieuwe projecten met hoge risicofactoren zoals gebrek aan ervaring met de gebruikte technologieën, gebrek aan kennis van het bedrijfsdomein.
- Incrementele en iteratieve modellen, enz.
Risicobeheerproces
Laten we nu de stappen begrijpen die betrokken zijn bij het risicobeheerproces
Risico-identificatie
Risico-identificatie kan worden uitgevoerd door middel van risicoworkshops, checklists, brainstormsessies, interviews, de Delphi-techniek, oorzaak-gevolgdiagrammen, lessen die zijn geleerd uit eerdere projecten, analyse van de grondoorzaak en het contacteren van domeinexperts en vakinhoudelijke experts.
Risicoregister is een spreadsheet met een lijst met geïdentificeerde risico's, mogelijke reacties en hoofdoorzaken. Het wordt gebruikt om de risico's (zowel bedreigingen als kansen) gedurende de hele levensduur van het project te monitoren en te volgen. Risicoresponsstrategieën kunnen worden gebruikt om positieve en negatieve risico's te beheersen.
De risicoanalysestructuur speelt een belangrijke rol bij de risicoplanning. De Risk Breakdown-structuur zou helpen bij het identificeren van de risicogevoelige gebieden en helpt bij effectieve evaluatie en risicomonitoring in de loop van het project. Het helpt bij het verschaffen van voldoende tijd en middelen voor risicobeheeractiviteiten. Het helpt ook bij het categoriseren van veel bronnen waaruit de projectrisico's kunnen voortkomen.
Voorbeeld van een risicoanalysestructuur
Risicoanalyse (inclusief kwantitatieve en kwalitatieve analyse)
Zodra de lijst met potentiële risico's is geïdentificeerd, is de volgende stap het analyseren ervan en het filteren van het risico op basis van de significantie. Een van de technieken voor kwalitatieve risicoanalyse is het gebruik van de risicomatrix (besproken in de volgende sectie). Deze techniek wordt gebruikt om de waarschijnlijkheid en impact van het risico te bepalen.
Risicoresponsplanning
Op basis van de analyse kunnen we beslissen of de risico’s een reactie vereisen. Sommige risico's vereisen bijvoorbeeld een reactie in het projectplan, andere vereisen een reactie in de projectmonitoring, en sommige vereisen helemaal geen reactie.
De risico-eigenaar is verantwoordelijk voor het identificeren van opties om de waarschijnlijkheid en impact van de toegewezen risico’s te verkleinen.
Risicobeperking is een risicoresponsmethode die wordt gebruikt om de negatieve gevolgen van mogelijke bedreigingen te verminderen. Dit kan door de risico's te elimineren of terug te brengen tot een aanvaardbaar niveau.
Risico onvoorziene omstandigheden
Contingentie kan worden omschreven als een mogelijkheid van een onzekere gebeurtenis, waarvan de impact onbekend of onvoorspelbaar is. Een rampenplan wordt ook wel het actieplan/back-upplannen voor de worst case scenario’s genoemd. Met andere woorden, het bepaalt welke stappen kunnen worden ondernomen wanneer zich een onvoorspelbare gebeurtenis voordoet.
Risicobewaking en -controle
Risicobeheersings- en monitoringprocessen worden gebruikt om de geïdentificeerde risico's te volgen, restrisico's te monitoren, nieuwe risico's te identificeren, het risicoregister bij te werken, de redenen voor de verandering te analyseren, het risicoresponsplan uit te voeren en risicotriggers te monitoren, enz. Evalueer hun effectiviteit bij het verminderen van risico's .
Dit kan worden bereikt door risicoherbeoordelingen, risico-audits, variantie- en trendanalyse, technische prestatiemeting, statusupdatevergaderingen en retrospectieve vergaderingen.
Onderstaande tabel geeft informatie over de
Input voor risicomonitoring en -controle | Hulpmiddelen en technieken voor risicomonitoring en -controle | Outputs van risicomonitoring en -controle |
---|---|---|
Risicobeheersplan | Audits voor projectrisicorespons | Oplossingsplannen |
Risicoresponsplan | Periodieke projectrisicobeoordelingen | Corrigerende maatregelen |
Projectcommunicatieplan | Analyse van verdiende waarde | Aanvragen voor projectwijzigingen |
Aanvullende risico-identificatie en -analyse | Technische prestatiemeting | Updates van het risicoreactieplan en de risico-identificatiechecklist |
Wijzigingen bereik | Plannen van aanvullende risico's | Risicodatabase |
We moeten niet vergeten dat het risico toeneemt met veranderingen in de technologie, de omvang van het project, de duur van het project (langere projectduur), het aantal sponsorende instanties, projectschattingen, inspanningen en een tekort aan geschikte vaardigheden.
Risicogebaseerde testbenadering
- Analyseer de eisen.
- Documenten (SRS, FRS, Usecases) worden beoordeeld. Deze activiteit wordt uitgevoerd om fouten en onduidelijkheden te vinden en te elimineren.
- Het aftekenen van vereisten is een van de risicoreductietechnieken om de introductie van late wijzigingen in de projecten te vermijden. Eventuele wijzigingen in de vereisten nadat het document als basislijn is opgesteld, zouden een wijzigingscontroleproces en daaropvolgende goedkeuringen met zich meebrengen.
- Beoordeel de risico's door de waarschijnlijkheid en impact van elke vereiste op het project te berekenen, rekening houdend met de vastgestelde criteria zoals kosten, planning, middelen, omvang, technische prestaties, veiligheid, betrouwbaarheid, complexiteit, enz.
- Identificeer de faalkans en gebieden met een hoog risico. Dit kan gedaan worden met behulp van de risicobeoordelingsmatrix.
- Gebruik een risicoregister om de reeks geïdentificeerde risico's op te sommen. Update, monitor en volg de risico’s periodiek en met regelmatige tussenpozen.
- In deze fase moet risicoprofilering worden uitgevoerd om inzicht te krijgen in de risicocapaciteit en de risicotolerantieniveaus.
- Prioriteer de vereisten op basis van de beoordeling.
- Er is een risicogebaseerd testproces gedefinieerd
- Er kan rekening worden gehouden met zeer kritische en middelmatige risico's bij de planning, implementatie en voortgangsmonitoring van de risico's. Lage risico's kunnen op een watchlist worden overwogen.
- Risicogegevenskwaliteitsbeoordeling wordt uitgevoerd om de kwaliteit van de gegevens te analyseren.
- Plan en definieer de test op basis van de beoordeling
- Pas de juiste testaanpak en testontwerptechnieken toe om de testgevallen zo te ontwerpen dat de items met het hoogste risico eerst worden getest. Items met een hoog risico kunnen worden getest door de hulpbron met goede domeinkenniservaring.
- Er kunnen verschillende testontwerptechnieken worden gebruikt, bijvoorbeeld door gebruik te maken van de beslissingstabeltechniek op testitems met een hoog risico en door 'slechts' equivalentiepartitionering te gebruiken voor testitems met een laag risico.
- Testcases zijn ook ontworpen om meerdere functionaliteiten en end-to-end bedrijfsscenario's te dekken.
- Bereid testgegevens en testomstandigheden en testbed voor.
- Revbekijk de testplannen, teststrategie, testgevallen, testrapporten of enig ander document dat door het testteam is gemaakt.
- Peer review is een belangrijke stap bij het identificeren van defecten en het verminderen van risico's.
- Voer dry runs en kwaliteitscontroles uit op de resultaten
- Testgevallen worden uitgevoerd volgens de prioriteit van het risico-item.
- Zorg voor traceerbaarheid tussen risico-items, tests die deze dekken, resultaten van die tests en defecten die tijdens het testen zijn gevonden. Alle teststrategieën die op de juiste manier worden uitgevoerd, zullen de kwaliteitsrisico's verminderen.
- Risicogebaseerd testen kan op elk testniveau worden gebruikt, bijvoorbeeld component-, integratie-, systeem- en acceptatietesten
- Op systeemniveau moeten we ons concentreren op wat het belangrijkste is in de applicatie. Dit kan worden bepaald door te kijken naar de zichtbaarheid van functies, naar gebruiksfrequentie en naar de mogelijke uitvalkosten.
- Evaluatie van exitcriteria. Alle risicogebieden volledig getest, waarbij slechts kleine restrisico's openstaan.
- Op risico gebaseerde testresultatenrapportage en metrische analyse.
- Beoordeel bestaande risicogebeurtenissen en nieuwe risicogebeurtenissen opnieuw op basis van de belangrijkste risico-indicatoren.
- Update van het risicoregister.
- Noodplannen - Dit werkt als een noodplan/noodplannen voor de hoge blootstellingsrisico's.
- Defectanalyse en defectpreventie om de defecten te elimineren.
- Hertesten en regressietesten om de defectoplossingen te valideren op basis van vooraf berekende risicoanalyses en gebieden met een hoog risico moeten het meest intensief worden behandeld.
- Op risico gebaseerde automatiseringstesten (indien haalbaar)
- Berekening van het restrisico
- Risicobewaking en -controle
- Exitcriteria of voltooiingscriteria kunnen voor verschillende risiconiveaus worden gebruikt. Alle belangrijke risico's zijn aangepakt met passende maatregelen of noodplannen. De risicoblootstelling ligt op of onder het niveau dat voor het project aanvaardbaar is geacht.
- Herbeoordeling van risicoprofilering en feedback van klanten.
Risicogebaseerde testbenadering van de systeemtest
- Technische systeemtest –Dit wordt omgevingstest en integratietest genoemd. Omgevingstest omvat testen in de ontwikkelings-, test- en productieomgeving.
- Functionele systeemtest– Testen van alle functionaliteiten, features, programma’s, modules. Het doel van deze test is om te beoordelen of het systeem aan de gespecificeerde eisen voldoet.
- Niet-functionele systeemtest- Het testen van de prestaties van niet-functionele vereisten, belastingtests, stresstests, configuratietests, beveiligingstests, back-up- en herstelprocedures en documentatie (systeem-, bedienings- en installatiedocumentatie).
Onderstaand diagram geeft een duidelijk overzicht van het bovengenoemde proces
Systeemtesten omvatten zowel functionele tests als niet-functionele tests.
Functioneel testen zorgt ervoor dat het product/de applicatie voldoet aan de eisen van de klant en het bedrijf. Aan de andere kant worden niet-functionele tests uitgevoerd om te verifiëren of het product voldoet aan de verwachtingen van de klant op het gebied van kwaliteit, betrouwbaarheid, bruikbaarheid, prestaties, compatibiliteit, enz.
Hoe risicogebaseerd testen uit te voeren: compleet proces
In dit gedeelte wordt het op risico gebaseerde testproces behandeld
- Risico-identificatie
- Risico analyse
- Risico reactie
- Testscoping
- Testprocesdefinitie
- In dit proces worden de risico's geïdentificeerd en gecategoriseerd, wordt een conceptregister van risico's opgesteld en wordt risicosortering uitgevoerd om de significante risico's te identificeren.
- Risicorespons omvat het formuleren van de testdoelstellingen op basis van de risico's en het selecteren van geschikte technieken om de testactiviteit/testtechniek aan te tonen om aan de testdoelstellingen te voldoen.
- Bij het berekenen van de testeffectiviteitsscore wordt rekening gehouden met documentafhankelijkheden, vereisten, kosten, tijd die nodig is voor het testen van software, enz.
- Testscoping is een beoordelingsactiviteit waarvoor de deelname van alle belanghebbenden en technisch personeel vereist is. Het is belangrijk om de afgesproken risicoomvang te respecteren. Deze risico's moeten worden aangepakt door middel van testen, en alle leden zijn het eens met de verantwoordelijkheden die aan hen zijn toegewezen en het budget dat voor deze activiteiten is toegewezen.
- Nadat de reikwijdte van het testen definitief is vastgesteld, moeten de testdoelstellingen, aannames en afhankelijkheden voor elke testfase in het standaardformaat worden samengesteld.
Laten we eens kijken naar de functionele vereisten F1, F2, F3 en niet-functionele vereisten N1 & N2
F1-Functionele vereiste, R1-risico geassocieerd met F1
- Testdoelstelling 1: Demonstreer met behulp van een test dat de verwachte kenmerken en functionaliteiten van het systeem goed werken, en dat het risico R1 kan worden aangepakt door functioneel testen
- Test-Browserpaginatests worden uitgevoerd om belangrijke gebruikerstaken uit te voeren en te verifiëren dat het R1 (risico geassocieerd met F1) in een reeks scenario's kan worden aangepakt.
F2-Functionele vereiste, R2-risico geassocieerd met F2
- Testdoelstelling 2- Demonstreren met behulp van een Test dat de verwachte kenmerken en functionaliteiten van het systeem prima werken, en dat het risico R2 kan worden aangepakt door functioneel testen
- Test-Browserpaginatests worden uitgevoerd om belangrijke gebruikerstaken uit te voeren en te verifiëren dat de R2 in een reeks scenario's kan worden aangepakt
F3-Functionele vereiste, R3-risico geassocieerd met F3
- Testdoelstelling 3- Demonstreren met behulp van een Test dat de verwachte kenmerken en functionaliteiten van het systeem prima werken, en dat het risico R3 kan worden aangepakt door functioneel testen
- Test-Browserpaginatests worden uitgevoerd om belangrijke gebruikerstaken uit te voeren en te verifiëren dat R3 in een reeks scenario's kan worden aangepakt
N1- Niet-functionele vereiste, NR1-risico geassocieerd met N1
- Testdoel N1-Demonstreren met behulp van een Test dat de operationele kenmerken van het systeem goed werken en dat risico NR1 kan worden aangepakt door niet-functionele testen
- Test-Usability-testen is een techniek die wordt gebruikt om te beoordelen hoe gemakkelijk gebruikersinterfaces te gebruiken zijn en om te verifiëren dat de NR1 kan worden aangepakt door usability-testen
N2- Niet-functionele vereiste, NR2-risico geassocieerd met N2
- Testdoelstelling nr. 2: Aantonen met behulp van een test dat de operationele kenmerken van het systeem goed werken en dat risico NR2 kan worden aangepakt door niet-functionele tests.
- Test-Security-testen is een techniek die wordt gebruikt om te controleren of de applicatie beveiligd is of kwetsbaar is voor aanvallen, of er sprake is van informatielekken en om te verifiëren dat NR2 kan worden aangepakt door beveiligingstests.
Specifieke testdoelstellingen: De genoemde risico's en testdoelstellingen zijn specifiek voor de testtypen.
Procedure voor het ontwerpen van het risicogebaseerde testproces
- Bereid een risicoregister voor. Hierin worden de risico's vastgelegd die zijn afgeleid van de generieke risicolijst, bestaande checklist en brainstormsessie.
- Omvat de risico's die verband houden met de functionele en niet-functionele systeemvereisten (bruikbaarheid, beveiliging, prestaties)
- Elk risico krijgt een unieke identificatiecode toegewezen
Kol nr. | Kolomkop | Beschrijving |
---|---|---|
3 | Waarschijnlijkheid | Waarschijnlijkheid van het systeem dat vatbaar is voor deze faalwijze |
4 | Gevolgen | impact van deze manier van falen |
5 | Media | Product van waarschijnlijkheid en gevolgen (kolom 3 en 4) |
6 | Test de effectiviteit | Hoe zeker zijn de testers ervan dat ze dit risico kunnen aanpakken? |
7 | Prioriteitsnummer testen | Product van waarschijnlijkheid, gevolgen en testeffectiviteit (kolom 3,4 6) |
8 | Testdoel(en) | welk testdoel zal worden gebruikt om dit risico aan te pakken |
9 | Test technieken | welke methode of techniek wordt gebruikt |
10 | afhankelijkheden | Waar gaan de testers van uit en waar zijn ze van afhankelijk |
11 | Inspanning | Hoeveel inspanning is vereist voor dit testen |
12 | Tijdschema | Hoeveel tijd is er nodig om deze test uit te voeren |
13 | Testfase A-unittestsTestfase B-integratietestTestfase C-systeemtest | Naam van de persoon of groep die deze activiteit uitvoert |
De waarschijnlijkheid (1 Laag -5 Hoog ) en de gevolgen (1 Laag -5 Hoog ) van elk risico worden beoordeeld
- De testblootstelling wordt berekend
- De tester analyseert elk risico en evalueert of het risico toetsbaar is of niet
- Voor de toetsbare risico's zijn testdoelstellingen gedefinieerd
- Tester specificeert de testactiviteit die op een geplande manier moet worden uitgevoerd om aan het testdoel te voldoen (statische beoordelingen, inspecties, systeemtests, integratietests, acceptatietests, html-validatie, lokalisatietests, enz.)
- Deze testactiviteiten kunnen worden ingedeeld in fasen (Componenttesten/Testen van een eenheid, Integratietesten, Systeemtesten, Acceptatietesten)
- Soms kan een risico worden aangepakt door een of meer dan één testfase
- Identificeer de afhankelijkheden en aannames (beschikbaarheid van vaardigheden, tools, testomgevingen, bronnen)
- De effectiviteit van de test wordt berekend. Testeffectiviteit heeft betrekking op het vertrouwensniveau van de tester dat het risico definitief zal worden aangepakt door middel van testen. De score voor de effectiviteit van de test is een getal tussen één en vijf. (5-Hoog vertrouwen, 1-Laag vertrouwen)
- Schatting van de inspanning, de benodigde tijd en de kosten voor het voorbereiden en uitvoeren van deze tests.
- Het testprioriteitnummer wordt berekend. Het is het product van waarschijnlijkheid, gevolgen en scores voor testeffectiviteit.
- 125-MaximumàEen zeer ernstig risico dat met testen kan worden opgespoord
- 1-Minimaal – Een zeer laag risico dat bij testen niet zou worden ontdekt
- Op basis van het testprioriteitnummer kan het testbelang worden geclassificeerd als Hoog (Rood), Medium (Geel) en Laag (Groen). Items met het hoogste risico worden eerst getest.
- Verdeel de testactiviteiten over de testfasen. Wijs de groep aan die voor elke doelstelling in de verschillende testfasen (Unittesten, Integratietesten, Systeemtesten, Acceptatietesten) gaat testen.
- Wat wel en niet binnen de reikwijdte van het testen valt, wordt bepaald in de testscopingfase
- Voor elke fase worden de testdoelstellingen, het te testen onderdeel, de verantwoordelijkheid, de omgeving, de toegangscriteria, de uitgangscriteria, de hulpmiddelen, de technieken en de resultaten gedefinieerd.
Generieke testdoelstellingen - Deze generieke doelstellingen zijn van toepassing op meerdere projecten en toepassingen
- Component voldoet aan de eis en is klaar voor gebruik in grotere subsystemen
- De risico's verbonden aan de specifieke testtypen worden aangepakt en de testdoelstellingen worden bereikt.
- Geïntegreerde componenten zijn correct gemonteerd. Zorg voor interfacecompatibiliteit tussen de componenten.
- Het systeem voldoet aan de gestelde functionele en niet-functionele eisen.
- Productcomponenten voldoen aan de behoeften van de eindgebruiker in de beoogde werkomgeving
- Risicobeheerstrategie wordt gebruikt voor het identificeren, analyseren en beperken van risico's.
- Het systeem voldoet aan de eisen van de industriële regelgeving
- Het Systeem voldoet aan contractuele verplichtingen
- Institutionalisering en het bereiken van andere specifieke doelstellingen, zoals kosten, planning en kwaliteitsdoelstellingen.
- Systeem, processen en mensen voldoen aan de bedrijfsvereisten
Voor de verschillende testfasen kunnen generieke testdoelstellingen worden gedefinieerd
- Component testen
- Integratietesten
- Systeem testen
- Acceptatietesten
Laten we eens kijken naar de systeemtestfase
- G4 & G5 demonstreert dat het systeem voldoet aan de functionele (F1,F2,F3) en niet-functionele eisen (N1,N2).
- Demonstreer met behulp van tests dat de verwachte kenmerken en functionaliteiten van het systeem goed werken en dat de risico's die gepaard gaan met F1, F2, F3 kunnen worden aangepakt door functioneel testen
- Toon aan de hand van testen aan dat de operationele kenmerken van het systeem goed werken en dat het risico dat samenhangt met N1, N2 kan worden aangepakt door niet-functionele testen.
- Op basis van het testprioriteitnummer kan het testbelang worden geclassificeerd als Hoog (Rood), Medium (Geel) en Laag (Groen).
Prioritering en risicobeoordelingsmatrix
De risicobeoordelingsmatrix is de waarschijnlijkheidsimpactmatrix. Het geeft het projectteam snel inzicht in de risico's en de prioriteit waarmee elk van deze risico's moet worden aangepakt.
Risk rating = Probability x Severity
Waarschijnlijkheid is de maatstaf voor de kans dat een onzekere gebeurtenis zal plaatsvinden. Blootstelling in termen van tijd, nabijheid en herhaling. Het wordt uitgedrukt in procenten.
Dit kan worden geclassificeerd als Frequent(A), Waarschijnlijk(B), Incidenteel(C), Op afstand(D), Onwaarschijnlijk(E), Geëlimineerd(F)
- Frequent- Het zal naar verwachting in de meeste omstandigheden meerdere keren voorkomen (91 – 100%)
- Waarschijnlijk: Komt in de meeste omstandigheden waarschijnlijk meerdere keren voor (61 – 90%)
- Incidenteel: kan ooit voorkomen (41 – 60%)
- Op afstand – Het is onwaarschijnlijk dat dit voorkomt/kan ooit voorkomen (11 – 40%)
- Onwaarschijnlijk - Kan voorkomen in zeldzame en uitzonderlijke omstandigheden (0 -10%)
- Eliminatie: onmogelijk om te voorkomen (0%)
Ernst is de mate van impact van schade of verlies veroorzaakt door de onzekere gebeurtenis. Scoorde 1 tot 4 en kan worden geclassificeerd als Catastrofaal=1, Kritiek=2, Marginaal=3, Verwaarloosbaar=4
- katastrofisch – Ernstige gevolgen die het project volledig onproductief maken en zelfs tot stopzetting van het project kunnen leiden. Dit moet een topprioriteit zijn tijdens risicobeheer.
- kritisch– Grote gevolgen die tot veel verlies kunnen leiden. Het project wordt ernstig bedreigd.
- marginaal – Schade op korte termijn is nog steeds omkeerbaar door herstelactiviteiten.
- te verwaarlozen– Weinig of minimale schade of verlies. Dit kan worden gecontroleerd en beheerd via routinematige procedures.
De prioriteit is ingedeeld in vier categorieën, die zijn afgezet tegen de ernst en waarschijnlijkheid van het risico, zoals weergegeven in onderstaande afbeelding.
Echt: De risico's die in deze categorie vallen, zijn gemarkeerd in de kleur Amber. De activiteit moet worden stopgezet en er moet onmiddellijk actie worden ondernomen om het risico te isoleren. Effectieve controles moeten worden geïdentificeerd en geïmplementeerd. Verder mag de activiteit niet doorgaan tenzij het risico wordt teruggebracht tot een laag of gemiddeld niveau.
Hoog: De risico's die in deze categorie vallen, zijn gemarkeerd in roodgekleurde actie- of risicobeheerstrategieën. Er moet onmiddellijk actie worden ondernomen om het risico te isoleren, te elimineren, te vervangen en effectieve risicocontroles te implementeren. Als deze problemen niet onmiddellijk kunnen worden opgelost, moeten strikte tijdlijnen worden gedefinieerd om deze problemen op te lossen.
Medium: De risico's die in deze categorie vallen, zijn gemarkeerd in de kleur geel. Er moeten redelijke en praktische maatregelen worden genomen om de risico's tot een minimum te beperken.
Laag: De risico's die in deze categorie vallen, zijn groen gemarkeerd en kunnen worden genegeerd, aangezien ze doorgaans geen noemenswaardig probleem opleveren. Periodieke evaluatie is een must om ervoor te zorgen dat de controles effectief blijven
Generieke checklist voor risicogebaseerd testen
Uitgebreide lijst met belangrijke punten waarmee rekening moet worden gehouden bij risicogebaseerd testen
- Belangrijke functionaliteiten in het project.
- Voor de gebruiker zichtbare functionaliteit in het project
- De functionaliteit met de grootste veiligheidsimpact
- Functionaliteiten die de grootste financiële impact hebben op gebruikers
- Zeer complexe gebieden van broncode en foutgevoelige codes
- Kenmerken of functies die vroeg in de ontwikkelingscyclus kunnen worden getest.
- Er zijn in de laatste minuut features of functionaliteiten aan het productontwerp toegevoegd.
- Kritieke factoren van vergelijkbare/gerelateerde eerdere projecten die problemen/problemen veroorzaakten.
- Primaire factoren of kwesties van soortgelijke/gerelateerde projecten die een grote impact hadden op de operationele en onderhoudskosten.
- Slechte eisen die leiden tot slechte ontwerpen en tests die een impact kunnen hebben op de projectdoelstellingen en deliverables.
- In het ergste geval kan een product zo defect zijn dat het niet meer kan worden bewerkt en volledig moet worden gesloopt. Dit zou ernstige schade toebrengen aan de reputatie van het bedrijf. Identificeer welke soort problemen cruciaal zijn voor de productdoelstellingen.
- Situaties of problemen die aanhoudende klachten van de klantenservice kunnen veroorzaken.
- End-to-end-tests kunnen zich gemakkelijk concentreren op de meerdere functionaliteiten van het systeem.
- Optimale set tests die de risicodekking kan maximaliseren
- Welke tests hebben de beste verhouding tussen dekking van hoog risico en benodigde tijd?
Rapportage en statistieken van risicogebaseerde testresultaten
- Voorbereiding van testrapportenHet rapporteren van de teststatus gaat over het effectief communiceren van de testresultaten naar de belanghebbenden van het project. En om een duidelijk inzicht te geven en de vergelijking van testresultaten met testdoelstellingen te laten zien.
- Aantal geplande versus uitgevoerde testgevallen
- Aantal geslaagde/mislukte testgevallen
- Aantal geïdentificeerde defecten en hun status en ernst
- Aantal defecten en hun status
- Aantal kritieke defecten - nog open
- Eventuele uitvaltijden in de omgeving
- Showstoppers – indien aanwezigTestsamenvattingsrapport, testdekkingsrapport
- Voorbereiding van statistiekenMetrieken zijn een combinatie van twee of meer metingen die worden gebruikt om softwareprocessen, projecten en producten te vergelijken.
- Variatie in inspanning en planning
- Productiviteit voor het voorbereiden van testgevallen
- Dekking van testontwerp
- Productiviteit bij het uitvoeren van testcases
- Risico-identificatie-efficiëntie %
- Efficiëntie van risicobeperking %
- Testeffectiviteit %
- Dekking van testuitvoering
- Productiviteit van testuitvoering
- Defect Lekkage %
- Efficiëntie van defectdetectie
- Vereiste stabiliteitsindex
- Kosten van kwaliteit
- Analyseer de risico's in niet-functionele categorieën (prestaties, betrouwbaarheid en bruikbaarheid) op basis van de defectstatus en een aantal geslaagde/mislukte tests, op basis van hun relatie tot risico's.
- Analyseer de risico's in de functionele categorieën testen, defectstatus en teststatus geslaagd/mislukt, op basis van hun relatie tot risico's.
- Identificeer de belangrijkste lead- en lag-indicatoren en creëer vroegtijdige waarschuwingsindicatoren
- Monitor en rapporteer over lead- en lag-risico-indicatoren (Key Risk Indicators) door de gegevenspatronen, trends en onderlinge afhankelijkheden te analyseren.
Inherente risico versus resterende risicobeoordeling
Risico-identificatie en -analyse moeten ook inherente risico's, restrisico's, secundaire risico's en terugkerende risico's omvatten
- Inherent risico: De risico's die werden geïdentificeerd/reeds aanwezig waren in het systeem voordat de controles en maatregelen werden geïmplementeerd. Inherente risico's worden ook wel brutorisico's genoemd
- Restrisico: De risico's die overblijven nadat de controles en maatregelen zijn geïmplementeerd. Restrisico's staan bekend als de nettorisico's
- Secundair risico: Het nieuwe risico veroorzaakt door de implementatie van het risicoresponsplan
- Terugkerende risico's: Waarschijnlijkheid dat de initiële risico's zich zullen voordoen.
Meting van testresultaten op basis van risico helpt de organisatie het resterende niveau van kwaliteitsrisico tijdens de testuitvoering te kennen en slimme vrijgavebeslissingen te nemen.
Risicoprofilering en feedback van klanten
Risicoprofilering is een proces om het optimale niveau van beleggingsrisico voor de cliënt te vinden, rekening houdend met het vereiste risico, de risicocapaciteit en de risicotolerantie.
- Het vereiste risico is het risiconiveau dat de klant moet nemen om een bevredigend rendement te behalen
- Risicocapaciteit is het niveau van het financiële risico dat de klant zich kan veroorloven
- Risicotolerantie is het risiconiveau dat de cliënt het liefst zou willen nemen
Klantenfeedback
Verzamel feedback en recensies van klanten om het bedrijf, het product, de service en de ervaring te verbeteren.
Voordelen van risicogebaseerd testen
De voordelen van Risk Based Testen worden hieronder weergegeven
- Verbeterde productiviteit en kostenreductie
- Verbeterde marktkansen (time-to-market) en tijdige levering.
- Verbeterde serviceprestaties
- Verbeterde kwaliteit omdat alle kritieke functies van de applicatie worden getest.
- Geeft duidelijke informatie over de testdekking. Met deze aanpak weten we wat wel/niet is getest.
- Toewijzing van testinspanningen op basis van risicobeoordeling is de meest efficiënte en effectieve manier om het restrisico bij vrijgave te minimaliseren.
- Meting van testresultaten op basis van risicoanalyse stelt de organisatie in staat het resterende niveau van kwaliteitsrisico tijdens de testuitvoering te identificeren en slimme vrijgavebeslissingen te nemen.
- Geoptimaliseerd testen met sterk gedefinieerde risico-evaluatiemethoden.
- Verbeterde klanttevredenheid – Dankzij klantbetrokkenheid en goede rapportage en voortgangsregistratie.
- Vroegtijdige detectie van de potentiële probleemgebieden. Er kunnen effectieve preventieve maatregelen worden genomen om deze problemen te overwinnen
- Continue risicomonitoring en -beoordeling gedurende de gehele levenscyclus van het project helpt bij het identificeren en oplossen van risico's en bij het aanpakken van de problemen die het behalen van de algemene projectdoelen en doelstellingen in gevaar kunnen brengen.
Samenvatting
Bij Software Engineering is Risk Based Testen de meest efficiënte manier om het project te begeleiden op basis van risico's.
De testinspanningen zijn effectief georganiseerd en het prioriteitsniveau van elk risico-item wordt beoordeeld. Elk risico wordt vervolgens gekoppeld aan de juiste testactiviteiten. Wanneer een enkele test meer dan één risico-item bevat, wordt de test als het hoogste risico toegewezen.
Tests worden uitgevoerd volgens de risicoprioriteitsvolgorde. Het risicomonitoringproces helpt bij het bijhouden van de geïdentificeerde risico's en het verminderen van de impact van restrisico's.