IOS App Testing Tutorial: Manual & Automasjon

Innholdsfortegnelse:

Anonim

Hva er iOS-apptesting?

iOS-apptesting er en testprosess der en iOS-applikasjon testes på ekte Apple-enheter for å sjekke om den fungerer som forventet eller ikke for spesifikke brukerhandlinger som installasjonstid, brukergrensesnitt, brukeropplevelse, utseende, oppførsel, funksjonalitet, lastetid, ytelse, App Store-oppføring, OS-versjonsstøtte osv.

Hvorfor iOS-apptesting?

iOS-apptesting er påkrevd fordi iOS er Apples plattform for mobilapplikasjoner som ble utgitt 29. juni 2007. I motsetning til Android lisensierer Apple ikke iOS for installasjon på ikke-Apple-maskinvare. iOS- og iOS-applikasjoner kan bare installeres på Apple-enheter, derfor må iOS-appen din være kompatibel med iOS-versjoner og iOS-enheter.

Dette er det vanlige spørsmålet når utvikler oppretter en iOS-applikasjon.

Det spiller ingen rolle hvor mye tid du investerer i design og implementering, feil er uunngåelig, og feil vises. Det er noen vanlige feil på iOS-applikasjonen. Som vist i figuren nedenfor.

  1. Søknad krasjer

Et av de mest frustrerende problemene, når du bruker Apples enheter, er at et program kan krasje ofte under kjøring. Mange ganger krasjer appen fordi det er noen feil eller minnelekkasje i apper.

  1. Søknadskompatibiliteter

IOS-applikasjonen din kan kjøre perfekt på den nåværende iOS-versjonen, men hvis iOS er oppgradert, fungerer det kanskje ikke på grunn av inkompatibilitetsproblemer.

  1. Sikkerhetsproblem

Et sikkerhetsproblem i iOS lar hackeren angripe iOS-enhetene dine, stjele din private informasjon. Inntil nå oppdages alvorlige sikkerhetsproblemer i iPhone i forskjellige iOS-versjoner.

  1. Minne lekker

Minnelekkasjer er blokker med allokert minne som programmet ikke lenger bruker. Minnelekkasjer får iOS-applikasjonen din til å krasje. De er feil og bør alltid løses.

I denne veiledningen vil du lære-

  • Hvorfor iOS-testing?
  • iOS-testing MindMap
  • Sjekkliste for iOS-testing
  • iOS-teststrategi
  • Automatisert testing
    • Enhetstesting med OCUnit
    • UI-testing med UIAutomation
  • Manuell testing
    • Utforskende testing
    • Brukertesting
      • Konseptprøving
      • Brukervennlighetstesting
      • Betatesting
      • A / B-testing
  • iOS-testing Beste praksis
  • MYTER om iOS-testing

iOS-testing MindMap

Som vist i figuren ovenfor viser iOS Testing MindMap alle elementene som tester bør vurdere når du utfører testing på iOS.

Sjekkliste for iOS-applikasjonstesting

Denne sjekklisten er spesielt designet for å teste egenskapene til iOS-mobilapplikasjoner. Åpenbart tester den bare generiske applikasjonsegenskaper og ikke funksjonaliteten til den.

  • Kontroller installasjonstiden som programmet tar på enheten. Forsikre deg om at applikasjonen er installert innen akseptabel tid.
  • Når applikasjonen er installert, sjekk om applikasjonen har appikon og navn. Sørg også for at både ikon og navn er selvforklarende og gjenspeiler kjernens intensjon med applikasjonen.
  • Start applikasjonen og sjekk om skjermbildet vises.
  • Sjekk tidsavbrudd for sprutskjermen og tiden det tar å laste opp startskjermen. Startskjermen til applikasjonen skal lastes innen akseptabel tid. Hvis startskjermen bare tar mer tid å laste inn, er det større sjanse for brukeren å avslutte eller til og med avinstallere selve applikasjonen. Sjekk også hvordan innholdet er lastet inn på startskjermen.
  • Hovedfunksjonen til applikasjonen skal være tydelig umiddelbart. Det skal tale for seg selv.
  • Sjekk om appen støtter både liggende og stående retning. I så fall, sjekk appen i begge retninger. Programmets brukergrensesnitt bør settes deretter.
  • Uten internettforbindelse, start applikasjonen. Forsikre deg om at appen oppfører seg som designet / ønsket. Det er en sjanse for at applikasjonen kan krasje ved å starte den eller bare vise en tom skjerm.
  • Hvis applikasjonen bruker lokasjonstjenester, må du sjekke om varsel om posisjonstillatelse vises eller ikke. Dette varselet skal bare bli bedt om til brukeren en gang.
  • Hvis applikasjonen sender push-varsler, sjekk om varsel om push-varsling vises eller ikke. Dette varselet bør også bli bedt om til brukeren bare en gang.
  • Start programmet, avslutt det og start på nytt. Sjekk om appen oppfører seg som designet / ønsket
  • Lukk applikasjonen ved å trykke på Hjem-knappen på enheten og åpne appen igjen. Sjekk om appen fungerer som designet / ønsket.
  • Når den er installert, sjekk om appen er oppført i iPhones innstillingsapp.
  • Etter at applikasjonen er gjort live, sjekk om applikasjonen finnes i "App Store." Det vil bli støttet OS-versjon for applikasjonen. Så sørg for at applikasjonen finnes i de støttede OS-versjonsenhetens "App Store." Programmet skal heller ikke være oppført i OS App-versjonens "App Store" som ikke støttes.
  • Sjekk om applikasjonen går i hvilemodus når den kjører i bakgrunnen for å forhindre at batteriet tømmes.
  • Hvis ytelsen til applikasjonen er treg eller når innholdet lastes inn, sjekk om det er et fremdriftsstatusikon ("Laster inn ..."), helst med en spesifikk melding.
  • Søk i applikasjonen med navnet i søkefeltet på enheten. Sjekk om appen er oppført
  • Sjekk om utseendet på knapper som utfører standardhandlinger ikke endres i appen (for eksempel: oppdater, organiser, søppel, svar, tilbake osv.)
  • Sjekk om standardknapper ikke brukes til andre funksjoner, så som de vanligvis brukes til

