Testfallens vara eller icke vara

Att skriva testfall är en självklar del av testprocessen i de flesta organisationer. Men har du någon gång frågat dig: Varför använder vi testfall? Till vad används och tillför de?

Vi börjar med den första frågan; varför använder vi testfall? 
Test var länge en syssla för de nya och oerfarna. När en testare fick frågan; -Vad är det egentligen du gör på dagarna? Så på grund av deras begränsade erfarenhet så hade de svårt att förklara på ett enkelt sätt hur test egentligen fungerar, detta gillade inte cheferna. 

-Vi måste få ordning och reda på testerna! Det verkar ju vara rena rama lekstugan, kanske någon sa.
Det var då någon kom med idén att varför inte be testarna skriva ner vad de gör, då kan vi både granska och mäta deras arbete på samma gång. Perfekt! Låt oss kalla detta för testfall!

La du märke till det alldeles för stora e:t i första meningen? Va? Gjorde du? Hur kunde du göra det utan att du hade ett testfall? Helt makalöst!
Anledningen är att din modell av skriven text på svenska i en ordbehandlare säger dig att något inte stämde. 

Har någon bett dig korrekturläsa en text någon gång? Vilka testfall brukar du använda då? 

Känns frågan dum eller konstig? Varför?
Test handlar om att ställa frågor, om och om igen till dess att du känner att har svaret på dina frågor, eller någon annans frågor. 

Kan jag registrera mig? Kan jag logga in? Skall den knappen vara blå? Skall det gå så här långsamt? Vad händer om vi släpper på 10 000 användare samtidigt? 

För någon som inte har en modell av det system som är under test är det också svårt att ställa frågor.
Skulle du kunna göra ett enkelt test av startmotorn på din bil? Skulle du kunna göra ett enkelt test av startmotorn på ett jetplan?
Om du inte är pilot så är svaret antagligen ja på den första frågan och nej på den andra.
Varför? Jo därför att du saknar en modell i ditt huvud av ett flygplan men du har en modell av en bil. 

IT-organisationer försöker idag ofta att skriva ner modellen av ett system i form av testfall så att vem som helst skall kunna testa. Men hittar man egentligen fler fel genom att använda testfall? Är det inte egentligen så att när man använder testfallet så ser man något helt annat som verkar konstigt, och genom att undersöka det så hittar man en bugg? Hur skall då någon som inte har en modell av systemet, och därför inte märker att något var konstigt, kunna hitta dessa buggar? 

Om du räknar på den lilla tid det kostar att få någon att skapa sig en korrekt modell av systemet, mot den tid det kostar att skapa och underhålla testfall som inte används (vem läser testfallen efter första gången) så blir det ganska självklart. 

Se till att testarna kan grunderna i hur man kör en testanalys av ett system och satsa sedan på att se till att alla har en bra modell över hur systemet under test skall/borde fungera. 

Ni kommer att se en stor skillnad, dels hur många buggar som hittas och dels på systemets kvalitet i det långa loppet. Ni har ju nu också skaffat er ett stort antal människor som kommer på nya bra förbättringar på ert system. Bra va?

-Hur ska vi kunna mäta deras arbete då?
Ja, den frågan tar jag en annan gång.