In het laatste decennium is er een proliferatie geweest van smartphone gebruikers. Vandaag de dag brengen Amerikaanse burgers meer tijd door op mobiele apparaten dan op de televisie.
Bron – eMarketer.com
Smartphone-gebruikers besteden overwegend tijd aan mobiele applicaties. Het ontwikkelen van een geweldige mobiele app-ervaring is dus essentieel. Om ervoor te zorgen dat hun apps naadloos werken op Android en iOS, is het van cruciaal belang dat ze goed worden getest voordat ze worden vrijgegeven in de respectieve app stores.
In dit artikel bespreken we de beste praktijken voor het testen van mobiele applicaties. We zullen het hebben over de meest populaire test frameworks en zien hoe je een aantal van hen kunt gebruiken, zoals Appium, Selendroid.
Automatische Mobiele Applicatie Test Frameworks
Er zijn veel frameworks en tools die worden gebruikt voor het testen van mobiele applicaties. Enkele van de meest populaire zijn:
Appium
Appium is een populaire open-source tool die wordt gebruikt voor het geautomatiseerd testen van mobiele applicaties. Een ontwikkelaar kan zijn native of hybride iOS en Android applicaties testen met Appium. Appium werkt niet alleen. Het voert de testgevallen uit met behulp van de WebDriver-interface. Omdat het meerdere platforms ondersteunt, kunnen testers ook hun broncode hergebruiken voor het testen op iOS en Android.
Run je Appium-tests op echte Android & iOS-apparaten
Test dagelijks 100 minuten gratis.
Calabash
Calabash is een raamwerk voor het testen van mobiele applicaties dat werkt met meerdere talen. Het ondersteunt Ruby, Java, Flex, en .NET. Testers kunnen gebruik maken van API’s voor het mogelijk maken van native applicaties die draaien op apparaten met een aanraakscherm. Dit framework heeft bibliotheken waarmee testscripts programmatisch kunnen interacteren met native en hybride apps.
Selendroid
Selendroid is ook bekend als selenium voor mobiele apps voor Android. Testers kunnen native en hybride mobiele applicaties testen met behulp van Selendroid. Selendroid kan parallelle testcases uitvoeren op meerdere apparaten, vergelijkbaar met Selenium voor cross browser testen.
Espresso
Espresso is een handig testframework voor het automatiseren van User Interface (UI) testen van een mobiele app. Aangezien het testen van de gebruikersinterface van een applicatie essentieel is voordat deze wordt uitgerold, maken app-ontwikkelaars en app-testers op grote schaal gebruik van Espresso. Ontwikkelaars kunnen een scenario creëren en vastleggen hoe ze met een apparaat communiceren. Vervolgens kunnen ze asserties toevoegen die het gedrag van de UI-elementen van de app verifiëren door snapshots vast te leggen. De tool slaat de opnames op en genereert UI test cases die ze kunnen gebruiken om hun applicatie te testen.
Robotium
Robotium is een populaire open-source tool speciaal voor het testen van android applicaties. De testcases zijn geschreven in Java. Robotium is populair vanwege zijn vermogen om geautomatiseerde black-box testcases te schrijven. Het automatiseert meerdere activiteiten die een tester kan uitvoeren op hun android app en neemt minimale tijd in beslag om testgevallen te schrijven.
Anders dan deze, zijn er andere populaire tools zoals Monkeytalk, Testdroid, Frank, UIAutomator.
Tips en best practices voor het geautomatiseerd testen van mobiele apps
Hieronder staan enkele best practices die engineeringteams zouden moeten volgen als ze nadenken over het geautomatiseerd testen van mobiele applicaties :
- Maak de applicatie testbaar
In het huidige agile tijdperk moeten ontwikkelaars applicaties bouwen die klaar zijn om te worden getest. Ontwikkelaars moeten actief overleggen met testteams om richtlijnen op te stellen. Ontwikkelaars moeten elementen bijvoorbeeld een unieke ID geven om ze testbaar te maken.
- Gebruik XPath niet te veel
XPath is een querytaal waarmee knooppunten in een XML-bestand kunnen worden geselecteerd. Het kan worden gebruikt om tijdens het testen door elementen te navigeren. Google of Apple bieden van nature geen query’s van het type XPath. Dus als testers ze veel gebruiken, is Appium genoodzaakt om een aantal calls te maken. Deze calls onder de motorkap vinden XPath-ondersteunende elementen, maar hebben een negatieve invloed op de prestaties.
- Arrange Selectors in the Right Order
XPath is locatiegebaseerd. Het is traag in vergelijking met de andere locators in selenium, zoals ID, Link Text of Name. Rangschik de selectors zodanig dat ID als eerste komt en XPath als laatste, zodat elementen sneller worden geïdentificeerd.
- Gebruik toegankelijkheid ID’s
In plaats van XPath overmatig te gebruiken, kunnen testers gebruikmaken van toegankelijkheid ID-locators. Als gebruikers toegankelijkheids-ID’s op hun elementen zetten, worden ze beter testbaar en wordt het testbereik van hun applicatie groter.
- Overweeg de View states van de applicatie
View state is een techniek die wordt gebruikt om de waarde van de pagina op te slaan wanneer de applicatie informatie van de server verzendt of ontvangt. Stel dat er 15 testgevallen zijn voor specifieke functionaliteit van de applicatie. Daarvan herhalen 10 testgevallen dezelfde functionaliteit van inloggen en naar de pagina gaan. Deze duplicatie is een enorme tijdverspilling. Stel tijdens het ontwikkelen de view state van de applicatie zo in dat het testen precies daar begint waar het nodig is.
- Geen compromissen sluiten met emulators en simulators
Emulators en simulators bootsen echte apparaten gedeeltelijk na. De prestaties van een applicatie variëren echter op basis van de software- en hardwareconfiguratie van de echte apparaten van de gebruikers. Het testen van mobiele applicaties op echte apparaten is dus een must. Zelfs Google en Apple adviseren dit te doen voordat apps worden ingediend bij de Google Play en App Store.
Een optimale manier om een maximaal bereik te krijgen is het gebruik van een cloud-gebaseerd testproduct zoals BrowserStack, dat toegang biedt tot meer dan 2000 echte apparaten voor iOS en Android.
Start gratis met cloud-gebaseerd testen
Samenvattend
Met de toename van de smartphone penetratie en de tijd die op mobiele apparaten wordt doorgebracht, is het waarborgen van een naadloze mobiele app ervaring van cruciaal belang. Om dit te bereiken, moeten teams het juiste testframework gebruiken. Populaire testautomatiseringsframeworks zijn Appium, Calabash en Selendroid. Ontwikkelteams moeten ook rekening houden met best practices en moeten actief samenwerken met testteams om ervoor te zorgen dat ze applicaties bouwen die gemakkelijker te testen zijn. Testen moet ook worden gedaan op echte apparaten in plaats van emulatoren en simulatoren. Dit alles zal teams helpen om apps sneller te verschepen en gebruikers een bug-vrije ervaring te geven.