Et hyppig spørsmål fra læreren vår er Hvordan teste Mobile Apps? I denne opplæringen gir vi eksempler på testscenario / testtilfeller for testing av en mobilapplikasjon.
Du kan utføre noen eller alle testtilfeller basert på dine mobile testkrav. Test tilfeller er organisert basert på mobile testtyper.
- Funksjonstesting Test tilfeller
- Ytelsestesting
- Sikkerhetstest Test tilfeller
- Usability Testing Test Cases
- Kompatibilitetstesting Testtilfeller
- Testsaker for utvinnbarhetstesting
- Viktig sjekkliste
Funksjonell testing av mobilapplikasjon
Den Functional Testing av Mobile Application er en prosess for å teste funksjonaliteten til mobile applikasjoner som brukerinteraksjon samt teste transaksjoner som brukerne kan utføre. Hovedformålet med funksjonstesting av mobilapplikasjoner er å sikre kvaliteten, oppfylle de spesifiserte forventningene, redusere risikoen eller feilene og kundetilfredsheten.
De forskjellige faktorene som er relevante i funksjonstesting er
- Type applikasjon basert på forretningsfunksjonalitetsbruken (bank, spill, sosial eller virksomhet)
- Målgruppetype (forbruker, bedrift, utdanning)
- Distribusjonskanal som brukes til å spre applikasjonen (f.eks. Apple App Store, Google play, direkte distribusjon)
De mest grunnleggende testscenariene i funksjonstesting kan betraktes som:
- For å validere om alle obligatoriske obligatoriske felt fungerer etter behov.
- For å validere at obligatoriske felt vises på skjermen på en særegen måte enn de ikke-obligatoriske feltene.
- For å validere om applikasjonen fungerer etter behov når applikasjonen starter / stopper.
- For å validere om applikasjonen går i minimert modus når det er en innkommende telefonsamtale. For å validere det samme, må vi bruke en annen telefon for å ringe enheten.
- For å validere om telefonen er i stand til å lagre, behandle og motta SMS når appen kjører. For å validere det samme må vi bruke en annen telefon til å sende sms til enheten som testes og hvor applikasjonen som testes for øyeblikket kjører.
- For å validere at enheten er i stand til å utføre nødvendige multitasking-krav når det er nødvendig å gjøre det.
- For å validere at applikasjonen tillater nødvendige sosiale nettverksalternativer som deling, innlegg og navigering etc.
- For å bekrefte at applikasjonen støtter alle betalingsgateway-transaksjoner som Visa, Mastercard, Paypal osv. Slik det kreves av applikasjonen.
- For å validere at siderullingsscenariene blir aktivert i applikasjonen etter behov.
- For å validere at navigasjonen mellom relevante moduler i applikasjonen er i samsvar med kravet.
- For å validere at avkortingsfeilene absolutt er til en overkommelig grense.
- For å validere at brukeren mottar en passende feilmelding som “Nettverksfeil. Prøv etter en stund ”når det er noen nettverksfeil.
- For å validere at det installerte programmet gjør det mulig for andre applikasjoner å fungere tilfredsstillende, og det spiser ikke inn i minnet til de andre programmene.
- For å validere at applikasjonen gjenopptas ved den siste operasjonen i tilfelle en hard omstart eller systemkrasj.
- For å validere om installasjonen av applikasjonen kan gjøres greit forutsatt at brukeren har de nødvendige ressursene og det ikke fører til noen vesentlige feil.
- For å validere at applikasjonen utfører automatisk startfasilitet i henhold til kravene.
- For å validere om applikasjonen presterer i henhold til kravet i alle versjoner av Mobile som er 2g, 3g og 4g.
- Å utføre regresjonstesting for å avdekke nye programvarefeil i eksisterende områder av et system etter at det er gjort endringer i dem. Gjør også tidligere utførte tester for å fastslå at programatferden ikke har endret seg på grunn av endringene.
- For å validere om applikasjonen gir en tilgjengelig brukerhåndbok for de som ikke er kjent med appen
Ytelsestesting Test tilfeller
Denne typen testing har som grunnleggende mål å sikre at applikasjonen fungerer akseptabelt under visse ytelseskrav, for eksempel tilgang fra et stort antall brukere eller fjerning av en sentral infrastrukturdel som en databaseserver.
De generelle testscenariene for ytelsestesting i en mobilapplikasjon er:
- For å avgjøre om applikasjonen fungerer i henhold til kravet under forskjellige belastningsforhold.
- For å avgjøre om den nåværende nettverksdekningen er i stand til å støtte applikasjonen på topp, gjennomsnitt og minimum brukernivå.
- For å avgjøre om det eksisterende konfigurasjonsoppsettet til klientserveren gir det nødvendige ytelsesnivået.
- Å identifisere de forskjellige applikasjons- og infrastrukturflaskehalsene som forhindrer at applikasjonen fungerer på de nødvendige akseptasjonsnivåene.
- For å validere om responstiden for søknaden er i samsvar med kravene.
- For å evaluere produkt og / eller maskinvare for å avgjøre om det kan håndtere projiserte lastvolum.
- For å evaluere om batterilevetiden kan støtte applikasjonen til å yte under anslått volum.
- For å validere applikasjonsytelsen når nettverket endres til WIFI fra 2G / 3G eller omvendt.
- For å validere hvert av kravene er CPU-syklusen optimalisering
- For å bekrefte at batteriforbruket, minnelekkasjer, ressurser som GPS, kameraytelse er innenfor de nødvendige retningslinjene.
- For å validere applikasjonens levetid når brukerbelastningen er streng.
- For å validere nettverksytelsen mens du beveger deg rundt med enheten.
- For å validere applikasjonsytelsen når bare periodiske tilkoblingsfaser er påkrevd.
Sikkerhetstest Test tilfeller
Det grunnleggende målet med sikkerhetstesting er å sikre at applikasjonens data- og nettverkssikkerhetskrav blir oppfylt i henhold til retningslinjene.
Følgende er de mest avgjørende områdene for å sjekke sikkerheten til mobilapplikasjoner.
- For å validere at applikasjonen er i stand til å tåle ethvert brute force-angrep som er en automatisert prøve- og feilprosess som brukes til å gjette en persons brukernavn, passord eller kredittkortnummer.
- For å validere om et program ikke tillater en angriper å få tilgang til sensitivt innhold eller funksjonalitet uten riktig autentisering.
- For å validere at applikasjonen har et sterkt passordbeskyttelsessystem, og det tillater ikke en angriper å få, endre eller gjenopprette passordet til en annen bruker.
- For å validere at applikasjonen ikke lider av utilstrekkelig øktutløp.
- Å identifisere de dynamiske avhengighetene og ta tiltak for å forhindre at angriper får tilgang til disse sårbarhetene.
- For å forhindre SQL-injeksjonsrelaterte angrep.
- Å identifisere og gjenopprette fra ubehandlede kodescenarier.
- For å sikre om sertifikatene er validert, implementerer applikasjonen Certificate Pinning eller ikke.
- For å beskytte applikasjonen og nettverket mot tjenestenektangrep.
- Å analysere datalagring og datavalideringskrav.
- For å aktivere øktadministrasjonen for å hindre uautoriserte brukere i å få tilgang til uønsket informasjon.
- For å sjekke om kryptografikode er ødelagt og sikre at den blir reparert.
- Å validere om implementeringen av forretningslogikken er sikret og ikke sårbar for angrep utenfra.
- For å analysere filsysteminteraksjoner, bestem eventuelt sårbarhet og korriger disse problemene.
- For å validere protokollhåndtererne for eksempel å prøve å konfigurere standard destinasjonssiden for applikasjonen ved hjelp av en ondsinnet iframe.
- For å beskytte mot skadelige klientsideinjeksjoner.
- For å beskytte mot skadelige kjøretidsinjeksjoner.
- For å undersøke caching av filer og forhindre skadelige muligheter fra det samme.
- For å forhindre usikker datalagring i programmets tastaturbuffer.
- For å undersøke informasjonskapsler og forhindre skadelige handlinger fra informasjonskapslene.
- Å gi regelmessige revisjoner for databeskyttelsesanalyse.
- Undersøk egendefinerte filer og hindre ondsinnede handlinger fra de tilpassede filene.
- For å forhindre bufferoverløp og minnekorrupsjonssaker.
- Å analysere forskjellige datastrømmer og forhindre sårbarheter fra disse.
Usability Testing Test Cases
Brukervennlighetstestingsprosessen til mobilapplikasjonen utføres for å ha en rask og enkel trinnapplikasjon med mindre funksjonalitet enn en langsom og vanskelig applikasjon med mange funksjoner. Hovedmålet er å sikre at vi ender med å ha en brukervennlig, intuitiv og lik bransje-aksepterte grensesnitt som er mye brukt.
- For å sikre at knappene har ønsket størrelse og passer til store fingre.
- For å sikre at knappene er plassert i samme del av skjermen for å unngå forvirring for sluttbrukerne.
- For å sikre at ikonene er naturlige og i samsvar med applikasjonen.
- For å sikre at knappene, som har samme funksjon, også skal ha samme farge.
- For å sikre at valideringen for inn- og utzoomingsfasilitetene for tapping skal være aktivert.
- For å sikre at tastaturinngangen kan minimeres på en passende måte.
- For å sikre at applikasjonen gir en metode for å gå tilbake eller angre en handling, ved å berøre feil element, innen en akseptabel varighet.
- For å sikre at kontekstmenyene ikke blir overbelastet fordi de må brukes raskt.
- For å sikre at teksten holdes enkel og oversiktlig for å være synlig for brukerne.
- For å sikre at korte setninger og avsnitt er lesbare for sluttbrukerne.
- For å sikre at skriftstørrelsen er stor nok til å være lesbar og ikke for stor eller for liten.
- For å validere applikasjonen ber brukeren hver gang brukeren begynner å laste ned en stor mengde data som kanskje ikke er gunstig for applikasjonsytelsen.
- For å validere at lukkingen av applikasjonen utføres fra forskjellige tilstander og kontrollere om den åpnes på nytt i samme tilstand.
- For å sikre at alle strengene blir konvertert til passende språk når et språkoversettelsesanlegg er tilgjengelig.
- For å sikre at applikasjonselementene alltid synkroniseres i henhold til brukerhandlingene.
- For å sikre at sluttbrukeren får en brukerhåndbok som hjelper sluttbrukeren med å forstå og betjene applikasjonen som kanskje ikke er kjent med applikasjonens prosesser
Brukervennlighetstesting utføres normalt av manuelle brukere, siden bare mennesker kan forstå følsomheten og komforten til de andre brukerne.
Kompatibilitetstesting Testtilfeller
Kompatibilitetstesting på mobile enheter utføres for å sikre at siden mobile enheter har ulik størrelse, oppløsning, skjerm, versjon og maskinvare, bør applikasjonen testes på tvers av alle enhetene for å sikre at applikasjonen fungerer som ønsket.
Følgende er de mest fremtredende områdene for kompatibilitetstesting.
- For å bekrefte at brukergrensesnittet til applikasjonen er i henhold til skjermstørrelsen på enheten, er ingen tekst / kontroll delvis usynlig eller utilgjengelig.
- For å sikre at teksten er lesbar for alle brukere for applikasjonen.
- For å sikre at samtale- / alarmfunksjonaliteten er aktivert når applikasjonen kjører. Søknaden minimeres eller suspenderes under en samtale, og deretter gjenopptas applikasjonen når samtalen stopper.
Testsaker for utvinnbarhetstesting
- Gjenoppretting av krasjer og transaksjonsforstyrrelser
- Validering av den effektive applikasjonsgjenopprettingssituasjonen etter uventede avbrudd / krasjscenarier.
- Bekreftelse av hvordan applikasjonen håndterer en transaksjon under et strømsvikt (dvs. at batteriet dør eller en plutselig manuell avslutning av enheten)
- Valideringen av prosessen der forbindelsen er suspendert, må systemet gjenopprette for å gjenopprette dataene som er direkte berørt av den suspenderte forbindelsen.
Viktig sjekkliste
- Installasjonstesting (om applikasjonen kan installeres på en rimelig tid og med det nødvendige kriteriet)
- Avinstallasjonstesting (om applikasjonen kan avinstalleres på en rimelig tid og med ønsket kriterium)
- Nettverkstesttilfeller (validering av om nettverket fungerer under nødvendig belastning eller ikke, om nettverket er i stand til å støtte alle nødvendige applikasjoner under testprosedyrene)
- Merk av ikke-tilordnede taster
- Sjekk applikasjonens sprutskjerm
- Fortsatt tastaturinngang under avbrudd og andre tider som nettverksproblemer
- Metoder som omhandler avslutning av applikasjonen
- Ladereffekt mens et program kjører i bakgrunnen
- Lavt batteri og høy ytelseskrav
- Fjerning av batteri mens applikasjonen utføres
- Forbruk av batteri etter applikasjon
- Sjekk applikasjons bivirkninger