What is mobile app testing?

Mobil App Test: Sikrer Kvalitet og Brugeroplevelse

20/03/2022

Rating: 4.79 (2058 votes)

I dagens digitale tidsalder er mobilapplikationer blevet en uundværlig del af vores hverdag. Fra kommunikation og underholdning til bankforretninger og shopping – apps driver vores interaktion med den digitale verden. Men bag den problemfri brugeroplevelse, vi forventer, ligger en kompleks og afgørende proces: omfattende mobil app test. Denne proces sikrer, at applikationer ikke kun fungerer som forventet, men også leverer en intuitiv, sikker og stabil oplevelse på tværs af et utal af enheder og operativsystemer. At forstå nuancerne i mobil test er afgørende for enhver virksomhed, der stræber efter at levere enestående digitale produkter.

Which mobile app testing companies work with different types of apps?
Any mobile app testing company often works with multiple types of mobile applications – native, hybrid, and PWA. PWA apps can function as regular mobile applications and separate websites at the same time. Think Twitter’s app and desktop versions – both are essentially one program.
Indholdsfortegnelse

Særlige Kendetegn ved Mobil Test

Når det kommer til kvalitetssikring (QA) af mobilapplikationer, er der flere subtile aspekter, der adskiller det fra test af desktop- og webapplikationer. Disse særlige kendetegn kræver en specialiseret tilgang for at sikre en fuldt funktionel og tilfredsstillende app:

  • Installation / Afinstallation / Opdateringsproces: Det er afgørende at teste, om appen installeres, afinstalleres og opdateres korrekt på forskellige enheder og operativsystemversioner. Fejl her kan forhindre brugere i overhovedet at komme i gang.
  • Lokation & VPN: Test af lokationsbaserede funktioner og appens adfærd under forskellige VPN-indstillinger er vigtigt, især for apps, der bruger GPS eller geolokation.
  • Datasynkronisering: For apps, der synkroniserer data på tværs af enheder eller med en server, er det essentielt at sikre, at synkroniseringen er fejlfri og konsistent.
  • Afbrydelser af Applikationen: Hvordan reagerer appen, når den afbrydes af indgående opkald, beskeder, lavt batteri, Wi-Fi-skift, eller andre notifikationer? Appen skal kunne genoptage sin funktion problemfrit.
  • Evnen til at Køre i Baggrunden: Test, om appen fungerer korrekt, når den kører i baggrunden, og hvordan den genoptager aktivitet, når den bringes i forgrunden igen.
  • Betalingsgateway: For e-handelsapps eller apps med in-app-køb er grundig test af betalingsgateways og transaktionsprocesser absolut nødvendig for at sikre sikkerhed og funktionalitet.
  • Kommunikation (Chat, Lyd, Video): Hvis appen inkluderer kommunikationsfunktioner, skal disse testes grundigt under forskellige netværksforhold og enhedskonfigurationer.
  • Touchscreen (Tap, Swipe, Pull, Shake, Pinch): Mobilapps er dybt afhængige af touch-interaktioner. Alle former for touch-gestus skal testes for præcis respons og brugervenlighed.
  • Stemmekommandoer: Hvis appen understøtter stemmekommandoer, skal disse testes for nøjagtighed og effektivitet i forskellige miljøer.

Mobil App Typer: Native og Hybrid

Mobil app testvirksomheder arbejder ofte med forskellige typer mobilapplikationer – native, hybrid og PWA (Progressive Web Apps). Selvom PWA'er også er relevante, fokuserer vi her på de to mest udbredte: native og hybrid, da de udgør størstedelen af den mobile app-udvikling.

Native Mobil Apps

Native mobil apps er udviklet specifikt til en bestemt platform – enten Android eller iOS. Hvis en tjeneste er tilgængelig i begge app-butikker, er det typisk to separate applikationer, der er udviklet med platformens specifikke programmeringssprog og værktøjer (f.eks. Swift/Objective-C for iOS og Java/Kotlin for Android).

Hybrid Mobil Apps

