Risikobasert testing

20
Risikobasert testing Minh Nguyen og Kjetil Gjelsten, Knowit Quality Mangement Oslo

description

 

Transcript of Risikobasert testing

Page 1: Risikobasert testing

Risikobasert testingMinh Nguyen og Kjetil Gjelsten, Knowit Quality Mangement Oslo

Page 2: Risikobasert testing

Målsetning

• Anvende risikostyring i planlegging og gjennomføring av test slik at testingen blir mest mulig kostnadseffektiv samt gir mest mulig avkastning i form av tiltro til systemet.

• Benytte risikobasert testing som et redskap for å motvirke de rammebetingelsene som test ofte blir utsatt for:• Begrenset tid og ressurser avsatt til testing. Ofte gitte rammer og liten påvirkningsmulighet.

• Testing blir ofte skviset ut / nedprioritert pga. tidspress eller forsinkelser.

• Med risikobasert testing kan vi likevel skaffe oss tilstrekkelig tiltro til kvaliteten på systemet før testingen blir stoppet

• Skape en bevissthet rundt dette temaet• Deler eller hele kan benyttes der det passer.

• Fallgruver (dårlig metrikker (antall gjennomførte tester, antall testede komponenter, …) som kan gi oss falsk trygghet

• Bruke som et rammeverk for å kunne samle inn erfaringer og best praksis.

Page 3: Risikobasert testing

Risiko – definisjon

• Risiko er potensiell skade som kan oppstå fra eller forårsakes av nåværende prosesser eller en fremtidig hendelse.

Definisjon vinklet mot testing av IT systemet:

• Risiko er en potensiell skade en feil i et IT-system i drift kan medføre omgivelsen. Risiko er produkt mellom sannsynlighet for at feil på et gitt systemområde kan oppstå og skadevirkningen feilen medfører.

Page 4: Risikobasert testing

Prinsipper for risikobasert testing

• Ikke alle tester har samme viktighet:• Noen tester reduserer risiko for feil i drift

• Enkelte tester øker ikke verdi og tiltro til systemet

• Tiltro til og kvaliteten på systemet øker ved å teste høyest prioriterte tester først – Det vil da gir mulighet for å kunne finne kritiske / alvorlige feil tidig.

• Vi kan sette systemet i drift tidlig dersom vi fokuserer på systemområder som er antatt å ha høy risiko i stedet for å sløse tid og ressurser på systemområder som har liten sannsynlighet for å feile eller konsekvens av feil er lav

Page 5: Risikobasert testing
Page 6: Risikobasert testing

Risikostyring – prosess

Identifisere

Analysere

PlanleggeGjennomføre & Rapportere

Korrigere

Page 7: Risikobasert testing

Identifisere

Mål:

• Målet med denne aktiviteten er å identifisere potensielle problemområder for et system. Problemområdet blir dernest brutt ned i moduler, komponenter eller funksjoner.

Best praksis:

• Idemyldring eller brain-storming sammen med eksperter fra både forretnings- og teknisk side.

• Bruk oversikt over komponenter / funksjoner eller oversikt over testcases.

• Intervjuer

• Benytte ”Produkt-risikoene” som blir identifisert i prosjektet

Page 8: Risikobasert testing

Analysere

Mål:

• Målet med denne aktiviteten er å vurdere og fastsette sannsynlighet og konsekvens knyttet til risikoområder.

Best praksis:

• Kvalitativ – normativ beskrivelse av menneskers opplevelse og erfaring

• Kvantitativ – menneskers opplevelse og erfaringer uttrykkes i målbare og distinkte verdier

• Kombinasjon av begge deler

Page 9: Risikobasert testing

Risikoanalyse

Middels Høy Høy

Lav Middels Høy

Lav Lav Middels

San

nsyn

lighe

t

Konsekvens

Lav

Middels

Middels

Høy

Høy

Lav

Page 10: Risikobasert testing

Kvalitativ analyse - sannsynlighet

Sannsynlighet

Kriterium

Lav Middels Høy

Endringsrate Uendret Endret Ny

Historisk feilrate Lav Middels Høy

Størrelse Liten Medium Stor

Kompleksitet Få grensesnitt / komponenter

Flere grensesnitt / komponenter

Mange grensesnitt / komponenter

Page 11: Risikobasert testing

Kvalitativ analyse - konsekvens

Konsekvens

Kriterium

Lav Medium Høy

Prosess/Funksjon Visning Endring av data Kalkulasjon / Validering

Konsekvens for forretning

Ikke merkbar Feil informasjon under prosessering

Juridisk / Økonomisk / Omdømme

Brukshyppighet Sjelden Ofte Veldig ofte

# berørte brukere Noen få Grupper Stort antall

Page 12: Risikobasert testing

Kvalitativ analyse – risiko

XX-3 XX-1XX-5 XX-12

XX-2 XX-4 XX-7XX-6

XX-9 XX10 XX-8San

nsyn

lighe

t

Konsekvens

Page 13: Risikobasert testing

Kvantitativ analyse – sannsynlighet

Indikator

Funksjon

Kompleksitet (vekt = 4)

Stabilitet(vekt = 3)

Størrelse(vekt = 1)

Veid gjennom-snitt

Sann-synlighet

XX-1 2 3 4 7 0,58

XX-2 1 3 4 5,7 0,48

XX-3 3 2 1 6,3 0,52

XX-4 5 5 1 12 1.0

Indikator = 1 (lav) … 5 (høy)

Page 14: Risikobasert testing

Kvantitativ analyse – konsekvens

Indikator

Funksjon

Kundens vurdering

Leverandør-vurdering

Gjennom-snitt

XX-1 1 3 2

XX-2 2 4 3

XX-3 2 3 2,5

XX-4 4 4 4

Indikator = 4 - Kritisk; 3 – Alvorlig; 2 – Normal, 1 - Kosmetisk

Page 15: Risikobasert testing

Kvantitativ analyse – risiko

Indikator

Funksjon

Sannsynlighet Konsekvens Risiko = S * K Rekkefølge for test

XX-1 0,58 2 1,16 4

XX-2 0,48 3 1,44 2

XX-3 0,52 2,5 1,25 3

XX-4 1 4 4 1

Page 16: Risikobasert testing

PlanleggeMål:

• Finne en passende strategi og identifisere tiltak for gjennomføring av test. Hensikten med tiltak er å redusere sannsynligheten eller skadeomfang.

Best praksis:

• Prioritering av tester (rekkefølge) basert på resultater fra risikoanalyse.

• Inspeksjoner hos leverandør på at det arbeidet som de skal gjøre blir gjort.

• Bistå leverandøren med testing av systemet på et tidligere tidspunkt.

• Sette de mest erfarne testerne på å designe og gjennomføre de høyt prioriterte testene.

• Leveranseplan av komponenter.

• Automatisere prioriterte tester for å øke effektivitet.

Page 17: Risikobasert testing

Gjennomføre og rapportere

Mål:

• Gjennomføre iht. testplan og fortløpende rapportere status basert på risikobildet.

Best praksis:

• Ulike teststrategier for ulike tester av ulike prioritet - viktige tester trenger mer tid og må testes nøye.

• Regelmessig vurdering sammen med Kunden for å avveie ”tidlig driftssetting” vs. ”100% fullført test”.

• Rapportere med henblikk på risiko• Status på testene (ok, ikke-ok, ikke-påbegynt, …) - se neste foil

• Antall feil av ulike kategorier/alvorlighetsgrader fordelt på risikonivåene

• Feilrettingsrate (forhold mellom #feil rettet og #feil funnet)

Page 18: Risikobasert testing

Gjennomføre og rapportere

0 12 2

21 4 5

1 0 0

Page 19: Risikobasert testing

Korrigere og lære

Mål:

• Måledata samles og analyseres for å både korrigere kursen (strategier og planer revurderes) og trekke lærdommer (identifikasjon/analyse av risiko, estimater under planlegging, osv.) til fremtidige prosjektet.

Best praksis:

• Dersom feilene som er avdekket stammer fra systemområder med lav risiko – Re-evaluere !!!

• Revurdering av risiko-trigger og gyldighet på forutsetninger

• Erfaringsdatabase

Page 20: Risikobasert testing

Videre arbeid

• Kontinuerlig berike metoden med flere velfungerende best praksis.

• Måle gevinsten ved risikobasert testing kontra tradisjonell testing.

• Bruke metoden i rådgivningsoppdrag til å hjelpe kunde med å implementere kostnadseffektiv testing.

• …