iOS-teststrategi

Figuren nedenfor introduserer noen vanlige typer iOS-teststrategi.

Automatisert testing

Automatisert testing er de fleste fordelene ved iOS-testing. Det lar deg raskt oppdage feil og ytelsesproblemer. Fordelene med automatisert testing som vist nedenfor:

  • Automatisert testing kan kjøres på flere enheter, noe som sparer tid
  • Automatisert testing kan målrette SDKer. Du kan kjøre test på forskjellige SDK-versjoner
  • Automatisk testing øker produktiviteten din ved testing, og sparer kostnadene ved programvareutvikling
  • Det er mange åpen kildekode-testrammer som støtter automatisert testing på iOS

Enhetstesting med OCUnit

Da den opprinnelige iOS SDK ble utgitt, manglet den enhetstesting. Så Apple har hentet OCUnit-enhetstestløsningen i iOS SDK versjon 2.2.

OCUnit er et testrammeverk for C-Objective i Mac OS. De største fordelene med et OCUnit-rammeverk er den tette integrasjonen i XCode-utviklingsmiljø som vist nedenfor.

Noen av fordelene med OCUnit er vist i figuren nedenfor.

UI-testing med UIAutomation

UI Automation er et JavaScript-bibliotek levert av Apple Inc, som kan brukes til å utføre en automatisert test på ekte enheter og på iOS Simulator. Dette rammeverket er lagt til iOS SDK4.0. Ved å bruke UI Automation kan du automatisere testing av applikasjonen ikke bare på simulatoren, men også den virkelige enheten.

UIAutomation gir deg disse fordelene:

  • Reduser innsatsen ved manuell testing
  • Bruk mindre minne for å utføre alle testene dine
  • Forenkle UI-testprosedyren (bare trykk på en eller tre knapper og kjør full testpakker)

UIAutomation-instrument fungerer fra skript, som er skrevet i JavaScript. Det simulerer brukerhendelser på iOS-applikasjonen.

UIAutomation Cons vs. Pros

Fordeler Ulemper
1. God støtte for gest og rotasjon Det er ikke åpen kildekode, mindre støtte fra utvikleren
2. Kan kjøre UIAutomation-tester på enheten, ikke den eneste simulatoren. Kan ikke integreres med andre verktøy ekstremt bra
3. Utviklet av JavaScript, er det et populært programmeringsspråk.

Ovenstående figur representerer noen vanlige klasser i UIAutomation-rammeverket.

  • Den UIAElement klasse er den superklasse for alle brukergrensesnittelementer i sammenheng med den Automation
  • Den UIATarget klasse representerer høyt nivå brukergrensesnitt-elementer i systemet under test
  • Den UIALogger klassen gir test og feil informasjon om henting funksjonalitet
  • Den UIAActivityView klassen gir tilgang til, og kontroll av, utsikt aktivitet i appen.
  • Den UIAActionSheet klassen gir tilgang til, og kontroll av, action ark i din app.
  • Bruker Hendelse Handling
    • UISlider-klasse
    • UIAKnappeklasse
    • UIAKey klasse
    • UIAKeyboard-klasse

Andre automatiserte testrammer

  • MonkeyTalk: Et verktøy for automatisert testing av iOS-, Android-, HTML5- og Adobe-applikasjoner. Det er et integrert miljø for administrering og kjøring av testserier
  • Frank: Automated Acceptance Test framework for iPhone og iPad
  • KIF: er et testrammeverk for iOS- integrasjon . Det muliggjør enkel automatisering av iOS-apper ved å utnytte tilgjengelighetsattributtene som operativsystemet gjør tilgjengelig for de med synshemming.

Manuell testing

Utforskende testing

Det er en testing uten en formell testplan. Exploratory Testing er en billig testmetode, men den kan savne de potensielle feilene i iOS-applikasjonen din.

Exploratory Testing Cons vs. Pros