Hybrid mobil apps er derimod universelle, hvilket betyder, at den samme app kan installeres på begge platforme. Dette er muligt, da de kombinerer native og web-elementer i udviklingen, ofte ved hjælp af frameworks som React Native, Flutter eller Xamarin. Selvom de har deres specifikke egenskaber, vil den grundlæggende testtilgang ofte være den samme for begge app-typer, da slutmålet er den samme funktionalitet for brugeren.

Selvom den grundlæggende funktionalitet er den samme, er der dog vigtige forskelle i testfokus:

  • Ydelsesproblemer: Ydelsesproblemer er mere almindelige i hybrid apps. Selvom de ikke nødvendigvis er langsomme, giver det mening at være ekstra opmærksom på ydeevnen ved test af en hybrid app. At pakke webteknologier ind i en native skal kan gøre en app tungere og mindre responsiv sammenlignet med en native app.
  • UI-test: UI-test vil tage mere tid, når man arbejder med hybridapplikationer. Mangfoldigheden af Android-enheder, og dermed skærmstørrelser og -opløsninger, er imponerende. For hybrid apps skal brugerfladen derfor passe ikke kun til hver Android-gadget, men også til iOS-versionerne.
  • Kompatibilitet: Den kolossale liste over skærmstørrelser, opløsninger, OS-versioner og variationer resulterer i et stort antal software/hardware-kombinationer. Dette betyder, at test af hybrid apps kræver flere rigtige enheder til kompatibilitetstest end native app test.

Her er en sammenlignende tabel over testforskelle mellem native og hybrid apps:

AspektNative App TestHybrid App Test
YdeevneGenerelt høj, mindre fokus på basale ydelsesproblemer.Potentielt lavere, større fokus på ydelsestest.
Brugerflade (UI)Optimeret til specifik OS, UI-test er mere strømlinet.Skal tilpasses flere OS'er/enheder, mere tidskrævende UI-test.
EnhedskompatibilitetFærre enhedsvariationer pr. platform at teste.Kræver test på et bredere udvalg af enheder (Android + iOS).
Adgang til HardwareFuld adgang, lettere at teste hardware-specifikke funktioner.Begrænset adgang, kan kræve plugins/workarounds.
UdviklingsomkostningerHøjere (separate kodebaser).Lavere (én kodebase).

Mobil App OS: Android App Test og iOS App Test

Generelt adskiller Android- og iOS-test sig ikke væsentligt i tilgangen, men snarere i den tid og ressourcer, der er nødvendige for at udføre dem. Naturligvis vil test af en iPhone-app tage mindre tid end en Android-app, og det skyldes primært:

  • Enhedsfragmentering: Android er repræsenteret af et bredere udvalg af enheder og OS-versioner. Derfor er der et større omfang af arbejde for Android-enhedstest, når det kommer til krydsplatformskontrol.
  • Brugerflade (UI) Problemer: Da Android-enheder kommer med flere skærmstørrelser og -opløsninger, er der mere plads til layoutproblemer og grænsefladefejl. Testomfanget for UI-test er derfor større sammenlignet med iOS.
  • Ydeevne og Kompatibilitet: Android tilbyder mange software- og hardwarekonfigurationer, så ydelses- og kompatibilitetstest ville igen kræve mere tid.

Vigtigheden af Real-Device Test

Test på rigtige enheder giver et QA-team mulighed for at sikre, at en applikation fungerer problemfrit på en række smartphones. Kun ved brug af en rigtig enhed kan man korrekt kontrollere:

  • Farver på skærme med forskellige opløsninger.
  • Touchscreen med alle swipes, scrolls og taps.
  • Lokationssporing, kamera, lyd og andre enhedsspecifikke funktioner.
  • Forskellige software- og hardwarekonfigurationer.
  • Ydeevne under afbrydelser, baggrundsoperationer og CPU-forbrug.

Desuden er det kun muligt at evaluere grundlæggende brugervenlighedsaspekter (f.eks. læsbarhed og bekvemmelighed af knapper) korrekt ved hjælp af real-device test. Det samme gælder batterilevetid: du kan kun se, om en app tømmer batteriet, ved at bruge appen i realtid.

Hovedtyper af Test for Mobil Applikationer

Mens mobil app test har sine særlige kendetegn, er den ikke fremmed for traditionelle kontrolforanstaltninger. For at opnå et kvalitetsprodukt skal mobilapplikationer gennemgå disse kernetesttyper:

