Mobiel speelt een belangrijke rol in de digitale transformatie. Naast fysieke kanalen is digitale interactie met klanten inmiddels onmisbaar geworden. Goed werkende mobiele applicaties zijn dan ook van strategisch belang voor de interactie tussen klant en organisatie. Uit onderzoek van Capgemini en Sogeti is dan ook gebleken dat de aandacht voor testen van deze mobiele applicaties sterk is toegenomen.
Dit laat volgens Desiree Fraser, divisiemanager Testen & Quality Assurance bij Capgemini, zien dat bedrijven en instellingen veel belang hechten aan de kwaliteit van mobiele applicaties, prestaties, functionaliteit en de beveiliging, die aan de basis staan van een onderscheidende klantbeleving en positief imago van de organisatie. Bedrijven zijn dus steeds meer bezig met het testen van mobiele applicaties, maar hoe kun je applicaties het beste testen? Leer van deze tips van Computable-experts.
1. Gebruik het echte apparaat – geen emulator
Cyril Vonken, directeur van Tasman Solutions, raadt aan om heel kritisch te kijken naar het gebruik van emulatoren, en dan met name die platforms ondersteunen die een enorme fragmentatie kennen zoals Android, voor het testen van applicaties. ‘Emulatoren zijn niet ‘the real thing’ en blinken niet uit in het nabootsen van sim-kaarten, mobiele data verbindingen, binnenkomende gesprekken, cameragebruik, nfc-readers en andere sensors. Voor sommige applicaties is dat geen probleem, omdat ze de directe aansturing van deze onderdelen niet vergen, maar de invloed van een binnenkomend gesprek of slechts mobiele verbinding, dienen wel getest te worden.’
‘Daar komt nog bij dat ontwikkelaars veelal een (test-)device heel anders inrichten of gebruiken dan de typische eindgebruiker. Dit verschil is bij zakelijke apps nog groter dan bij consumer apps, aangezien de ontwikkelaar en de tester vaak veel verder van deze eindgebruikers afstaan. Emulators proberen een device te emuleren, maar niet de eindgebruiker. Vraag daarom, wanneer het een zakelijke applicatie betreft, naar het meest gebruikte platform of type device en test hierop.’
Ook is het volgens Vonken niet verstandig om enkel op een blanco test-device te testen. Er kan beter op een device worden getest die al ‘ingeregeld’ is en dus voorzien is van andere software en mogelijk mobile device management (mdm)–beleid en restricties die invloed kunnen hebben op de applicatie en het gebruik ervan. ‘Ook geldt dat voor connectiviteit het beste getest kan worden met opeens wegvallende internetverbindingen.’ Bij deze tests is het volgens Vonken bovendien van belang om je in te leven in de huid van de ‘dummy’ gebruiker. ‘Test niet als ervaren gebruiker die diverse aannames doet. Betrek desnoods een sleutelpersoon van buiten het project.’
2. Test je functionaliteit automatisch
Het testen op mobiele telefoons is erg tijdrovend, zo zegt Niels Verdonk, Agile coach en trainer bij agile42, probeer daarom je functionaliteit automatisch te testen. ‘Dit kan bijvoorbeeld op API-niveau, door enkel de interface van de telefoon met de server te testen. Hierdoor kun je de functionaliteit testen zonder de complexiteit van de user interface. Uiteraard zal het gebruik van unit tests en continuous integration er voor zorgen dat je mogelijke bugs nog eerder vindt. Ook kan de user interface van mobiele applicaties geautomatiseerd getest worden met simulators voor de meeste toestellen, zeker voor iOS en Android.’
Dit betekent overigens niet dat je niet meer op echte toestellen test, zo meent Verdonk. Volgens hem kan je je richten op exploratory testing op deze toestellen, doordat je de grote klappen automatiseert. ‘Je kan dan dus de applicatie ervaren als gebruiker. Kwaliteit is meer dan bugs oplossen.’
3. Houd rekening met Performance en de diversiteit aan apparaten
Er bestaan veel verschillende type en merken (mobiele) smartphones en tablets, zegt Kevin van der Hooft, testconsultant bij Bartosz. ‘Voor een tester is het de taak om vast te stellen dat een applicatie op alle toestellen naar behoren functioneert. Vaak is het financieel onhaalbaar om alle (populaire) toestellen die op de markt zijn te kopen en te testen. Daarom dient de opdrachtgever vooraf expliciet te kiezen welke toestellen en tablets moeten worden ondersteund door de mobiele applicatie (test scope devices). Bij het testen van een app moet je rekening houden met de verschillende toestelspecifieke eigenschappen. Denk hierbij aan het besturingssysteem, de verschillende softwareversies, schermgrootte, features en de gebruikte hardware in het kader van de performance. Vergeet ook de (device)browsers niet.’
Het brede scala aan apparaten dat op de markt wordt aangeboden, varieert volgens Van der Hooft van instapmodellen tot geavanceerde toestellen met snelle processoren en groot geheugen. ‘Deze diversiteit zorgt ervoor dat iedere klasse zich anders gedraagt op het gebied van de performance. Denk aan responsetijden, laden van applicaties, verwerkingstijden, et cetera. Bij de ontwikkeling van apps wordt over het algemeen rekening gehouden met bepaalde responsetijden. Iedereen heeft wel eens een ‘Time-Out’-error gezien als het laden van een website te lang duurt. Voor het gebruikersgemak en juist functioneren van een applicatie is performance testen van essentieel belang. Helaas krijgt deze vorm van testen nog te weinig aandacht in de praktijk.’
4. Kijk goed naar de netwerkuitdagingen
Bij het ontwikkelen van mobiele applicaties krijg je te maken met netwerkuitdagingen, zo gaat Van der Hooft verder. ‘Verschillende netwerktypes, denk hierbij aan gsm, gprs, 3G en het huidige 4G netwerk, kunnen ertoe leiden dat er bijvoorbeeld verschillende verbindingssnelheden binnen de diverse regio’s zijn.’ Applicaties moeten volgens Van der Hooft in deze regio’s worden getest, zodat inzichtelijk wordt hoe ze functioneren met elke netwerkfunctie van iedere netwerkprovider. Daarnaast meent hij dat bijvoorbeeld ook het gedrag van een app bij het wegvallen van een verbinding of het overschakelen van 3G naar Wi-Fi en naar vliegtuigmodus goed moet worden getest. ‘Werkt de app net zo goed met Wi Fi als met een 3G-verbinding? Werkt hij net zo goed op het netwerk van T-Mobile als op het netwerk van Vodafone of KPN? Dit zijn aspecten die de tester dient te verifiëren.’
5. Let op securityaspecten
Ten slotte speelt ook veiligheid een belangrijke rol bij de ontwikkeling van mobiele applicaties, meent Van der Hooft. ‘Om de risico’s te minimaliseren zijn diverse richtlijnen uitgegeven die tijdens het testtraject getoetst moeten worden, bijvoorbeeld door het Nationaal Cyber Security Centrum van de overheid. Denk hierbij aan het lekken van gegevens door de app, afluisteren of modificeren van netwerkverkeer, spyware of phishing. Kan een applicatie gehackt worden? Kunnen persoonlijke gegevens lekken bij het gebruik van een app? Kunnen berichten onderschept worden? Kan ik veilig inloggen? Dit zijn security aspecten waar een tester op let bij het beoordelen van de kwaliteit en veiligheid van een mobiele applicatie.’
Na deze tips is het belangrijk om te weten hoe je applicatie-testing daadwerkelijk in de praktijk brengt. Het whitepaper ‘Mobiel testen: ontwikkel uw strategie!’ bespreekt mobile testing en hoe je een effectieve strategie op kunt zetten die ervoor zorgt dat eindgebruikers uiteindelijk gebruik kunnen maken van een applicatie die precies doet waarvoor deze gemaakt is, bug-vrij en op de platformen en netwerken waar je wilt dat ze op werken.
Lastig hoor als tester :
1) gebruik geen emulator, 2) gebruik wel emulator,
en gaan we binnenkort “designed for zakelijk gebruik in regio Emmen” logo’s zien ? Ook een leuke “Cyber security centrum richtlijnen van de overheid” 🙂