Svårt att lyckas med automatisering av mjukvarutestning

2015-06-12 | Forskning/Samverkan

Idag övergår många mjukvaruföretag från manuell till automatiserad testning av nya produkter. Men i en färsk doktorsavhandling från Mälardalens högskola (MDH) menar Kristian Wiklund, forskare vid högskolan samt operativ produktägare på Ericsson AB, att man bör vara försiktig vid övergången.

 

 

Industridoktoranden Kristian Wiklund arbetar som ansvarig för en testautomatiseringsprodukt i utvecklingsmiljö på Ericsson AB, samtidigt som han forskar vid MDH. Hans doktorsavhandling fokuserar på att analysera och beskriva problem som kan uppstå för mjukvaruutvecklare som använder automatisering för att utföra testning av programvaran de konstruerar.  

– Målet med avhandlingen är att ge en fördjupad kunskap om dessa problem, så att man som användare, beställare eller utvecklare av ett automatiserat testkörningssystem får enklare att undvika problemen och därmed kan genomföra sitt arbete enklare och mer effektivt, säger han.

Dyrt att testa på traditionellt sätt

Syftet med testning är att hitta fel innan man levererar ny programvara till kund. Det finns i princip ingen felfri programvara, vilket gör att det är viktigt att testa den. Testning utförs genom att programvaran körs under kontrollerade förhållanden, med förutbestämd indata, och så observerar man vad som händer. Om beteendet avviker från avsett beteende så har man hittat ett fel.

– Testning är extremt dyrt, 30-80 procent av kostnaden i ett mjukvaruprojekt, och består till stor del av upprepningar av samma tester för att kontrollera att produkten fungerar över tid. Upprepningarna och kostnaden gör det väldigt attraktivt att automatisera testkörningarna, säger Kristian Wiklund.

Mycket som påverkar hur väl automatiseringen lyckas

Dock visar han i sin avhandling att det i verkligheten är svårt att få automatiserade testkörningar att fungera helt felfritt, beroende på att det finns olika fenomen, både tekniska och organisatoriska, som påverkar resultatet.  

– Det är framför allt två fenomen som är kritiska och måste kontrolleras extra noga. Det ena är orealistiska förväntningar, man vet inte vad man kan och inte kan åstadkomma. Det andra är att man underskattar kostnaderna och ansträngningen i arbetet, över automatiseringens hela livscykel. Testautomatisering är en i högsta grad levande produkt, den kräver förändringar i takt med att den testade produkten förändras, säger Kristian Wiklund.

Råder du mjukvaruföretag att inte automatisera testning över huvud taget?

– Absolut inte, men man ska vara medveten om att problem kan uppstå. Ett mjukvaruföretag som överväger att automatisera kan använda min forskning för att styra till exempel sin riskhantering och projektering av automatiseringen.

Drar nytta av sina erfarenheter från industrin

Under sina snart 15 år på Ericsson har Kristian Wiklund arbetat med att utveckla, hantera och optimera system för testautomatisering. Han menar att erfarenheterna därifrån hjälpt honom att hitta relevanta frågeställningar till sin forskning.

– Mitt val av forskningsfrågor är direkt kopplat till affärsnytta och mina personliga, och kollegors, erfarenheter från mjukvaruindustrin. Det blir en bra kombination – inom industrin finns ett stort behov av forskning i närtid och inom forskningsområdet en brist på empirisk data från riktiga utvecklingsorganisationer, något jag haft tillgång till, säger han.