Testen is een cruciaal onderdeel van de levenscyclus van een mobiele applicatie. Vanwege alle tijd en moeite die het kost om de volledige cyclus van app-testen te voltooien, wordt het echter vrij vaak over het hoofd gezien door ontwikkelaars. Om een betrouwbare app te maken die prettig in het gebruik is, moet een product in elke fase worden getest.
In wezen is het testproces voor mobiele applicaties vergelijkbaar met het testen van websites. In dit bericht behandelen we alle stadia van het testen van applicaties en beschrijven we hoe je mobiele applicaties kunt testen.
Mobiel testproces
Inhoudsopgave
Toenemende concurrentie op de markten voor mobiele applicaties heeft ontwikkelaars gedwongen om een testroutekaart te maken voordat ze aan een echte sprint beginnen. Een typisch end-to-end testproces bestaat uit verschilende stappen die als volgt verlopen.
Het proces schetsen
Voordat een ontwikkelaar kan beslissen welke use-cases hij handmatig of automatisch gaat testen, is het beter om de lijst met alle te testen cases te schetsen. Maak een testplan voor uw mobiele applicatie met alle use cases die u wilt testen en beschrijf vervolgens kort de tests die u van plan bent uit te voeren en het verwachte resultaat voor de sprint.
Het type mobiele tests kiezen om uit te voeren
Beslissen of een test handmatig of geautomatiseerd zal zijn, is de volgende stap in het mobiele testproces. Hoewel het een uitdagende keuze is om te maken, zijn hier een paar manieren om te beslissen of het testen van mobiele applicaties geautomatiseerd of handmatig moet worden gedaan.
We raden u aan om in de volgende gevallen geautomatiseerd testen te gebruiken:
- U voert regelmatig een use-case uit. Als er routinetests zijn die u regelmatig uitvoert om de basisfunctionaliteit van de app te controleren, overweeg dan om deze te automatiseren. Op de lange termijn loont het automatiseren van routinetaken, omdat u veel tijd bespaart en mogelijke fouten door herhaling voorkomt.
- Als een test een voorspelbare uitkomst heeft. Testautomatisering is een goede keuze voor voorwaardelijke tests (‘als een gebruiker op de knop klikt, wordt het tabblad geopend'). Wanneer een test een voorspelbaar resultaat heeft, is er weinig noodzaak voor een ontwikkelaar om de uitkomst actief te monitoren en het testproces te overzien.
- Automatiseer tests op apparaatfragmentatie. Er is een enorme verscheidenheid aan apparaten en schermafmetingen. Om de compatibiliteit van uw app met een dergelijke reeks hardware te garanderen, zijn veel tests nodig. Het handmatig uitvoeren van zoveel tests is te uitdagend, dus het is beter om handmatige tests te schrijven voor verschillende besturingssystemen of schermafmetingen.
Houd er rekening mee dat kleinere tests gemakkelijker en efficiënter zijn als ze worden geautomatiseerd. U kunt bijvoorbeeld overwegen om geautomatiseerde unit-tests uit te voeren om tijd te besparen, maar het is nog steeds beter om handmatig te werk te gaan bij het back-to-back testen van het systeem.
Testgevallen voorbereiden voor verschillende functionaliteiten
De volgende stap bij het testen van mobiele apps is het definiëren van de cases waarvoor u tests gaat schrijven. Er zijn twee benaderingen voor deze fase:
- op vereisten gebaseerd testen: de prestaties van specifieke app-functies worden getest;
- op bedrijfsscenario's gebaseerde testen: de beoordeling van het systeem wordt uitgevoerd vanuit het bedrijfsperspectief.
Het definiëren van de testgevallen voor mobiele applicaties hangt ook af van het type test dat u wilt uitvoeren. Alle applicatietests zijn onderverdeeld in twee grote groepen: functioneel en niet-functioneel.
Functionele testen omvatten:
- Testen van een eenheid;
- Integratie testen;
- Systeem testen;
- Interface testen;
- Regressietesten;
- Bèta-/acceptatietesten.
Niet-functioneel testen omvat:
- Beveiligingstests;
- Stress testen;
- Volumetesten;
- Prestatietesten;
- Belasting testen;
- Betrouwbaarheidstesten;
- Bruikbaarheidstesten;
- Nalevingstests;
- Lokalisatie testen.
Nadat je hebt besloten welk type test je op de app wilt uitvoeren, is het tijd om verder te gaan met het daadwerkelijke testproces.
Wat voor soort testen is geschikt voor uw mobiele app?
Handmatig testen
Hoewel er ontwikkelaars zijn die de voorkeur geven aan geautomatiseerd testen boven handmatig, wordt het aanbevolen om de combinatie van handmatig en geautomatiseerd testen te gebruiken als het gaat om het Agile-testframework.
Wanneer een ontwikkelaar een testsprint start volgens het mobiele app-testplan, kan hij beter beginnen met verkennend handmatig testen. Handmatig testen vereist ook geen initiële investeringen, wat nog een reden is om er vroeg mee te beginnen.
Zorg voor consistente logs van alle testsessies in een Word- of Excel-document. Als je de mogelijkheid hebt om meerdere testers tegelijk in te schakelen, overweeg dan om gelijktijdig handmatige testsessies uit te voeren om tijd te besparen voor de latere fasen.
Geautomatiseerd testen
Nadat je een paar handmatige testsessies hebt uitgevoerd en de resultatenpatronen en de frequentie waarmee je een test moet uitvoeren hebt gedetecteerd, kun je overwegen de meest routinematige of voorspelbare te automatiseren.
Ook als het gaat om prestatietests, belastingtests , stresstests of spike-tests, is het automatisch uitvoeren van deze tests een gangbare praktijk.
Als het gaat om het testen van automatisering, is het selecteren van de juiste tool essentieel. Er zijn veel keuzes op de markt, dus hier zijn een paar punten waar u rekening mee kunt houden bij het zoeken naar de juiste pasvorm.
- De testtool van uw keuze moet een breed scala aan platforms ondersteunen. Mogelijk moet u uw app voor iOS of Android testen, tests uitvoeren voor verschillende programmeertalen – .NET, C#, enz. Beperkt worden door testtools kan echt een belemmering zijn voor het hele testproject, dus het is beter om een groter bereik te hebben van beschikbare platforms, ook al lijkt het erop dat je op dit moment niet al die tools nodig hebt.
- Het moet rijke functies hebben. Het is erg handig voor een ontwikkelaar om een tool te hebben die het opnemen en afspelen van tests ondersteunt. Dat gezegd hebbende, moet u ervoor zorgen dat u geautomatiseerde tests handmatig kunt schrijven, want soms is dit de enige optie waarmee u de reikwijdte van de app precies kunt targeten.
- Testen zijn herbruikbaar en bestand tegen verandering. Tools waarmee ontwikkelaars herbruikbare, gemakkelijk te onderhouden tests kunnen maken, zijn zeer nuttig, omdat u veel tijd kunt besparen bij het testen van nieuwe projecten.
Bruikbaarheid en bètatests
Er is een algemene misvatting dat bètatests bruikbaarheidstests kunnen vervangen, omdat ze dezelfde problemen opsporen. Onze ervaring leert echter dat het de moeite waard is om beide uit te voeren.
Start een sprint met een usability testsessie.
- Start een sprint met een usability testsessie. Tijdens de ontwerpfase is het zeer nuttig om wat bekendheid te krijgen van echte gebruikers. Met een bruikbaarheidstest kunnen ontwikkelaars potentiële functies laten zien en de lijst verfijnen tot degenen die goed zijn ontvangen door de gebruikers.
- Beta-testen is daarentegen beter geschikt wanneer een product klaar is en u feedback over het hele systeem wilt krijgen voordat u het lanceert. Net als bij bruikbaarheidstests, stellen bètatests ontwikkelaars in staat te begrijpen welke functies gebruikers nodig hebben, wat handig is bij het beslissen welke richting de app in de toekomst moet uitgaan.
Al met al zijn zowel bruikbaarheid als bètatests de moeite waard. Er is echter het verschil tussen de twee: bruikbaarheidstesten geven vooral aan of een functie werkt, terwijl bètatests een ontwikkelaar inzicht geven of mensen een bepaalde applicatiefunctie vaak zullen gebruiken of niet.
Prestatietests
Nadat u de prestaties van uw toepassingen functie-voor-functie hebt getest, is het tijd om de prestaties van het hele systeem te beoordelen. Dat is wanneer mobiele prestatietests in het spel komen. Het helpt om de snelheid, schaalbaarheid, stabiliteit onder de grote hoeveelheid verkeer te evalueren en het controleert de app op systeemfouten of afwijkingen .
Bepaal, voordat u begint met het testen van de prestaties van uw app , de mogelijkheden die de toepassing zou moeten bieden, evenals de beoogde gebruiksscenario's en de gunstige voorwaarden waaronder het systeem zou streven.
Hoewel prestatietests normaal gesproken pas later in het algemene testkader komen, is het ook een solide strategie om er vroeg mee te beginnen en prestatietestsprints samen met unit-testen uit te voeren.
Zorg ervoor dat u realistische benchmarks instelt om de efficiëntie van prestatietests te beoordelen. Hoewel het verleidelijk is om de app te beoordelen vanuit het perspectief van een ontwikkelaar, moet je er zoveel mogelijk afstand van nemen en de app zien als zijn gebruiker.
Beveiligings- en nalevingstests
Er zijn veel richtlijnen voor gegevensbeveiliging waaraan mobiele apps moeten voldoen. Afhankelijk van de functies van uw app, moeten er verschillende normen voor gegevensbeveiliging worden geïmplementeerd. Dit zijn de meest voorkomende beveiligingsrichtlijnen:
- PCI DSS – de reeks gegevensbeveiligingsvereisten voor mobiele applicaties die betalingen accepteren;
- HIPAA – beveiligingspraktijken voor mobiele zorgapplicaties die medische gegevens verzamelen, opslaan of verwerken;
- FFIEC – een reeks richtlijnen die bank- en financiële instellingen verplichten controle- en beveiligingsmaatregelen te nemen om gevoelige financiële gegevens te beschermen.
Bij het uitvoeren van beveiligingstests is het belangrijk om aandacht te besteden aan de industriestandaarden en deze richtlijnen te vertalen naar praktische maatregelen.
Ook moet een beveiligingstester klaar zijn om met uitzonderingen en onvoorspelbare situaties om te gaan. Elke beveiligingspraktijk moet nauwkeurig worden gedocumenteerd voor het geval deze moet worden beoordeeld door een controlerend orgaan.
Definitieve versie release
Nadat alles is gedaan, voeren ontwikkelaars een end-to-end testsprint uit om ervoor te zorgen dat de applicatie correct werkt op back-end- en serverniveau en klaar is om te worden geüpload.
Als er geen grote bugs worden gevonden, geven ontwikkelaars een applicatie vrij in app stores. Als er problemen zijn met de app, worden deze opgelost en wordt de end-to-end testsprint herhaald.
Conclusie
Het testen van mobiele applicaties is een essentieel onderdeel van de gehele levenscyclus van applicaties. Succesvol testen zorgt voor efficiënte en plezierige prestaties van het hele systeem, evenals naleving van beveiligingsrichtlijnen.
Heb je hier hulp bij nodig dan kun je altijd contact opnemen met de specialisten van Fisherland.