Funktionel Test

Denne testtype sikrer, at hver funktion af en applikation fungerer som tilsigtet og i overensstemmelse med forudbestemte krav. Funktionel test fokuserer ofte på brugerflows inden for appen og de funktioner, der udgør dem. Denne metode anvender black-box testteknikker til at evaluere et system, hvilket giver et fuldere billede af appens funktionalitet fra brugernes synspunkt. Det er afgørende at vurdere:

  • Installation/afinstallation af en app på forskellige enheder.
  • Registrering og login, adgangskodeskift og -gendannelse.
  • Redigering og opdatering af kontooplysninger.
  • Kontrol af udseende og funktion af grafiske elementer – felter, knapper, ikoner, menuer.

Brugerflade (UI) Test

UI-test er undersøgelsen af den visuelle del af en mobil app, som slutbrugeren kommer i kontakt med. Det betyder test af de grafiske elementer for at verificere, at de fungerer i henhold til kravene. UI-test dækker hele spektret af visuelle indikatorer og grafikbaserede ikoner – værktøjslinjer, skrifttyper, menuer, tekstbokse, knapper, afkrydsningsfelter, farver og mere. Handlinger, en bruger kan udføre, f.eks. UI-gestus som berøring, tap, træk og swipe, falder også ind under denne test.

Brugervenligheds (Usability) Test

Brugervenlighedstest besvarer spørgsmål som: Kan brugerne nemt opnå deres mål? Forstår de, hvordan de skal arbejde med denne app uden problemer? Er den bekvem? UX-test giver mulighed for at måle en apps brugervenlighed og afsløre måder at understøtte brandets marketingmål på. En fuldskala UX-inspektion er en opgave for en designer eller et marketingteam, men et QA-team kan udføre grundlæggende UX-tjek.

Kompatibilitets Test

Enkelt sagt sikrer kompatibilitetstest, at en app fungerer konsekvent på tværs af enheder og softwareøkosystemer. Dette inkluderer kontrol af, hvordan en applikation opfører sig på enheder med forskellige hardwarekonfigurationer, netværksforhold, skærme, indbyggede funktioner, apps, der kører i baggrunden osv. Brug af rigtige enheder er her særligt vigtigt.

Tilgængeligheds (Accessibility) Test

Virksomheder bør stræbe efter at sikre den samme (og behagelige) oplevelse for alle, inklusive brugere med kognitive og fysiske handicap. At udføre mobil tilgængelighedstest er at verificere, at en app er blevet tilpasset forskellige behov. Gode udgangspunkter kunne være: tastaturgenveje, zoomfunktioner, skrifttyper, kontrastforhold og andre farveindstillinger, hjælpeteknologier (stemmesøgning og skærmlæsere), værktøjstips og brugervejledninger.

Ydelses (Performance) Test

Ydelsesproblemer med mobilapps kan føre til tab af kunder og indtægter, skade på brandimage og afbrydelser af forretningsmål. Mobil app ydeevnetest er det, der hjælper med at forhindre alt dette. Der er flere typer af mobil ydeevnetest:

  • Belastningstest: Fokuserer på ydeevne under normale forhold.
  • Stresstest: Applikationens funktionalitet og ydeevne under ekstreme belastninger.
  • Stabilitetstest: Undersøger en applikations langsigtede ydeevne.
  • Volumentest: Ydeevne med øgede mængder af behandlede data.

Generelt hjælper ydeevnetest med at skitsere en apps stabilitet, ressourceforbrug, evne til at modstå høje belastninger og sikre, at der ikke opstår smartphone-frysninger.

Lokaliserings Test

Lokaliserings test sikrer, at en applikation er tilpasset et målmarked med hensyn til sprog, repræsentation og kulturelle karakteristika for en bestemt region. Dette kan omfatte kontrol af skrivemåder (f.eks. højre-til-venstre skrivning), valutaformater, datoformater, og overholdelse af lokale lovkrav.

Internationaliserings Test

Internationaliseringstest giver derimod en apps tilpasningsevne til flere regioner. I stedet for at fremhæve de lokale funktioner, sigter den mod at gøre indhold og funktionalitet universel – egnet til forskellige målgrupper med eller uden særlige justeringer. Denne testtype er nyttig for øget synlighed og personaliseret app-gengivelse.

