Skenfel

För några år sedan var jag testledare i ett uppdrag/projekt där nya releaser släpptes till ett driftsatt system en till två gånger per år. Efter några år bestämde vi oss för att använda oss av så kallade skenfel under ett par releaser. Det innebar att utvecklarna avsiktligt lade in typiska fel i systemet. Dessa kunde sedan användas för att löpande under testperioderna uppmärksamma testtäckningen. Om inga skenfel hittats i ett visst område gav det en indikation på att testtäckningen troligtvis var bristfällig för det området. Ett annat användningsområde var att skenfelen gav en fingervisning om vilka kategorier av tester som behövde köras ytterligare.

 Nedan visas ett exempel på skenfel uppdelade i fyra kategorier.

Exempel_pa_skenfel

Informationen om antalet funna skenfel gav oss också en indikation på hur många fel som kunde tänkas finnas kvar i systemet.

Exempel_pa_antal_terstende_skenfel

Det krävdes en hel del planerande för att få det att fungera. Exempelvis var det utvecklingsledaren som ansvarade för inläggning av skenfel, löpande rapportering om funna skenfel samt borttagning av skenfel. Ett dokument skapades som beskrev hur skenfel skulle läggas in, kategoriseras och kommenteras i koden. Skenfel planterades endast i ny och förändrad kod. Skenfel skulle motsvara cirka 10-15 procent av totala antalet fel som brukade rapporteras på liknande områden eller områden med motsvarande storlek och komplexitet. Som referens fanns en befintlig feldatabas med över 9 000 felrapporter. Totalt brukade det bli ett 60-tal skenfel på ny och förändrad kod per release och vi uppskattade arbetsinsatsen till en mandag per utvecklare och release.

Varken testledaren eller testarna fick under releaserna reda på vilka skenfel som lagts in eller hur många. Löpande under testperioderna rapporterade utvecklingsledaren hur många procent av skenfelen som hittats, fördelat per kategori. Utöver att skenfelen användes som ett verktyg för att uppskatta testtäckningen och för att uppskatta hur många fel som kunde tänkas finnas kvar, användes skenfelen som en motivationshöjare för testarna. Inga planterade fel skulle minsann släppas över bron!

Hittar_du_nagra_fel2

Fyra månader efter driftsättningarna genomfördes en uppföljning för att se hur väl resultatet med skenfelen stämde överens med verkligheten. Just tidsperioden fyra månader valdes för att vid den tidpunkten brukade antalet fel som rapporterades på releasen, både från test och från produktion, närma sig noll. Resultatet brukade förvånande väl stämma överens med prognosen. I en release hade 76 procent av skenfelen hittats innan de togs bort ur systemet. När systemet driftsattes hade totalt 1 540 fel rapporterats. Enligt skenfelen skulle det innebära att det fanns 486 fel kvar. En uppföljning fyra månader senare visade att 507 fel hade rapporterats efter driftsättning.

Skenfel passar nog inte i alla projekt men för oss var det intressant, givande och motiverande att prova på det här med skenfel. Vi var ett väl intrimmat gäng, vi arbetade i ett system som vi behärskade och vi hade en gedigen feldatabas att hämta erfarenheter från. Den extra arbetsinsatsen som krävdes kompenserades med höjd motivation. Sitter du i en liknande situation och känner att du vill prova något nytt så kan kanske skenfel vara något att prova på.

PS! I min och Mikael Ölunds bok Testledning – Inspirerande testerfarenheter, finns mer information om hur användandet gick till. DS

About David Pers

David Pers Davids specialistområde och passion är test- och testledning, vilket han har arbetat med sedan 1998. Vanliga arbetsuppgifter har varit att leda testarbete, utveckla processer, ramverk och riktlinjer för testverksamheter samt coacha blivande testledare. David har en kandidatexamen i datavetenskap och gav 2007, tillsammans med Mikael Ölund, ut boken Testledning – Inspirerande testerfarenheter. David publicerade under flera år seriestrippar varje vecka om Tore Testledare på sin blogg testledning.se. Ett urval av stripparna samlades 2010 i boken Tore Testledare – Allt du behöver veta om programvarutestning. Sedan 2000 arbetar David som partner till Donald Davies & Partners (www.ddp.se).