BLOG
MOBILITY

Blog: Mobile Performance Testing

Performancetest er vigtigt for alle typer af software, men for mobile applikationer er det særligt vigtigt! 

[9. marts 2015] De enkelte mobile enheder har ofte meget begrænsede ressourcer og vi bruger dem anderledes end vi bruger mere traditionel software som f.eks. det vi kører på en laptop. Faktisk siger 3 ud af 5 IT-ledere i 2014 at deres primære fokus for mobiltest er performance (kilde: World Quality Report 2013-14).

Så hvad skal man tænke over, når man laver perfomancetest af mobile applikationer? Det varierer selvfølgelig fra applikation til applikation, men hvis man adresserer følgende tre punkter i sin test er man i hvert fald godt på vej og langt foran gennemsnittet.

  • Hvem bruger min app?
  • Hvilke typer forbindelser skal testes?
  • Performance på de enkelte enheder?

Hvem bruger min app?

Først er det vigtigt at identificere brugerprofilen for dine brugere og den belastning der skal simuleres under testen. 

  • Er det en native app eller en browserløsning?
  • Hvilke enheder har brugerne og hvilke versioner af operativsystemer er der på dem?
  • Hvis det er en browserløsning, hvilken browser bruges der så mest? - Safari, Chrome, Explorer etc.
  • Hvor er brugerne henne i verden og hvor mange er der hvert sted?
  • Hvor tit kommunikeres der mellem enhederne og serveren - og hvor store mængder data?
  • Er der nogle dele/forretningsprocesser der bruges mere end andre?

Hvilke typer af forbindelser skal testes?

At en bruger er mobil er langt fra det samme som at vedkommende er online hele tiden. Forbindelsen vil f.eks. variere når brugeren flytter sig eller vejret skifter og alt efter om brugeren benytter, 3g, 4g eller wifi vil der være betydelige forskelle i svartider og overførselshastigheder. En god tilgang til testen er først at etablere en baseline, hvor der kun testes med en enkelt bruger/enhed. Her måles både svartider fra serveren men også hvordan brugerinterfacet på enheden opfører sig. Herefter gennemføres en test hvor en realistisk belastning på systemet simuleres og der samtidig testes med fysiske enheder for at se konsekvenserne af den eventuelt reducerede performance. 

Performance Testing

Der er således to aspekter der skal simuleres i testen.

  1. En realistisk belastning på serveren. Det er ofte lettest at gøre via cloud-løsninger, da det normalt vil kræve at man har servere placeret på de fysiske lokationer hvor belastningen kommer fra, men for interne applikationer kan virksomhedens eget datacenter nogle gange benyttes.
  2. Forskellige typer af forbindelser på de fysiske enheder. Dette gøres oftest lettere via en proxy der understøtter “throttling”. Dvs. begrænse forbindelsens hastighed. Evt. kan man også tage de fysiske enheder ud i de omgivelser hvor de skal bruges, men det kan her være svært at få konsistente tests. 

Performance på de enkelte enheder

At måle performance af en server når mange enheder forbinder til den er vigtigt, men det er lige så vigtigt at teste om appen (klienten) fungerer tilfredsstillende på de enkelte enheder. Hvis f.eks. batterilevetiden halveres når appen benyttes, vil brugerne hurtigt finde en anden løsning hvis de får muligheden. Det samme gælder for processorbrug, hukommelse, grafikhastighed o. lign.

Den nemmeste og bedste måde at måle dette på er normalt, at indbygge et framework i ens app der kan rapportere enhedens tilstand tilbage til en server med faste intervaller. Husk at benytte informationen fra tidligere om, hvilke enheder og operativsystemversioner brugerne har til at teste de meste relevante kombinationer.

Opsummering

Performancetest af mobile løsninger er ikke bare at teste at serveren kan holde til en masse belastning. Vi skal også huske at teste ude på de enkelte enheder og vi skal huske at simulere vores brugere præcist, både hvad angår lokation såvel som forbindelseskvalitet. Som det altid gælder for performanceproblemer, så kan de være rigtig dyre at rette, hvis man først finder dem lige omkring release. Begynd derfor så tidligt som overhovedet muligt. Hvis der er skrevet noget kode, kan vi også måle på, hvor hurtigt det kører og om det pludseligt bliver langsommere!

Hans-Henrik Olesen
Hans-Henrik Olesen
Managing Consultant
+45 52189718
todo todo