Nybegynnerveiledningen til testing av mobilapper
Akkurat som all annen programvare, må mobilapper testes grundig før de lanseres for å sikre at alt fungerer på nøyaktig samme måte som det var ment.
Selv om testing av mobilapper allerede er en langvarig og tungvint prosess, har den daglige introduksjonen av nye håndholdte mobile enheter, operativsystemversjoner og apptestverktøy gjort jobben til testere av mobilapper mer kompleks og utfordrende enn noen gang.
Hvis du er en nybegynner som planlegger å starte karrieren innen testing av mobilapper, vil denne veiledningen hjelpe deg med å lære alt om det. La oss komme i gang med å forstå hva mobilapptesting faktisk er!
Hva er mobilapptesting?
I dagens svært konkurranseutsatte globale markedsplass, hvor suksessen til en mobilapp bestemmes av det totale antallet nedlastinger den har fått, de positive anmeldelsene den har fått og rangeringen den har i appbutikken, mobilappen du nettopp har utviklet må være upåklagelig for å tiltrekke, engasjere og beholde brukere, og dette kan bare oppnås ved streng mobilapp-testing.
Testing av mobilapper er i hovedsak prosessen med å finne og fikse feil i en mobilapp for å forbedre dens generelle kvalitet, funksjonalitet, brukervennlighet og konsistens, og gjøre den så feilfri som mulig for brukerne. Utføres enten manuelt eller automatisk ved bruk av testverktøy for mobilapper, eller via en kombinasjon av begge, sikrer mobilapptesting, hvis den utføres på rett måte, ikke bare en feilfri og tilfredsstillende opplevelse for brukerne, men spiller også en viktig rolle i å gjøre appen populær og vellykket på nesten ingen tid. Kort sagt, testing av mobilapper er det hver app trenger for å være feilfri, vellykket og av høy kvalitet.
Nøkkelutfordringer for testing av mobilapper
Testing av mobilapper er mye mer kompleks enn tradisjonell desktop-testing og presenterer derfor et helt nytt sett med utfordringer for både testere og utviklere. Nedenfor er de viktigste utfordringene som testere møter mens de forbedrer kvaliteten og ytelsen til en mobilapp:
Ulike typer mobilapper:
En stor utfordring i seg selv siden en mobilapp kan være Native, Web eller Hybrid. Siden hver app-type er bygget forskjellig og ganske forskjellig fra hverandre når det gjelder både installasjonsprosess og funksjonalitet, må den testes på en helt annen måte. Den grunnleggende forskjellen mellom hver apptype gir en rekke utfordringer for testing av mobilapper.
En rekke mobile enheter:
En av de største utfordringene som testere av mobilapper står overfor, er det store utvalget av mobile enheter som er tilgjengelig på markedet i dag. Disse inkluderer smarttelefoner, nettbrett, e-lesere, bærbare enheter og alle andre mobile enheter som kommer i nær fremtid. Disse enhetene har forskjellige skjermstørrelser, oppløsninger, inndatametoder og maskinvarefunksjoner, og presenterer et helt unikt sett med utfordringer for testere av mobilapper.
OS-mangfold:
Ulike mobile enheter bruker forskjellige operativsystemer og forskjellige versjoner av et bestemt operativsystem brukes av forskjellige enheter til enhver tid. For eksempel har Android fortsatt 8 forskjellige OS-versjoner i bruk; på den annen side bruker 65 % av Apple-enhetene iOS 11 mens iOS 10 er installert på 28 % av Apple-enhetene og 7 % fortsatt bruker tidligere versjoner av iOS. Å teste en enkelt app på tvers av flere mobile enheter som kjører på forskjellige versjoner av samme OS, utgjør en unik utfordring for testere av mobilapper.
Utallige produsenter:
En annen stor utfordring testere må takle er det stadig økende antallet produsenter av mobilenheter. I 2015 var det omtrent 1200 produsenter av mobilenheter, og ved selve begynnelsen av 2018 har tellingen nådd over 1600. Utvilsomt vil disse tallene bare øke i årene som kommer. Ulike maskinvare- og programvareendringer som produsenter gjør på sine mobile enheter for å skille seg fra hverandre, har en direkte innvirkning på hvordan en app fungerer – noe som gjør testprosessen enda mer kompleks og utfordrende.
Tilkoblingsutfordringer:
Å håndtere en rekke tilkoblingsmuligheter effektivt, for eksempel forskjellige mobilnettverk (2G/3G/4G LTE/4G VoLTE og nå 5G), Wi-Fi, Bluetooth, Infrarød, etc, er ikke mindre enn en syretest. For alle typer tilkoblingsmoduser må applikasjonen kjøre jevnt under forskjellige nettverksforhold som endring i mobilnettverket, roaming, svake nettverkssignaler, ingen nettverksdekning, lav tilkoblingshastighet osv. Denne utfordringen regnes imidlertid ikke som den store utfordringen. en for en offline-app.
Kontinuerlig testing:
For å overleve i dagens konkurranseutsatte marked, må en mobilapp oppdateres ofte med nye funksjoner og forbedringer. For å møte dette kravet foretrekker mange utviklere å bruke Agile Methodology fremfor den tradisjonelle Waterfall-tilnærmingen, som fører til kontinuerlig integrasjon og distribusjon av mobilappen. Følgelig kreves det kontinuerlig testing av appen for å sikre at alle forbedringene utføres riktig. Dette er også en svært utfordrende praksis for testere av mobilapper!
Velg hvordan du tester:
En annen hindring som testere må overvinne er valget av en passende tilnærming til testing av mobilapper med riktige testverktøy for mobilapper. Der det hovedsakelig er to tilnærminger (manuell og automatisert) som brukes til testing av mobilapper, derimot, er markedet fullt av en rekke automatiserte testverktøy for mobilapper, noe som gjør valg av riktige testverktøy til en veldig forvirrende og kjedelig oppgave med mindre man har en forhåndsplanlagt teststrategi.
Ulike typer mobilapptesting
Som all annen programvare, må en mobilapp også testes grundig for å sikre førsteklasses kvalitet, brukervennlighet og sikkerhet. For å oppnå det samme brukes flere typer testmetoder under utvikling av mobilapper. La oss ta en titt på hva de er og hvordan de skiller seg fra hverandre.
Funksjonell UI-testing:
Som den mest grunnleggende typen testing, sikrer funksjonstesting at appen fungerer perfekt i samsvar med de forhåndsdefinerte brukerkravene. Disse testene utføres vanligvis for å sjekke om brukergrensesnittet og samtaleflyten til applikasjonen fungerer som den skal. Men hvis funksjonstesting gjøres manuelt, viser det seg ofte å være en ekstremt intensiv, kompleks og tidkrevende oppgave på grunn av flere mobilspesifikke utfordringer.
Brukervennlighetstesting:
Siden brukervennligheten spiller en viktig rolle i å bestemme den kommersielle suksessen til enhver mobilapplikasjon, fokuserer Usability-testing hovedsakelig på tre nøkkelområder for brukeropplevelse: Effektivitet, Effektivitet og Brukertilfredshet. Disse testene er utført for å sikre konsistensen i brukeropplevelsen på tvers av alle enheter og sjekke om mobilappen er enkel å bruke for sluttbrukere.
Kompatibilitetstesting:
Kompatibilitetstesting utføres for å sjekke om appen gjengir seg bra på forskjellige mobilenheter, skjermstørrelser, nettlesere, oppløsninger og OS-plattformer og -versjoner. For eksempel kan en mobilapp som fungerer som den skal på en smarttelefon oppføre seg på en helt annen måte på et nettbrett. Dermed evaluerer kompatibilitetstesting funksjonaliteten til en applikasjon på forskjellige mobile enheter og plattformer.
Minnelekkasjetesting:
Minnelekkasjetesting, også kjent som lavnivåressurstesting, refererer til å sjekke hvor effektivt appen bruker det innebygde minnet til den mobile enheten den brukes på. Det inkluderer først og fremst testing av generell minnebruk, automatisk sletting av midlertidige filer etter en viss periode, og økende problemer med den lokale databasen. Siden mobile enheter er svært begrenset når det gjelder minne sammenlignet med stasjonære enheter, er minnelekkasjetesting eksepsjonelt avgjørende for å sikre at en mobilapplikasjon fungerer som den skal.
Ytelsestesting:
Det grunnleggende målet med ytelsestesting er å sikre at applikasjonen er i stand til å håndtere ulike mobilenhetsutfordringer som dårlig nettverksdekning, bytte tilkobling fra mobilnettverk til Wi-Fi, deling av noe utenfor appen, lavt tilgjengelig batteri eller minne, applikasjon hastighet, samtidig bruk av appen av mange brukere og andre lignende forhold. Med andre ord utføres ytelsestesting for å sjekke mobilappen, nettverket og serverytelsen.
Avbrudd/driftstesting:
En app mens den fungerer, kan bli avbrutt av flere hendelser som skjer på mobilenheten, for eksempel anrop eller SMS, popup-varsler, innsetting eller fjerning av strømkabel, fjerning av batteri, nettverksbrudd og gjenoppretting, advarsel om lavt batteri osv. Avbruddstesting utføres for å sjekke om mobilappen er i stand til å motstå alle disse avbruddene ved å lukke seg hver gang en hendelse finner sted og starte på nytt automatisk etterpå.
Installasjonstesting:
Installasjonstesting bekrefter at applikasjonen kan installeres, avinstalleres eller oppdateres innen rimelig tid uten at brukeren trenger å møte noen problemer. I løpet av denne testfasen tar mobilapptestere seg ikke bare av krasj som kan oppstå under disse tre prosessene, men de sikrer også at alle appdataene vil bli fjernet fullstendig fra enhetslagringen når avinstalleringsprosessen er fullført.
Sikkerhetstesting:
Dette innebærer å verifisere at sikkerheten og personvernet til brukere ikke står på spill i appen ved hjelp av ulike teknikker som sårbarhetsskanning, loggvisninger, penetrasjonstesting, krigsoppringing, virusdeteksjon, passordknekking osv. Hovedformålet med Sikkerhetstesting er å forbedre konfidensialitet, autentisitet og integritet til mobilappen.
Lokaliseringstesting:
Lokaliseringstesting sikrer brukervennligheten, funksjonaliteten og tilgjengeligheten til mobilappen i en rekke geografiske regioner og tidssoner. Denne typen testing utføres spesielt når du planlegger å oversette appen din til flere språk eller lansere den til forskjellige land. Lokaliseringstesting regnes som den siste fasen av app QA-testing.
Regresjonstesting:
Denne typen testing innebærer å kjøre tidligere utførte vellykkede tester på nytt for å sikre at endringene som er gjort i appkoden ikke har gjeninnført noen gamle eller nye feil. Ettersom regresjonstester kan utføres om og om igjen under alle de fire testnivåene (enhet, integrasjon, system og aksept), er de en ideell kandidat for automatisert testing.
Nyttige tips for en vinnende teststrategi for mobilapper
Hvis du virkelig ønsker å vinne ved testing av mobilapper, er det å utvikle en tydelig og robust teststrategi noe du ikke må overse. En riktig strategisk plan for testing av mobilapper hjelper deg ikke bare med å overvinne de ovennevnte testutfordringene for mobilapper, men sparer deg også fra de deprimerende scenariene med appavvisning. Følgende er de beste fremgangsmåtene du må følge for å teste mobilappen din på en effektiv og effektiv måte.
Automatisert kontra manuell testing:
Mobilapptesting, som allerede nevnt ovenfor, kan utføres enten manuelt eller ved hjelp av automatiserte testverktøy for mobilapper som Appium, SeeTest, Selenium og Ranorex. Siden enten én eller begge tilnærmingene brukes under ulike livssyklusstadier av en mobilapp, må du være ekspert på å velge mellom dem i henhold til situasjonen. Siden automatisert mobilapptesting er nøkkelen til vellykket regresjonstesting under ulike utviklingsfaser, bør den kun utføres i scenarier der:
- Du har de hyppigste testsakene
- Testtilfeller har forutsigbare resultater
- Testtilfeller er enkle å automatisere
- Testtilfeller er svært tidkrevende eller umulige å utføre manuelt
- Søknaden vokser kontinuerlig
- Livssyklusen for utvikling av mobilapper er veldig lang
Tvert imot, tilnærmingen til manuell apptesting er basert på menneskelig input, analyse eller evaluering og bør brukes hvis appen inneholder nye funksjoner eller krever testing bare én eller to ganger.
Emulatorer vs. fysiske enheter:
Akkurat som to tilnærminger, er det to hovedmåter å teste en mobilapp på: enten gjennom virtuelle enhetsemulatorer eller fysiske enheter i det virkelige liv. Selv om bruken av enhetsemulatorer viser seg å være svært nyttig i de innledende stadiene av apputvikling for å teste grunnleggende funksjoner, fungerer de ikke like effektivt som fysiske mobile enheter i de senere stadiene av testing, som betatesting. Det finnes tre typer emulatorer for mobilenheter:
- Enhetsemulator: levert av enhetsprodusenter.
- Nettleseremulator: simuler gjengivelse for mobile enheter i nettlesere.
- Operativsystememulator: leveres av selve operativsystemet.
For å få de beste testresultatene raskt og effektivt, test mobilappen din først på emulatorer for å oppdage og fikse så mange feil som mulig. Når et tilfredsstillende testnivå er oppnådd, kan du gå over til å teste appen din på fysiske mobile enheter for et mer realistisk scenario.
Valg av riktige mobilenhetsmodeller:
Å bestemme hvilken enhet eller enhetsmodell som skal brukes til å teste mobilappen er sannsynligvis det første som kommer til enhver testers sinn når de oppretter et testmiljø i den virkelige verden. Dette kan noen ganger være virkelig en vanskelig avgjørelse fordi enhetene du velger bestemmer hvordan appen din vil fungere på milliarder av andre lignende enheter. Derfor bør under tre nøkkelfaktorer tas i betraktning under valget av målenhet:
- OS-versjon
- Skjermstørrelse og oppløsning
- Formfaktor
Om nødvendig, ikke nøl med å ta flere andre faktorer som internminne, tilkoblingsmuligheter osv. i betraktning når du velger enhetsmodell.
Vurder skytesting:
For å ta testarbeidet til et helt nytt nivå, kan du også prøve cloud computing-basert mobilapptesting. Ved å tilby et nettbasert testmiljø for mobilapper lar skytesting deg distribuere, teste og administrere mobilappene dine raskt og effektivt. I tillegg til å redusere de totale prosjektkostnadene og -tiden, gir skybasert applikasjonstesting deg også flere andre fordeler, som:
- Svært skalerbare, fullt synkroniserte og forhåndskonfigurerte testmiljøer
- Du trenger ikke å investere i andre avanserte testverktøy, ressurser eller konfigurasjoner
- Reduserer muligheten for defekter forårsaket av et feilskapt eller ustabilt testmiljø
- Sparer testere fra å sette opp lokale testmiljøer som er svært tidkrevende og ofte fører til prosjektforsinkelser
- Støtter testing for komplekse, dynamiske og forskjellige applikasjoner, noe som er nesten umulig i et internt miljø.
- Testresultater i sanntid
- Automatisk sikkerhetskopiering og gjenoppretting
Organiser betatesting:
Betatesting er en flott og effektiv måte å analysere funksjonaliteten og brukervennligheten til en mobilapp ved hjelp av ekte sluttbrukere som bruker enheter fra den virkelige verden. Denne fasen er faktisk utført for å sjekke hvor godt appen fungerer på ekte enheter og nettverk, samt for å sikre at alle feilene ble fikset før lansering. Hvis du tester en app for iOS, kan du utnytte kraften til det gratis TestFlight- verktøyet for å administrere betatestingen din.
På samme måte kan du også bruke Google Play-konsollen til å distribuere Android-appen din til pålitelige brukere og testere for betatesting gjennom ulike Google-grupper eller Google+-fellesskap.