test automation
BLOGGPOST
DIGITAL ASSURANCE & TESTING

”Testautomatisering handlar inte om verktyg”

Vår testexpert Eva Holmquist tycker till och vill skifta fokus från verktyg vid testautomatisering till... Ja vadå? Nyfiken? Läs hennes bloggpost här.

Ibland upplever jag att diskussioner om att fler personer behöver bli bättre på testautomatisering alltför ofta fokuserar på frågan om vilka verktyg de ska lära sig. Enligt mig är verktyg inte det viktigaste när det gäller testautomatisering. Självklart behövs verktyg för att för verkliga våra planer. Men det är många andra frågor vi måste kunna hantera innan dess.

En av dessa är vad som är syftet med testautomatiseringen. Vad vill vi egentligen uppnå? Svaret på den frågan avgör vad vi automatiserar, men även hur. Det är inte heller frågan om vi ska automatisera eller inte. Vi behöver automatisera, men vi behöver också manuella tester. Kunskap om hur vi avgör vilka tester som lönar sig att automatisera och vilka som bör vara manuella är viktigare än vilka verktyg som ska användas.

Det är inte heller så enkelt att vi simulerar användaren och läser av resultatet i användargränssnittet. Det är en typ av automatisering, men det finns många andra som kanske bättre passar vår situation. Om användargränssnittet rör sig för mycket kan det innebära instabila tester med mycket underhållsarbete. I vissa situationer kan det därför vara bättre att gå ”under huven” och anropa den bakomliggande funktionen direkt istället. Det viktigaste resultatet visas kanske inte heller i användargränssnittet, utan det avläses på ett annat sätt.  Övriga typer av automatisering kanske också ger mer värde, t.ex. kan man automatisera att generera testdata.

En annan viktig fråga är hur vi automatiserar. Det beror på vad vi testar och vad som är syftet med just detta test. Vilka intilliggande system ska vi simulera? Hur ska vi hantera testdata? Ofta finns det ett behov av att använda samma testdata varje gång testet exekveras. Då kan man behöva sätta upp en virtuell miljö med bestämd databas innan testet körs igång. Om man inte simulerar intilliggande system utan kör mot systemen i deras testmiljö kan man få problem med att testdata inte stämmer överens. Därför kan det vara bättre att simulera omgivningen så att vi har kontroll.

Det vi absolut inte vill ha när vi automatiserar tester är en stor mängd falska fel, det vill säga signaler om fel som inte är fel, eftersom det ger ett stort arbete för att reda ut vilka signalerade fel som verkligen är fel och vilka som är falska. Man bör automatisera på ett sätt som minimerar behovet av uppdateringar av testerna och felsökning av falska fel.

Man behöver också fundera på hur automatiseringen ska fungera ihop med byggprocess, testmiljöer och arbetssätt. När ska testerna köras? Hur får vi reda på resultatet? Hur hanterar vi underhållet av testerna? Och hur utvecklas nya tester allt eftersom systemet utvecklas?

Med andra ord finns en stor mängd frågor som är relevanta när man ska automatisera tester. Det är först när realiseringen av testerna ska göras som frågan om verktyg är intressant. Därför skulle jag vilja att fokus flyttas från verktygen som krävs för att automatisera till frågor kring syftet med att automatisera, vad vi ska automatisera, hur vi ska automatisera och inte minst hur vi ska arbeta med vår testautomatisering. 

Vad tycker du? Vilka är de viktigaste frågorna kring testautomatisering?

Ps. Vill du veta mer om varför man ska automatisera, hur man avgör vad som lönar sig att automatisera, vad man behöver tänka på och olika sätt att automatisera finns det ett helt kapitel med information om det i min bok Praktisk mjukvarutestning.

Eva Holmquist är civilingenjör och specialist inom mjukvarutest. Hon har arbetat med alla faser från planering till genomförande av tester, samt verksamhetsutveckling och utbildning inom testområdet. Hon är författare till boken "Praktisk mjukvarutestning" som getts ut på förlaget Studentlitteratur.

todo todo