Sikkerheds Test

Fra kreditkortkryptering på en shopping-app til interne systemforsvar styrer sikkerhedstest det afgørende aspekt af databeskyttelse. Det er blevet en separat gren af QA-processen. Mobilapplikations sikkerhedstest inkluderer:

  • Mobil app penetrationstest.
  • Sårbarhedsscanning.
  • Risikovurdering.
  • Teknisk revision.
  • Red-blue teaming, og mere.

Alle de nævnte inspektioner giver mulighed for at afdække eksisterende og potentielle sårbarheder, trusler, risici i en mobilapplikation og smuthuller i processerne.

Ændringsrelateret Test

Ændringer er uundgåelige. Selv når en apps fremdrift går efter planen. Når udviklere har rettet rapporterede problemer, skal QA-ingeniører igen udføre flere kontroller for at verificere ændringerne og sikre, at resten af funktionaliteten stadig fungerer. Der er flere typer af ændringsrelateret test:

  • Retest: Gentagelse af test for den funktionalitet, hvor en fejl er blevet rettet, og bekræftelse af, at den ikke længere vises.
  • Smoke Test: Tillader at bestemme, om en build er stabil og kan underkastes yderligere test (f.eks. installation og login er vellykkede, så yderligere test er levedygtig).
  • Regressionstest: Dækker de uændrede dele af en mobil app for at finde ud af, om kodeændringer ikke har påvirket den eksisterende funktionalitet.
  • Sanity Test: En tilfældig undersøgelse af relativt stabile builds med mindre ændringer for at kontrollere den overordnede operationslogik.

API Test

En API (application programming interface) er et sæt protokoller og værktøjer, der muliggør kommunikation mellem softwaresystemer eller funktioner. Den forbinder mobilapps for at strømline interne operationer eller forbinder eksterne systemer for at udvide applikationens muligheder. Under API-test kontrolleres selve grænsefladen, dvs. evnen til at forbinde og arbejde med anden software. For en korrekt API bør følgende evalueres: dokumentation, funktionalitet, ydeevne, sikkerhed og grundlæggende brugervenlighed.

End-to-End (E2E) Test

Under end-to-end-test kontrollerer en QA-ingeniør en brugerrejse fra start til slut. Det giver et klart perspektiv på den sti, en bruger tager for at opnå et bestemt mål. E2E-test simulerer et brugerscenarie, validerer det testede system (appens komponenter, UI-flow og API) og sikrer, at systemet opfører sig som forventet. Et eksempel kunne være hele processen fra at åbne en shopping-app til at gennemføre et køb.

Accept Test

Mobil accepttest er den endelige verificering af forretningsfunktionaliteten. Det er det sidste skridt, der tages for at garantere den forventede funktion af et system. Inden for denne testtype er:

  • Brugeraccepttest (UAT): Vurdering af den endelige version af en app (kan udføres af en forretningsrepræsentant eller en faktisk bruger).
  • Forretningsaccepttest: Verificering af overholdelse af fastsatte forretningsmål.
  • Kontraktaccepttest: Kontrol af overensstemmelse med foruddefinerede kriterier inden for en kontrakt, der beskriver appens leverancer.
  • Reguleringsaccepttest: Evaluering af overholdelse af specifikationer fra regulerende myndigheder.
  • Operationel accepttest: Bekræftelse af en apps operationelle parathed.
  • Alpha- og Beta-test: Test af en app under udvikling af en ekspert (Alpha) og test af en app før udgivelse af brugere (Beta).

Tilgange til Mobil App Test

Uanset om test udføres af QA-specialister eller udviklere, er den bedste QA-strategi at teste tidligt. Der er dog et par tilgange til test, der, selvom de har samme mål, adskiller sig i tidsrammer:

  • Proaktiv Tilgang: Testdesignprocessen starter tidligt og sigter mod at forhindre problemer, allerede inden koden er klar. I stedet for at kontrollere den endelige version af en mobilapplikation, starter et QA-team med en kravgennemgang. De hjælper med at forhindre fejl og forme softwarekvaliteten fra begyndelsen.
  • Reaktiv Tilgang: Denne tilgang indebærer derimod arbejde med et færdigt produkt, når dets design og funktionalitet angiveligt er klar til brug. Et testteam venter med at udføre tests i et sent stadium af softwareudviklingslivscyklussen (SDLC). De 'reagerer' på kvaliteten af det leverede produkt.

