Använd mätetal och styrtal för att bedöma testernas lönsamhet

2008-12-18 Artikelbanken Test Läst 8825 gånger

Allt fler organisationer arbetar metodiskt med testning. Dock är det fortfarande förvånansvärt få som följer upp investeringen för att ta reda på i vilken grad testerna lönar sig. Det finns många mätetal och alla är bra för olika syften. Vissa mätetal kan användas för att bedöma om man har testat tillräckligt. Andra används för att mäta testernas effektivitet och åter andra används för att räkna ut hur mycket pengar felen egentligen kostar. I den här artikeln får du lära dig tre praktiskt användbara mätetal som kan användas i testarbetet. Du får också praktiska tips angående val och införande.

Översikt till olika mätetal

Procent hittade fel

Procent hittade fel, PHF, är en teknik för att mäta hur stor andel av felen som hittas under testerna jämfört med hur många som hittas efter det att testerna är avslutade. Detta är ett mått på testernas kvalitet – testerna är ju inte särskilt effektiva om de flesta felen hittas av användarna i stället för under testperioden. Tack vare PHF är det möjligt att jämföra testernas kvalitet före och efter en förändring av arbetssättet. Om man exempelvis ändrar metodik eller höjer testarnas kompetens, bör PHF tydligt visa en förbättring. Mät en gång, genomför förändringen och mät igen.

Tekniken fungerar så här: Räkna antalet fel som hittas under en testperiod. Som exempel hittas 80 fel under testerna. Driftsätt systemet och fortsätt räkna antalet fel ytterligare en period, exempelvis fram till nästa driftsättning eller två månader från driftsättning. Som exempel hittas 20 ytterligare fel under denna period. Totalt har således 80 % av felen hittats under testerna, vilket är klart godkänt i de flesta system.

PHF kan användas i många situationer. De går att jämföra kvaliteten på en testnivå över tiden, exempelvis mellan systemtest av version 1 och systemtest av version 2. Det går också att jämföra kvaliteten mellan testnivåer, t ex mellan systemtest och acceptanstest. Ett bra PHF-tal är 80-90 %. Om andelen hittade fel är mycket högt, t ex 95 % kan det bero på att testerna var väldigt bra, men det kan också bero på att systemet inte har använts tillräckligt mycket under perioden efter driftsättningen. Om man får detta resultat när man jämför två testnivåer, kan det bero på att den senare testnivån är dåligt genomförd.

Felens kostnad

Det är mycket användbart att veta hur mycket pengar varje fel i genomsnitt kostar. Man kan t ex använda kostnaden i kombination med PHF som beskrivs ovan eftersom det då blir mycket tydligt vad man kan tjäna på att höja PHF-talet. Det är enkelt att ta fram en tillräckligt säker uppskattning av felens kostnad. Välj ett projekt och undersök de senaste 30 felrapporterna som hittats i produktion. Ta reda på vilka personer som varit inblandade i felsökning och rättning samt hur lång tid varje sådan aktivitet tog. Exempel:

Aktivitet Tid (timmar)
Teknisk projektledare och utvecklare utreder felet 1
Utvecklare rättar felet 2
Utvecklare testar rättningen 1
Testare testar om felet 4
Dokumentation 2
Uppdatering av systemdokumentation 1
Installationsprogram för buggfix 2
Information till användare via e-post 1
Användarrepresentant på plats i samband med installation för att övervaka att installationen lyckas 1
Övertid i samband med installation 4
Summa 20

En organisation där varje ärende har en lång beslutsväg där felrapporten eller kravförändringen ska passera instanser som ändringsråd, styrgrupp etc får troligen en mycket högre siffra än den i tabellen. Tänk på att siffran ovan är ett snitt, det finns förstås problem som går att åtgärda på ett par minuter och det finns även problem som tar veckor att åtgärda.

Nästa steg är att multiplicera antalet timmar med den timkostnad som används i organisationen. Många använder en timkostnad runt cirka 1 000 kr för att exempelvis budgetera för projekt. Ta reda på vilken siffra din organisation räknar med.

Om den genomsnittliga timkostnaden är 1 000 kr innebär det att varje bugg som påträffas i produktion kostar 20 000 kronor att åtgärda. Nästa steg är att göra motsvarande beräkning för de andra nivåerna från kravhantering via komponenttest till acceptanstest så kan du använda detta som grund för att räkna ut hur mycket felen kostar på varje nivå. Nu blir det praktiskt möjligt att räkna ut vad man kan tjäna på att förändra en testprocess så att fler fel hittas tidigare.

Fel-läckage

Syftet med att mäta fel-läckage är att se om felen hittas när de bör hittas, det vill säga så tidigt som möjligt i anslutning till att felet införts. Genom att identifiera testnivåer då felen missas går det att fokusera på att förbättra rätt testnivåer. Det går också att identifiera vilka granskningar som fungerar bättre eller sämre. Fel-läckage kan illustreras i en tabell liknande denna:

  Granskning
