Centric connect.engage.succeed

Mobile apps testen: een kind kan de was doen

Geschreven door Redactie Craft - 18 april 2016

Redactie Craft
Sinds de smartphone hebben talloze bedrijven zich gestort op het ontwikkelen en testen van mobiele apps: van Albert Heijn tot New York Pizza en van de KLM tot de NS. Het totale aantal apps in de app stores is in zeven jaar uitgegroeid tot boven de 1,5 miljoen!

Het bouwen van een mobile app is geen rocket science. Kun je programmeren, dan kun je ook een app voor de smartphone maken. Het is dus niet verwonderlijk dat er alleen al in Nederland een flink aantal bedrijven is dat zich hiermee bezighoudt. Het aantal testers van mobile apps, daarentegen, is op een hand te tellen. Best raar, want het testen van mobile apps is niet anders dan het testen van een gewone applicatie. Je hebt nog steeds unit tests, en voor de acceptatietest moet je nog steeds naast de gebruikers gaan zitten. Wel heb je bij het testen van een mobile app wat andere kopzorgen:

  • Kritische gebruikers
    Bij een bedrijfsapplicatie, waar de gebruikers achter hun bureau zitten, krijg ik tijdens de acceptatietest weinig commentaar over hoe een scherm is ingedeeld, of dat een de plaatsing van een knop onhandig is. Pas tijdens de usability test krijg ik dat soort feedback - vaak met veel moeite - boven tafel. Maar zodra ik een mobiel onder de neus van een gebruikersacceptant schuif, kan ik rekenen op een stortvloed aan commentaar. Van knopjes die verkeerd zitten tot letters die te klein zijn.
  • Alles moet worden ondersteund
    Bij een werkplek is het makkelijk: je ondersteunt gewoon Windows… klaar! Maak je een webapplicatie in Java, dan vertel je tegen de IA welke Java Runtime er op de pc’s moet staan. Maar van een mobile app wordt verwacht dat die op alle mogelijke smartphones en tablets kan draaien. Want meer marktaandeel betekent meer winst. Met duizenden verschillende modellen op de markt, moet je dus erg goed nadenken op welke mobile device je gaat testen, voordat je compatibility test uit de hand loopt.
  • Lege batterijen en slecht bereik
    De connectiviteit tests worden vaak vergeten in de testuitvoer. Bij een werkplekapplicatie maakt dat ook niet zoveel uit, maar een mobile app is aanzienlijk gevoeliger voor tijdelijke storingen. Als je in de trein zit en mobiel aan het bankieren bent, wil je niet dat je betaling dubbel wordt uitgevoerd, omdat je bereik even slecht was. En als je tablet leeg is tijdens het doen van je belastingaangifte, heb je echt geen zin om al die velden opnieuw in te voeren. Dat laatste scenario kun je in je recovery test op zich nog wel testen door de batterij er uit te halen, maar een slechte verbinding is een stuk complexer om na te bootsen. En om nou bij elke release een weiland in te lopen tot je bereik wegvalt…

Je eigen testlab in drie stappen

TestlabNu je weet waar je op moet letten bij het testen van mobile apps, heb je natuurlijk apparaten nodig om de testen op uit te voeren. Er zijn online bedrijven die het mogelijk maken om je applicatie te testen op honderden apparaten doe worden voorzien van alle mogelijke updates. Handig om een keer te testen of je app draait op al die modellen, maar behoorlijk prijzig als je wekelijks een nieuwe build wil testen. En voor een acceptatietest heb je er al helemaal niks aan.

Wij hebben voor onze klanten een eigen mobile device lab opgezet. Hierdoor kunnen wij een applicatie testen of deze nou gebouwd is bij de klant, of bij Centric. Zo’n lab opzetten is iets wat je zelf ook makkelijk kunt doen, als je weet wat de do’s & don’ts zijn.

Do: verzamel een representatieve set aan apparaten

Omdat elk apparaat toch geld kost, is het handig om vooraf goed na te denken welke modellen noodzakelijk zijn om aan te schaffen. Je wilt hierin een balans vinden tussen apparaten met verschillende soorten hardware en apparaten die populair zijn bij consumenten. Zo kun je de technische verschillen goed afdekken en een representatieve testomgeving te creëren.

Don’t: alles direct updaten naar de nieuwste versie

Oudere besturingssysteem-versies kunnen verstorend werken op je app. Zo worden bijvoorbeeld de nieuwste programmeermethodes niet altijd ondersteund op oudere smartphones.

