Testautomatisering är ett väldigt effektivt sätt att kvalitetssäkra mjukvara, även mobilappar.

Men det finns en hel del utmaningar och skillnader mellan hur du testar mjukvara på vanliga datorer och smartphones och surfplattor.

Lemontrees Johan Kvastad utvecklar ramverk för mobiltestning, bland annat till en av Sveriges största teleoperatörer, och känner till utmaningarna väl.
– Att införa automatiserade tester kräver en del jobb, så det första du måste bocka av är att din produkt har ett ganska långt liv. Om du bara har tänkt att släppa en version av din app och inga uppdateringar kan du stryka automatisering direkt, säger han.

Om du däremot har en app som kommer att leva länge finns det stora fördelar med automatisering. Inte minst sparar testarna en hel del tid.
– Testaren förvandlas från musiker till dirigent som orkestrerar tester. Ett knapptryck är det som krävs för att genomföra testet.

 

Testaren förvandlas från musiker till dirigent som orkestrerar tester.

 

Men ett automatiserat test är inte samma sak som ett underhållsfritt test. Varje gång något ändras i appen så behöver automationen uppdateras. Johan lyfter fram vikten av bra versionshantering, det är viktigt att automationsramverket har en version som matchar appen.
– Det här behöver du tänka på när ramverket byggs. Det ska vara lätt att ändra saker, som exempelvis var i gränssnittet en viss funktion ligger.

Så hur bygger du rätt från början? För det behövs det programmerarexpertis. Att få app och testramverk att gå hand i hand handlar mycket om att använda sig av best practice från programmerarvärlden. Både kod och ramverk bör vara modulariserat, då har du goda förutsättningar att bygga både bra kod och bra möjligheter för testautomatisering.

 

Det alla undrar om tester av mobilappar

Apples IOS har en marknadsandel på 56 procent på svenska företag och på konsumentsidan är motsvarande siffra 44 procent. I stort sett resten är Android. En fråga Johan ofta får är om det är möjligt att köra samma tester på båda plattformarna.
– Just det här är en fördel med Appium, det ramverk för mobiltester jag främst jobbar med. Och ja, om appen ser likadan ut på IOS och Android är det möjligt att köra samma kod på båda med bara smärre ändringar.

 

Android är en betydligt mer öppen plattform än IOS.

 

Men det kan vara problematiskt. Android är en betydligt mer öppen plattform än IOS. Det är mycket lättare att göra API-anrop och få rättigheter, menar Johan, och det gör det lättare att automatisera.
– På IOS behöver du tillgång till kryptografiska nycklar och licenser, det kan innebära en hel del merarbete.

Så i grunden kan samma testkod köras, men det kan ta längre tid på IOS eftersom du måste förbereda systemet.

 

Supersnabb automatisering, eller?

Många tänker sig att det måste gå supersnabbt om ett test automatiseras och genomförs av en dator. Det borde ju bara ta någon sekund istället för minuter?
– Så är det inte. Snabbheten kommer snarare av att kunna köra många tester parallellt. När en app körs så tar det någon sekund att ladda en sida och det tar samma tid oavsett om en maskin eller en människa genomför testet. Oftast sker ju fördröjningen i nätverket, menar Johan.

Det fina är istället möjligheten att skala upp testerna, då går det fortare.
– Kör du hundra tester så blir en människa trött och kan inte hålla tempot. Men datorn råkar aldrig missa en bild eller klicka fel.

 

Det fina är istället möjligheten att skala upp testerna, då går det fortare.

 

Det maskinerna missar på idag är saker som fingerstorlek, det tas ingen hänsyn till om appen används av en person med tjocka eller smala fingrar. Färgsättning och hur snyggt gränssnittet är märker inte datorerna heller något av.
– Ett flöde bryr sig inte om att en knapp är lagom stor eller om en färgblind ser färgerna på rätt sätt. Men på sikt tror jag att en del av det här kommer att fångas upp av maskininlärning, säger Johan.

 

Så börjar du automatisera dina mobiltester

Det mest naturliga sättet att börja på är att besvara frågan, vad är kostnadseffektivt att automatisera?

Märker du att du går igenom samma procedur varje gång du släpper en ny version av din app? Har du gjort samma test 1000 gånger? Då har du ett solklart automatiseringsfall.
– Eftersom det krävs en hel del jobb att sätta upp kan du med fördel börja med automatiseringen lite senare i din applikations liv. Kvalitetsmässigt vill du ju såklart komma igång direkt, men det är inte alltid lönsamt att göra det. Mitt råd är att från början designa rätt så att flödena testet behöver gå igenom är ganska likt över tid. Då kan du lägga på automatisering efterhand, säger Johan.

 

Nästa steg

Automatiserade tester är ett effektivt sätt att kvalitetssäkra mobilappar, men som du läst kan det krävas en del jobb och expertis för att komma igång på ett bra sätt.

Hör gärna av dig till oss så hjälper vi dig vidare!