Een veelgestelde vraag van onze cursisten is hoe mobiele apps te testen? In deze zelfstudie bieden we voorbeeldtestscenario's / testcases voor het testen van een mobiele applicatie.
U kunt sommige of alle testcases uitvoeren op basis van uw mobiele testvereisten. Testcases zijn georganiseerd op basis van mobiele testtypen.
- Testcases voor functioneel testen
- Prestatietests
- Testcases voor beveiligingstests
- Testcases voor het testen van de bruikbaarheid
- Testcases voor compatibiliteitstesten
- Herstelbaarheid testen van testgevallen
- Belangrijke checklist
Functioneel testen van mobiele applicaties
Het functionele testen van mobiele applicaties is een proces van het testen van functionaliteiten van mobiele applicaties, zoals gebruikersinteracties, en het testen van de transacties die gebruikers zouden kunnen uitvoeren. Het belangrijkste doel van functionele testen van mobiele applicaties is om de kwaliteit te waarborgen, aan de gespecificeerde verwachtingen te voldoen, het risico op fouten en klanttevredenheid te verminderen.
De verschillende factoren die relevant zijn bij functioneel testen zijn
- Type applicatie op basis van het gebruik van de zakelijke functionaliteit (bankieren, gamen, sociaal of zakelijk)
- Type doelgroep (consument, onderneming, onderwijs)
- Distributiekanaal dat wordt gebruikt om de applicatie te verspreiden (bijvoorbeeld Apple App Store, Google play, directe distributie)
De meest fundamentele testscenario's bij het functionele testen kunnen worden beschouwd als:
- Om te valideren of alle verplichte verplichte velden werken zoals vereist.
- Om te valideren dat de verplichte velden op een onderscheidende manier op het scherm worden weergegeven dan de niet-verplichte velden.
- Om te valideren of de applicatie werkt zoals vereist wanneer de applicatie start / stopt.
- Om te valideren of de applicatie naar de geminimaliseerde modus gaat wanneer er een inkomend telefoongesprek is. Om hetzelfde te valideren, moeten we een tweede telefoon gebruiken om het apparaat te bellen.
- Om te controleren of de telefoon sms-berichten kan opslaan, verwerken en ontvangen wanneer de app actief is. Om hetzelfde te valideren, hebben we een tweede telefoon nodig om sms te sturen naar het apparaat dat wordt getest en waar de te testen applicatie momenteel actief is.
- Om te valideren dat het apparaat in staat is om de vereiste multitaskingvereisten uit te voeren wanneer dat nodig is.
- Om te valideren dat de applicatie de nodige sociale netwerkopties toestaat, zoals delen, posten en navigeren enz.
- Om te valideren dat de applicatie elke betalingsgateway-transactie ondersteunt, zoals Visa, Mastercard, Paypal enz. Zoals vereist door de applicatie.
- Om te valideren dat de scenario's voor het scrollen van pagina's in de toepassing worden ingeschakeld, indien nodig.
- Om te valideren dat de navigatie tussen relevante modules in de applicatie voldoet aan de vereisten.
- Om te valideren dat de afkappingsfouten absoluut tot een betaalbare limiet zijn.
- Om te valideren dat de gebruiker een passend foutbericht ontvangt, zoals “Netwerkfout. Probeer het na enige tijd ”telkens als er een netwerkfout is.
- Om te valideren dat de geïnstalleerde applicatie andere applicaties in staat stelt om naar tevredenheid te werken, en het niet in het geheugen van de andere applicaties.
- Om te valideren dat de toepassing wordt hervat bij de laatste bewerking in geval van een harde herstart of een systeemcrash.
- Om te valideren of de installatie van de applicatie soepel verloopt, op voorwaarde dat de gebruiker over de nodige middelen beschikt en dit niet tot significante fouten leidt.
- Om te valideren dat de applicatie een automatische startfunctie uitvoert volgens de vereisten.
- Om te valideren of de applicatie presteert volgens de vereiste in alle versies van Mobile, dat wil zeggen 2g, 3g en 4g.
- Om regressietests uit te voeren om nieuwe softwarefouten op te sporen in bestaande delen van een systeem nadat er wijzigingen in zijn aangebracht. Voer ook eerder uitgevoerde tests opnieuw uit om te bepalen of het gedrag van het programma niet is veranderd als gevolg van de wijzigingen.
- Om te valideren of de applicatie een beschikbare gebruikershandleiding biedt voor degenen die niet bekend zijn met de app
Testcases voor prestatietests
Het fundamentele doel van dit type testen is ervoor te zorgen dat de applicatie acceptabel presteert onder bepaalde prestatievereisten, zoals toegang door een groot aantal gebruikers of het verwijderen van een belangrijk onderdeel van de infrastructuur, zoals een databaseserver.
De algemene testscenario's voor prestatietests in een mobiele applicatie zijn:
- Om te bepalen of de applicatie presteert volgens de vereisten onder verschillende belastingsomstandigheden.
- Om te bepalen of de huidige netwerkdekking de applicatie kan ondersteunen op piek-, gemiddelde en minimale gebruikersniveaus.
- Om te bepalen of de bestaande client-serverconfiguratie het vereiste optimale prestatieniveau biedt.
- Het identificeren van de verschillende applicatie- en infrastructuurknelpunten die verhinderen dat de applicatie presteert op het vereiste aanvaardbaarheidsniveau.
- Om te valideren of de responstijd van de applicatie voldoet aan de vereisten.
- Om product en / of hardware te evalueren om te bepalen of het geprojecteerde laadvolumes aankan.
- Om te evalueren of de levensduur van de batterij de applicatie kan ondersteunen om te presteren onder geprojecteerde belastingsvolumes.
- Om de prestaties van de applicatie te valideren wanneer het netwerk wordt gewijzigd van 2G / 3G naar WIFI of vice versa.
- Om elk van de vereisten te valideren, is de CPU-cyclus optimalisatie
- Om te valideren dat het batterijverbruik, geheugenlekken, bronnen zoals GPS, cameraprestaties ruim binnen de vereiste richtlijnen vallen.
- Om de levensduur van de applicatie te valideren wanneer de belasting van de gebruiker rigoureus is.
- Om de netwerkprestaties te valideren terwijl u zich met het apparaat verplaatst.
- Om de prestaties van de applicatie te valideren wanneer alleen intermitterende fasen van connectiviteit vereist zijn.
Testcases voor beveiligingstests
Het fundamentele doel van beveiligingstests is ervoor te zorgen dat aan de gegevens- en netwerkbeveiligingsvereisten van de toepassing wordt voldaan volgens de richtlijnen.
Hieronder volgen de meest cruciale gebieden voor het controleren van de beveiliging van mobiele applicaties.
- Om te valideren dat de applicatie bestand is tegen elke brute force-aanval, is dit een geautomatiseerd proces van vallen en opstaan dat wordt gebruikt om de gebruikersnaam, het wachtwoord of het creditcardnummer van een persoon te raden.
- Om te valideren of een toepassing een aanvaller geen toegang geeft tot gevoelige inhoud of functionaliteit zonder de juiste authenticatie.
- Om te valideren dat de applicatie een sterk wachtwoordbeveiligingssysteem heeft en dat een aanvaller het wachtwoord van een andere gebruiker niet kan verkrijgen, wijzigen of herstellen.
- Om te valideren dat de applicatie niet lijdt aan onvoldoende verlopen van de sessie.
- Om de dynamische afhankelijkheden te identificeren en maatregelen te nemen om te voorkomen dat een aanvaller toegang krijgt tot deze kwetsbaarheden.
- Om aanvallen die verband houden met SQL-injectie te voorkomen.
- Om eventuele onbeheerde codescenario's te identificeren en te herstellen.
- Om er zeker van te zijn dat de certificaten gevalideerd zijn, implementeert de applicatie Certificate Pinning of niet.
- Om de applicatie en het netwerk te beschermen tegen denial of service-aanvallen.
- Om de vereisten voor gegevensopslag en gegevensvalidatie te analyseren.
- Om sessiebeheer in te schakelen om te voorkomen dat onbevoegde gebruikers toegang krijgen tot ongevraagde informatie.
- Om te controleren of er een cryptografische code is verbroken en ervoor te zorgen dat deze is gerepareerd.
- Om te valideren of de implementatie van de bedrijfslogica is beveiligd en niet kwetsbaar voor aanvallen van buitenaf.
- Bepaal eventuele kwetsbaarheden en corrigeer deze problemen om de interacties tussen bestandssystemen te analyseren.
- Om de protocolhandlers te valideren, bijvoorbeeld door de standaardlandingspagina voor de applicatie opnieuw te configureren met behulp van een kwaadaardig iframe.
- Ter bescherming tegen kwaadwillende injecties aan de clientzijde.
- Ter bescherming tegen kwaadwillende runtime-injecties.
- Om de caching van bestanden te onderzoeken en eventuele kwaadaardige mogelijkheden hiervan te voorkomen.
- Om onveilige gegevensopslag in de toetsenbordcache van de applicaties te voorkomen.
- Om cookies te onderzoeken en kwaadwillende daden van de cookies te voorkomen.
- Om regelmatige audits uit te voeren voor analyse van gegevensbescherming.
- Onderzoek op maat gemaakte bestanden en voorkom kwaadwillende daden van de op maat gemaakte bestanden.
- Om bufferoverlopen en gevallen van geheugenbeschadiging te voorkomen.
- Om verschillende datastromen te analyseren en eventuele kwetsbaarheden hieruit te voorkomen.
Testcases voor het testen van de bruikbaarheid
Het bruikbaarheidstestproces van de mobiele applicatie wordt uitgevoerd om een snelle en gemakkelijke stappentoepassing te hebben met minder functionaliteit dan een langzame en moeilijke applicatie met veel functies. Het belangrijkste doel is ervoor te zorgen dat we uiteindelijk een gebruiksvriendelijke, intuïtieve interface hebben die lijkt op de door de industrie geaccepteerde interfaces die veel worden gebruikt.
- Om ervoor te zorgen dat de knoppen de vereiste maat hebben en geschikt zijn voor grote vingers.
- Om ervoor te zorgen dat de knoppen in hetzelfde gedeelte van het scherm worden geplaatst om verwarring bij de eindgebruikers te voorkomen.
- Om ervoor te zorgen dat de pictogrammen natuurlijk zijn en consistent met de toepassing.
- Om ervoor te zorgen dat de knoppen, die dezelfde functie hebben, ook dezelfde kleur moeten hebben.
- Om er zeker van te zijn dat de validatie voor de tikken zoom-in en zoom-out faciliteiten moet zijn ingeschakeld.
- Om ervoor te zorgen dat de toetsenbordinvoer op de juiste manier kan worden geminimaliseerd.
- Om ervoor te zorgen dat de applicatie een methode biedt om terug te gaan of een actie ongedaan te maken door het verkeerde item aan te raken, binnen een acceptabele duur.
- Om ervoor te zorgen dat de contextuele menu's niet overbelast raken omdat ze snel moeten worden gebruikt.
- Om ervoor te zorgen dat de tekst eenvoudig en duidelijk wordt gehouden om zichtbaar te zijn voor de gebruikers.
- Om ervoor te zorgen dat de korte zinnen en alinea's leesbaar zijn voor de eindgebruikers.
- Om ervoor te zorgen dat de lettergrootte groot genoeg is om leesbaar te zijn en niet te groot of te klein.
- Om de toepassing te valideren, wordt de gebruiker gevraagd wanneer de gebruiker begint met het downloaden van een grote hoeveelheid gegevens die mogelijk niet bevorderlijk zijn voor de prestaties van de toepassing.
- Om te valideren dat het sluiten van de applicatie wordt uitgevoerd vanuit verschillende statussen en om te controleren of het opnieuw wordt geopend in dezelfde staat.
- Om ervoor te zorgen dat alle strings worden omgezet in de juiste talen wanneer er een taalvertaalfaciliteit beschikbaar is.
- Om ervoor te zorgen dat de applicatie-items altijd worden gesynchroniseerd volgens de gebruikersacties.
- Om ervoor te zorgen dat de eindgebruiker wordt voorzien van een gebruikershandleiding die de eindgebruiker helpt de applicatie te begrijpen en te bedienen die mogelijk niet bekend is met de procedure van de applicatie
Bruikbaarheidstests worden normaal gesproken uitgevoerd door handmatige gebruikers, aangezien alleen mensen de gevoeligheid en het comfort van de andere gebruikers kunnen begrijpen.
Testcases voor compatibiliteitstesten
Compatibiliteitstests op mobiele apparaten worden uitgevoerd om ervoor te zorgen dat, aangezien mobiele apparaten verschillende grootte, resolutie, scherm, versie en hardware hebben, de applicatie op alle apparaten moet worden getest om er zeker van te zijn dat de applicatie naar wens werkt.
De volgende zijn de meest prominente gebieden voor compatibiliteitstests.
- Om te valideren dat de gebruikersinterface van de applicatie overeenkomt met de schermgrootte van het apparaat, is geen tekst / controle gedeeltelijk onzichtbaar of ontoegankelijk.
- Om ervoor te zorgen dat de tekst leesbaar is voor alle gebruikers van de applicatie.
- Om ervoor te zorgen dat de oproep- / alarmfunctie is ingeschakeld wanneer de applicatie wordt uitgevoerd. De toepassing wordt geminimaliseerd of onderbroken bij een oproep, en wanneer de oproep stopt, wordt de toepassing hervat.
Herstelbaarheid testen van testgevallen
- Crashherstel en transactie-onderbrekingen
- Validatie van de effectieve situatie voor applicatieherstel na onverwachte onderbrekingen / crashscenario's.
- Verificatie van hoe de applicatie een transactie afhandelt tijdens een stroomstoring (dat wil zeggen dat de batterij leeg raakt of een plotselinge handmatige uitschakeling van het apparaat)
- De validatie van het proces waarbij de verbinding is onderbroken, het systeem moet opnieuw tot stand worden gebracht om de gegevens te herstellen die rechtstreeks door de onderbroken verbinding worden beïnvloed.
Belangrijke checklist
- Installatietesten (of de applicatie binnen een redelijke tijd en met het vereiste criterium kan worden geïnstalleerd)
- Verwijderen testen (of de applicatie binnen een redelijke tijd en met het vereiste criterium kan worden verwijderd)
- Netwerktestgevallen (validatie of het netwerk presteert onder de vereiste belasting of niet, of het netwerk in staat is om alle benodigde applicaties te ondersteunen tijdens de testprocedures)
- Controleer niet-toegewezen sleutels
- Controleer het opstartscherm van de applicatie
- Voortdurende invoer via het toetsenbord tijdens onderbrekingen en andere tijden, zoals netwerkproblemen
- Methoden die betrekking hebben op het afsluiten van de applicatie
- Opladereffect terwijl een applicatie op de achtergrond wordt uitgevoerd
- Lage batterij en hoge prestatievereisten
- Verwijderen van batterij terwijl een applicatie wordt uitgevoerd
- Verbruik van batterij door toepassing
- Controleer de bijwerkingen van de applicatie