En omdat veel mensen vergeten hun apparaten te updaten of apparaten hebben die te oud zijn voor updates, is het belangrijk dat je testomgeving dat ook weerspiegeld.

Om je met de bovenstaande punten te helpen, zijn er online statistieken te vinden over welke handhelds en besturingssystemen op dit moment populair zijn. Zowel voor iOS als Android worden deze jaarlijks geupdate.

Do: bouw een goede infrastructuur en plan vooruit

Met een kast vol apparaten ben je er nog niet, en om gestructureerd te testen moet je meer doen dan wat kabels aansluiten. Waar je naartoe wilt, is een overzichtelijke ruimte, waar je alle apparaten naast elkaar kunt weergeven, de voeding aangesloten is en een stabiel netwerk tot hun beschikking hebben. Zeker als je in de toekomst wil groeien - met nieuwe modellen of het automatiseren van je testuitvoer - is het cruciaal dat je vooraf rekening houdt met wat er gaat komen.

Je kunt je lab namelijk op talloze manieren verbeteren, zoals met een aangepast GPS- signaal of je eigen 3g-zender om de verbinding te testen.

Don’t: open deurenbeleid

Zodra je lab begint te groeien, en er steeds meer mensen komen om te testen, is de kans groot dat er een keer wat verdwijnt. Een missende voedingskabel is al behoorlijk verstorend voor je testplanning, maar een “geleende” tablet levert meer schade op.

Je kunt het beste een aparte ruimte reserveren voor je mobile tests, en wanneer de apparaten niet worden gebruikt, deze bewaren in een kluis.

Do: labels en Excelsheets

Het goed bijhouden van de status van al je apparaten klinkt misschien vanzelfsprekend, maar ik heb al een aantal keer meegemaakt dat een ambitieus opgezet lab uiteindelijk verstoft in een kast, omdat niemand er beheer over voert. Zeker als je verschillende versies van besturingssystemen hanteert, is het verstandig om dit bij te houden in bijvoorbeeld een Excelsheet. Als je dit combineert met labels op het apparaat en de voeding, registreer dan meteen de accountgegevens en serienummers van de verschillende apparaten in je Excelsheet, en geef ze een vaste plek in je testomgeving. Zo heb je de eerste stappen in (versie)beheer gemaakt.

Als je begint met een Mobile Test Lab gaat een boel nog ad hoc. Je hebt daarom ook wat flexibiliteit nodig in je omgeving. Zodra je lab volwassener is, en in meerdere projecten wordt gebruikt, raad ik je aan om het beheer van de hardware over te dragen naar de IT van het bedrijf.

Zoals je hebt gelezen is het opzetten van een eigen mobile test lab toch eigenlijk wel veel werk, en je hebt er ook nog de nodige kennis voor nodig. Heb je zelf ervaring met het testen van mobile apps laat dan wat van je horen, ik ben erg benieuwd naar jouw tips en aandachtspunten!

Tags:Testing

     
Reacties
  • Wolters Kluwer
    Caroline Arkesteijn
    11 mei 2016
    Helder, nuttig en lekker leesbaar artikel!

    M.b.t. het bepalen van de representatieve set aan apparaten kan het ook nuttig zijn niet alleen te kijken naar wereldwijd gebruik, maar zeker ook naar je eindgebruikers/ klanten. Waar werken zij mee/ op?
    Bij het samenstellen en klaar maken van je devices kan het nuttig zijn (zeker als je performance gaat testen) om ook apps als facebook en whats app te installeren en op de achtergrond te laten draaien. Zeer waarschijnlijk wordt dit door de eindgebruiker ook zo gedaan.
  • Centric
    Bas van Kokswijk
    12 mei 2016
    Hoi Caroline, dank je voor je reactie!

    Je hebt inderdaad gelijk. Ook bijvoorbeeld als je een app alleen binnen het bedrijf gaat gebruiken, heeft het nut om gericht vooronderzoek te doen.

    En hoewel andere apps op nieuwe toestellen geen verstoring horen te veroorzaken, kunnen ze op wat oudere toestellen, met een enkele core en weinig geheugen. verstorend werken voor een consequent testresultaat.

    Ik zou zelf dat scenario vooral testen op het oudste model wat ondersteund moet worden, om te voorkomen dat je testuitvoer uit de hand loopt.
Schrijf een reactie
  • Captcha image
  • Verzenden