De 5 belangrijkste issues bij het testen van mobiele applicaties
Er wordt veel geschreven over de grote toename van het aantal mobiele applicaties. Van Automatisering, naar Apptomatisering! Deze toename hangt samen met de populariteit van smartphones, tablets en mobiel internetgebruik. Waar voorheen mobiele applicaties vooral ontwikkeld werden voor de consumentenmarkt, worden ‘apps’ nu ook veel ingezet in de dagelijkse bedrijfsvoering van organisaties. Bartosz ICT, gespecialiseerd in software testen, merkt dat in de zakelijke markt mobiele applicaties een belangrijke rol gaan spelen. “Klanten willen met de tijd mee gaan en onderkennen de voordelen van specifieke apps voor hun eigen medewerkers of voor hun klanten.” Met de groei van mobiele applicaties in de consumenten- en zakelijke markt neemt ook de aandacht voor testen toe. ‘Apps’ moeten, net als alle andere software, zorgvuldig getest worden. Bartosz merkt dat haar testconsultants steeds vaker benaderd worden voor het testen van mobiele applicaties. Echter, dit vereist specifieke vaardigheden en kennis van testers. In dit artikel beschrijft Bartosz de 5 belangrijkste issues die testers tegenkomen bij het testen van mobiele applicaties.
1. Performance en de diversiteit aan apparaten
Inmiddels bestaan er veel verschillende type en merken (mobiele) smartphones en tablets. 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. Daarom dient de opdrachtgever vooraf expliciet te kiezen welke toestellen en tablets ondersteund moeten worden. Bij het testen van een app moet je rekening houden met de verschillende toestel specifieke eigenschappen. Denk hierbij aan het besturingssysteem, de verschillende softwareversies, schermgrootte, features en de gebruikte hardware in het kader van de performance.
Het brede scala aan apparaten dat op de markt wordt aangeboden varieert 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. Te denken aan responsetijden, laden van applicaties, verwerkingstijden, etc. 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 app is performance testen van essentieel belang. Helaas krijgt deze vorm testen nog te weinig aandacht in de praktijk.
2. Verschillende besturingssystemen
In de ‘app markt’ bestaan verschillende besturingssystemen, zoals: Android, iOS, Windows Phone, BlackBerry OS en Symbian. Wanneer een app ontwikkeld wordt dient wederom de keuze gemaakt te worden welke software versies en platformen ondersteund moeten worden. De keuzes die hierin gemaakt worden zijn in een later stadium leidend voor de testaanpak. Zo zijn er voor een Android app andere aandachtpunten die specifiek zijn voor dit platform, dan voor een iOS (Apple) app.
3. Schermgrootte en –resolutie
Apps moeten kunnen werken op schermen met verschillende afmetingen en verhoudingen. Dit geldt ook voor de verschillende resoluties (low dpi, medium dpi, high dpi, extra high dpi). Applicaties worden zo ontworpen en ontwikkeld dat ze zich kunnen aanpassen aan de afmetingen van de tablet of smartphone. Wie een groot scherm heeft, krijgt een grote versie van de app te zien. Wie de app start op een mobiele telefoon, ziet een geminimaliseerde versie. Dit wordt ‘responsive design’ genoemd. Het is belangrijk dat dit werkt want het frustreert de gebruiker enorm wanneer hij of zij een app opent en deze niet mooi getoond wordt of zelfs niet functioneert omdat het scherm te klein is. Denk aan een drukknop die half op het scherm wordt getoond en hierdoor niet juist functioneert. Dit is dus een aspect waar zorgvuldig op getest moet worden en waar een tester alert op moet zijn.
4. Netwerkuitdagingen
Bij het ontwikkelen van apps heb je te maken met netwerkuitdagingen. 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 in deze regio’s worden getest, zodat inzichtelijk wordt hoe ze functioneren met elke netwerkfunctie van iedere netwerkprovider. Daarnaast moet 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 getest worden. Werkt de app net zo goed met Wifi 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. Security
Veiligheid speelt een belangrijke rol bij de ontwikkeling van apps. 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.
Door: Sanne Müskens (foto) en Fatih Topcuoglu van Bartosz