Det er vigtigt at opstille objektive mål for testen. Uden objektive mål er det vanskeligt at planlægge testen, følge op på fremdriften og ikke mindst afgøre, hvornår der er testet nok. Det betyder, at det let kan blive tilfældigt, om der bliver testet for meget eller for lidt. Begge dele er for dyrt på kort eller langt sigt.

 

Et godt mål for testen bør bestå af to typer mål:

- Mål for testdækningen

- Mål for fejlniveauet

Vi har skrevet om testdækningen i en tidligere artikel, så denne artikel vil sætte fokus på fejlniveauet.

 

Fejlniveau - kvalitet

Med fejlniveauet menes antallet og alvorligheden af kendte fejl i systemet. Fejlniveauet er således et udtryk for kvaliteten af systemet. 

Alvorligheden (severity) af fejl inddeles typisk i tre til fem kategorier, hvor kategori 1 er de mest alvorlige fejl. F.eks.: 

1. Kritisk fejl / Blokerende fejl

2. Alvorlig fejl

3. Mindre alvorlig fejl

4. Kosmetisk fejl

 

Forretningsmæssigt set

Alvorligheden bør defineres ud fra, hvor kritisk fejlen er, i forhold til at anvende systemet til at løse den forretningsmæssige opgave systemet er beregnet til. Alvorligheden er således ikke det samme som prioriteten på en fejl. Ofte vil en alvorlig fejl også blive prioriteret højt, men ikke altid. Og nogle gange kan en mindre alvorlig fejl hos en meget vigtig kunde, eller hos mange kunder, have højere prioritet at få rettet end en mere alvorlig fejl hos en mindre vigtig kunde. Klassificering af fejl i alvorlighed og prioritet er et helt emne for sig, men det er ikke det primære i denne artikel.

 

Hvor meget er tilladt før frigivelse?

Da fejlkategorierne nu er defineret, kan vi opstille mål for, hvor mange af hver kategori vi vil tillade, før vi frigiver softwaren til kunderne eller til næste testniveau. Målet for fejlniveauet kunne f.eks. være:

1. Vi vil ikke frigive software med kendte kategori 1 fejl

2. Vi vil ikke frigive software med kendte kategori 2 fejl, med mindre 

- de er dokumenterede og

- der findes en workaround og

- det er besluttet, hvornår fejlen rettes

3. Vi vil ikke frigive, før fejltendensen er faldende

Dette er kun et eksempel. Det skal naturligvis tilpasses den enkelte organisation.

 

Kendte fejl

Bemærk at målet for fejlniveauet omhandler kendte fejl. Det ville være bedre at sætte mål for alle fejl i systemet, både de kendte og de ukendte. Men da de ukendte jo netop er ukendte (endnu), lader det sig ikke gøre. 

- Er det let at opfylde et mål om et vist niveau af kendte fejl?

Ja – man skal bare lade være med at teste, så bliver de ukendte fejl ikke kendt.

Derfor kan mål for testen, baseret på niveauet af kendte fejl, ikke stå alene. Vi er også nødt til at stille krav til testens omfang – testdækningen – som beskrevet i en tidligere artikel og nyhedsbrev. Hvis vi kombinerer mål for testdækning med mål for fejlniveauet, har vi et godt, objektivt og kvantificerbart mål for testen.

 

Tendenskurver

Punkt 3 i eksemplet omhandler fejltendensen. Ukendte fejl er ukendte indtil de bliver fundet. Men med tendenskurver kan man godt ”kigge lidt ind i fremtiden” og få en ide om, hvorvidt der stadig er mange ukendte fejl, eller om det ebber ud.

Antal fejl fundet per dag i hver fejlkategori samt tendenskurven for kategorien Alvorlig.

Antal fejl fundet per dag i hver fejlkategori samt tendenskurven for kategorien Alvorlig.

 

Så længe man dag for dag (eller time for time eller uge for uge) finder flere og flere fejl, er tendenskurven stigende og så må man antage, at der fortsat er mange ukendte fejl. Når tendenskurven knækker, så man finder færre og færre nye fejl per dag, kan man begynde at antage, at der er færre ukendte fejl tilbage.

Der er naturligvis en række faktorer man skal være opmærksom på, når man ser på tendenskurver, bl.a. om testindsatsen er konstant og om testdækningen er tilstrækkelige høj og ikke mindst baseret på forskellige dækningselementer. Men med sund fornuft og almindelig forståelse for prognoser, er tendenskurver et fremragende værktøj.

 

Mål for testen

Ved at kombinere mål for testdækningen med mål for fejlniveauet, får vi et sæt af objektive mål for testen. Det betyder, at det ikke længere er subjektivt, hvornår testen er ”god nok”. Med objektive mål har man noget klart at planlægge og følge op ud fra. Det betyder at test bliver en aktivitet man kan lede. Derfor er det også med god grund det første punkt i Testing Maturity Modellen (TMM). 

 

De næste punkter i TMM er testplanlægning og testteknikker. Dem vil vi komme ind på i senere artikler.

 

Artiklen er skrevet af Torben Hoelgaard