av krav
Granskning
av design
Granskning
av kod
Kompo-
nenttest
Integra-
tionstest
System-
test
Acceptans-
test
Totalt Missade
fel
Krav 30 10 4 0 2 2 2 50 20
Över-
gripande
design
  18 0 4 0 2 1 25 7
Detal-
jerad
design
  22 6 3 0 1 0 32 10
Imple-
mente-
ring
    20 8 20 2 0 50 30

Vertikalt visas designaktiviteterna från krav till implementering. Horisontellt visas de kvalitetssäkrande aktiviteterna såsom test och granskning. Det är inte så vanligt att tillämpa granskning vid så många tillfällen som visas i bilden. Anpassa tabellen till de aktiviteter som förekommer i din organisation.

I exemplet ovan kan man se att 30 fel har hittats i samband med granskning av kraven. När man summerar de fel som är relaterade till kraven som hittats vid alla test- och granskningsaktiviteter ser dock att det totalt hittats 50 kravrelaterade fel, vilket innebär att 20 fel av 50 eller 40 % av felen inte hittades under kravgranskningen. Det är inte praktiskt möjligt att hitta 100 % av kravfelen när de granskas men genom att göra en närmare analys av varje fel kan man dela in felen i olika typer av fel och analysera vad som gör att just de felen inte hittades. Därmed går det att förbättra processen så att liknande fel kan hittas tidigare nästa gång eller helst undvikas när kraven skrivs. I det här exemplet hittades de flesta av de resterande kravfelen när designen granskades.

Titta också på felen som är relaterade till programkoden i exemplet ovan. 20 fel hittades under kodgranskning. Även i det här exemplet fanns det totalt 50 fel, vilket innebär att 30 fel eller 60 % av felen inte hittats under kodgranskningen. Majoriteten av dessa fel hittades under integrationstesterna. En slutsats kan vara att kodgranskningen har brustit och att granskningsmetodiken bör vidareutvecklas till nästa gång det är dags att granska kod.

Process för att välja mätetal

  1. Definiera syfte och mål
    Varje mätetal svarar på olika frågor. Därför börjar valet av mätetal med att fastställa vilka frågor man vill ha svar på. Exempel på frågor kan vara ”lägger vi rätt tid vid rätt tillfälle”, ”vad kostar egentligen felen” och ”hur effektiva är våra tester”. Målen bör vara formulerade enligt SMART: specifika, mätbara, accepterade, realistiska och tidsbestämda.
  2. Välj mätetal
    Jämför olika mätetal med varandra för att se vilka som bäst svarar mot målen. Kanske är en kombination bäst.
  3. Stöd från ledningen och intern marknadsföring.
    Det är viktigt att ledningen marknadsför mätetalsanvändningen internt för att uppnå acceptans. Det är troligt att projekten ser mätetal som ett nödvändigt ont och därför är det viktigt att visa på de långsiktiga fördelarna som att hitta fler fel vid rätt tillfälle. Det är också viktigt att informera om att mätetalen inte används för att mäta individer.

Process för att införa mätetal

  1. Anpassa mätetalen till organisationen.
  2. Anpassa metodiken. Kanske behöver man lägga till någon granskningsnivå för att kunna dra nytta av vissa mätetal.
  3. Anpassa verktygen. I ett felrapporteringsverktyg kan man behöva lägga till vissa fält eller säkerställa att alla använder fälten på samma sätt för att kunna få ut den information man önskar.
  4. Ta fram mallar och exempel. Det ska vara lätt att samla in mätetalen. Tydliga exempel krävs.
  5. Ta fram rutiner. Vem ska ta fram mätetal, vid vilket tillfälle och till vem ska de rapporteras.
  6. Inför stöd till dem som ska samla in mätetalen så att de kan utföra uppgiften.
  7. Utvärdera valet av mätetal.
  8. Komplettera med fler mätetal när efterfrågan växer.

Sammanfattning

Med hjälp av olika mätetal går det att få fram bra beslutsunderlag för att effektivisera testerna. Mätetalen bör kombineras och tillämpas vid flera tillfällen, inte som en engångsinsats om det ska gå att dra några slutsatser. Varje mätetal visar också olika saker:

  • Procent hittade fel mäter testnivåns kvalitet.
  • Det är möjligt att beräkna felens kostnad.
  • Fel-läckage visar om någon test- eller granskningsaktivitet kan förbättras för att hitta ännu fler fel.

Detta är endast ett urval av vanliga mätetal, det finns mycket fler mätetal än de som gås igenom här.

 

KONTAKTA OSS

Har du frågor? Vill du ha hjälp med områden inom kravhantering och test?
Hör av dig till oss! Vi hjälper dig gärna. 

Kontakt 

Dela artikeln