Testing er kontekstavhengig

For å få mest valuta for pengene må man prioritere hvilken testing man gjør når. Man bør slutte å teste når det koster mer å fortsette enn å leve med feilene.

Ett av de sju prinsippene for testing i ISTQBs pensum er at testing er kontekstavhengig.

For hvert testprosjekt vi starter på tenker vi igjennom hvilke risikoer vi ønsker å forsikre oss mot og hvilke tester vi bør gjennomføre. Vi prøver å optimalisere utbyttet av testingen ved å finne de mest kritiske feilene først og ved å stoppe testingen når det koster mer å lete etter feil enn det koster å leve med feilene. 

contextdependent

Grafen viser hva det koster å teste koden, og hva det koster å ha en feil, som en funksjon av hvor mange prosent av koden som er testet.

Som oftest krysser linjene mellom kostnaden til testing og kostnaden for feil, og det er på tide å stoppe testingen. Nøyaktig hvor de krysser er svært avhengig av prosjektet:

Vi har en kunde som har 20 sider ikke-funksjonelle krav som benyttes for alle prosjekter. Ett av disse kravene er 100% kodedekning. Det er bra å standardisere på tvers av prosjekter så det blir enklere å vedlikeholde dem, men når man ikke tar hensyn til risiko og velger ut hvilke krav som er nyttige for et gitt prosjekt så betaler man alt for mye for kvalitet på ukritiske systemer. Dette er tid og penger man i stedet kunne og burde ha brukt på å heve kvaliteten på de systemene som er virksomhetskritiske.

Video fra foredrag på NTNU

På selveste Valentinsdagen fikk jeg muligheten til å spre test-kjærlighet på en gjesteforelesning for systemutviklingsfaget ved NTNU. For en gjeng studenter fra ulike IT-studier fikk jeg muligheten til å fortelle hvorfor testing er den mest spennende grenen innen programvareutvikling. Der gikk jeg igjennom hvorfor testing er kontekstavhengig og de seks andre prinsippene for testing. Foredraget kan du se her:

Litt om forfatteren

Jørgen

Jørgen Austvik

Jørgen jobbet tidligere som tester i Kantega.
comments powered by Disqus