Fordeler Ulemper
1. Mindre forberedelse er nødvendig, oppdag tidlig alvorlige feil. Krever høy dyktighet av testeren
2. Trenger ikke testplan for å øke feiloppdagelsen. Testdekningen er lav. Det garanterer ikke at alle dine krav er testet.
3. De fleste feil blir oppdaget tidlig ved en slags utforskende testing Mangel på testdokumentasjon

Brukertesting

Brukertesting er en type manuell testing på iOS. Hensikten med denne testingen er å lage bedre apper, ikke bare feilfrie apper. Figuren nedenfor viser fire typer brukertesting

Konsept testing

Evaluer brukernes respons på en applikasjonside før du slipper den på markedet. Prosedyrer for konseptprøving på iOS er beskrevet som nedenfor

Brukervennlighetstesting

Usability Testing er en test hvor enkelt å bruke iOS-applikasjonen din. I iOS-testing kan brukervennlighetstest registreres for å huske eller dele med andre.

Det er noen verktøy som støtter brukervennlighetstesting på iOS.

Magitest, en enkel iOS-brukervennlighetstest for nettsteder og apper.

Delight.io, dette verktøyet kan fange ekte brukerinteraksjon på iOS-appene dine.

Betatesting

Betatesting er integrasjonstesting med ekte data for å få endelig tilbakemelding fra brukerne. For å distribuere appene dine for betatesting, må du følge trinnene nedenfor.

- Forhåndsbetingelse : Hvis du betatester en endelig kandidat for en utgivelse, må du sørge for å validere appen før du distribuerer den til testere.

- Finn testeren via tjenesten : du samler inn enhets-ID fra testere og legger dem til i medlemssenteret

- Lag ad-hoc-distribusjon : Med Ad Hoc-distribusjon kan testeren kjøre appen din på enheten uten Xcode. Dette trinnet inneholder to deltrinn

  • Lag distribusjonssertifikater
  • Opprett Ad-hoc klargjøringsprofiler

- Be om tilbakemelding fra testeren: Testeren utfører testing og sender feilrapporter til deg. Etter at appen din er utgitt, kan du hente rapportene fra iTunes connect.

A / B-testing

A / B-testing er en av de kraftigste måtene å evaluere effektiviteten til iOS-appen din . Den bruker randomiserte eksperimenter med to enheter, A og B.

A / B-testing inkluderer tre hovedtrinn

  • Konfigurer en test : Forberedte to versjoner av iOS-appen din (A & B) og testmåling
  • Test : Test 2 iOS-appversjoner ovenfor på enheter samtidig.
  • Analyser : Mål og velg bedre versjon du vil slippe

Følgende verktøy støtter A / B-testing på iOS.

  • Oppstå: A / B-testing for både iOS og Android. Den kan integreres i iOS-appen din og gjøre testprosessen raskere.

Beste fremgangsmåter for A / B-testing

  • Definer målet for testen din. Enhver test er ubrukelig uten mål.
  • Se sluttbrukere bruke appen din første gang
  • Kjør bare en test per oppdatering. Det sparer tid når du utfører testing
  • Overvåke testen nøye. Du kan lære erfaringer fra testen din ved å overvåke den.

iOS-testing Beste praksis

Her er noen tips du bør vite når du organiserer testingen av iOS-applikasjonen din

  1. Test applikasjonen på en ekte enhet for å bli virkelig om ytelse
  2. Forbedre testmetodene dine, fordi tradisjonelle testmetoder ikke lenger er tilstrekkelig til å dekke alle tester på iOS-testing
  3. Bruker konsollogg for å teste iOS-applikasjonen. Dette er en iOS-funksjon som inneholder informasjon fra alle applikasjoner på enheten.
  4. Dokumentprogramfeil ved hjelp av innebygd skjermkortkommando . Det hjelper utvikleren å forstå hvordan feilene oppstår.
  5. Krasjrapportering er nyttige verktøy når du tester søknaden din. De kan oppdage krasj og logge detaljer slik at du enkelt kan undersøke feilene.

MYTER om iOS-testing

Denne delen undersøker noen populære myter og realiteter i iOS-testing

Testing av applikasjoner på iOS og Android er det samme.

iOS og Android er to plattformer som ble utviklet av Apple Inc og Google. De er helt forskjellige. Etc testmiljøer, testrammer, programmeringsspråk.

Testapplikasjon på iOS Simulator er nok.

iOS Simulator er ikke sterk nok til å teste en app. Fordi iOS Simulator har noen begrensninger:

  • Maskinvarebegrensninger (kamera, mikrofoninngang, sensor)
  • Appens brukergrensesnitt kan se ut til å kjøre både raskere og jevnere enn på en enhet
  • API-begrensninger
  • Noen rammer støttes ikke (Media Player, Store Kit, Message UI ...)

Alle vil laste ned appene mine i appbutikken fordi den har mange funksjoner

Jo flere funksjoner applikasjonen din har, desto flere feil kan du få. Ingen brukere vil laste ned applikasjonen din hvis den fremdeles har mange feil.