Testteknikker

En testteknik er en procedure, der bruges til at definere testbetingelser, designe testcases og specificere testdata. Lad os se på to teknikker:

  • Statisk Test: Statisk test betyder at undersøge en app uden at udføre koden. I stedet for funktionscentreret, gennemgår eksperter koden for at finde eventuelle fejl inden for applikationens grundlæggende lag. Målet er at etablere krav og dokumentation, der er rettet mod at forhindre eventuelle problemer.
  • Dynamisk Test: Dynamisk test betyder at evaluere en app under dens udførelse. Dette er den klassiske tilgang til test. Vejledt af designede testdata kontrollerer QA-ingeniører appens funktioner og lag – fra enhed til UI. Denne metode er meget kompatibel med mobil automatiseringstest.

Ofte Stillede Spørgsmål

Her er svar på nogle af de mest almindelige spørgsmål om mobil app test:

Hvorfor er mobil app test mere kompleks end web- eller desktop-test?

Mobil app test er mere kompleks på grund af den store variation i enheder, operativsystemversioner, skærmstørrelser, netværksforhold og de mange unikke mobilfunktioner (GPS, kamera, touch-gestus, afbrydelser), der skal testes. Desuden skal der tages højde for forskelle mellem native og hybrid apps samt Android og iOS specifikke udfordringer.

Hvad er den største forskel på at teste en native app kontra en hybrid app?

Den største forskel ligger i ydeevne, UI-tilpasning og kompatibilitetsomfang. Hybrid apps har oftere ydelsesudfordringer og kræver mere omfattende UI- og kompatibilitetstest på tværs af et bredere udvalg af enheder, da de skal fungere på tværs af forskellige platforme med en enkelt kodebase, mens native apps er optimeret til én specifik platform.

Hvorfor er real-device test så vigtig for mobil apps?

Real-device test er afgørende, fordi emulatorer og simulatorer ikke fuldt ud kan efterligne de virkelige forhold. Kun på en fysisk enhed kan man korrekt teste aspekter som batteriforbrug, farvegengivelse på forskellige skærme, touchskærmens præcision, GPS-funktionalitet, kameraadgang og appens adfærd under afbrydelser som opkald eller lavt batteri.

Hvad er forskellen mellem regressionstest og smoke test?

Smoke test er en hurtig test for at bekræfte, at de mest kritiske funktioner i en ny build fungerer (f.eks. installation og login), før mere dybdegående test påbegyndes. Regressionstest er derimod en mere omfattende test, der sikrer, at nye kodeændringer eller fejlrettelser ikke har introduceret nye fejl eller brudt eksisterende funktionalitet i appen.

Hvilken rolle spiller sikkerhedstest i mobil app udvikling?

Sikkerhedstest spiller en kritisk rolle i at beskytte brugerdata og forhindre sårbarheder i mobilapps. Det involverer identifikation af potentielle trusler, svagheder og smuthuller i applikationens kode og infrastruktur for at sikre, at følsomme oplysninger er beskyttet, og at appen er modstandsdygtig over for angreb.

Opsummering

Nogle tror måske, at udvikling af en app til mindre enheder gør softwaren enklere. Men der er ingen aspekter af mobil app test, der er simple. For at skabe en top-løsning, der imødekommer brugernes ønsker, skal teamet overveje både sædvanlige og unikke funktioner ved mobilapplikationer. At overholde testtraditioner og smart udnytte specifikke mobil app-behov er det, der gør ethvert projekt til en succeshistorie. En grundig og strategisk tilgang til test er fundamentet for en robust og brugervenlig mobil app, der kan klare sig i det konkurrenceprægede app-marked.

Hvis du vil læse andre artikler, der ligner Mobil App Test: Sikrer Kvalitet og Brugeroplevelse, kan du besøge kategorien Teknologi.

Go up