Test af iOS-apps: Manual og automatisering

Hvad er iOS App Testing?

iOS app test er en testproces, hvor en iOS-applikation testes på rigtige Apple-enheder for at kontrollere, om den fungerer som forventet eller ej for specifikke brugerhandlinger som installationstid, brugergrænseflade, brugeroplevelse, udseende, adfærd, funktionalitet, indlæsningstid, ydeevne, app Butiksfortegnelse, understøttelse af OS-version osv.

Hvorfor iOS-apptestning?

iOS app test er påkrævet, fordi iOS er Apples platform for mobilapplikationer, som blev udgivet den 29. juni 2007. I modsætning til Android, Apple licenserer ikke iOS til installation på ikke-Apple-hardware. iOS- og iOS-applikationer kan kun installeres på Apple-enheder, derfor skal din iOS-app være kompatibel med iOS-versioner og iOS-enheder.

IOS app test

Dette er det almindelige spørgsmål, når udviklere opretter en iOS-applikation.

IOS app test

Det er lige meget, hvor meget tid du investerer i design og implementering, fejl er uundgåelige, og fejl vil dukke op. Der er nogle almindelige fejl på iOS-applikationen. Som vist i nedenstående figur.

IOS app test

Applikationen går ned

Et af de mest frustrerende problemer, når du bruger Apples enheder, er, at et program kan gå ned ofte under udførelse. Mange gange går appen ned, fordi der er nogle fejl eller hukommelseslækage i apps.

Ansøgningsinkompatibiliteter

Din iOS-applikation kører muligvis perfekt på den aktuelle iOS-version, men hvis iOS er opgraderet, fungerer den muligvis ikke på grund af inkompatibilitetsproblemer.

Sikkerhedssårbarhed

En sikkerhedssårbarhed i iOS gør det muligt for hackeren at angribe dine iOS-enheder, stjæle dine private oplysninger. Indtil nu er alvorlige iPhone-sikkerhedssårbarheder opdaget i forskellige iOS-versioner.

Hukommelse lækker

Hukommelseslækager er blokke af allokeret hukommelse, som programmet ikke længere bruger. Hukommelseslækager får din iOS-applikation til at gå ned.
De er fejl og bør altid rettes.

iOS tester MindMap

IOS test af MindMap

Som vist i ovenstående figur, iOS Test MindMap viser alle de elementer, som testeren bør overveje, når de udfører test på iOS.

Tjekliste til iOS-applikationstest

Denne tjekliste er specielt designet til at teste egenskaberne ved iOS-mobilapplikationer. Det tester naturligvis kun generiske applikationsegenskaber og ikke funktionaliteten af ​​det.

  • Kontroller installationstiden, som applikationen tager på enheden. Sørg for, at programmet er installeret inden for en acceptabel tid.
  • Når applikationen er installeret, skal du kontrollere, om applikationen har appikon og navn. Sørg også for, at både ikon og navn er selvforklarende, hvilket afspejler programmets kernehensigt.
  • Start applikationen, og kontroller, om splash-skærmen vises.
  • Tjek startskærmens timeout og den tid, det tager at indlæse startskærmen. Applikationens startskærm bør indlæses inden for en acceptabel tid. Hvis startskærmen kun tager længere tid at indlæse, så er der større chance for, at brugeren kan afslutte eller endda afinstallere selve applikationen. Tjek også, hvordan indholdet indlæses på startskærmen.
  • Applikationens hovedfunktion skal være tydelig med det samme. Det burde tale for sig selv.
  • Tjek, om appen understøtter både liggende og stående orientering. Hvis ja, tjek appen i begge retninger. Applikationens brugergrænseflade bør indstilles i overensstemmelse hermed.
  • Uden internetforbindelse skal du starte applikationen. Sørg for, at appen opfører sig som designet/ønsket. Der er en chance for, at applikationen kan gå ned, når den startes, eller måske bare viser en tom skærm.
  • Hvis applikationen bruger placeringstjenester, skal du kontrollere, om advarsel om placeringstilladelse vises eller ej. Denne advarsel bør kun sendes til brugeren én gang.
  • Hvis applikationen sender push-beskeder, skal du kontrollere, om tilladelsesadvarsel til push-beskeder vises eller ej. Denne advarsel bør også kun stilles til brugeren én gang.
  • Start applikationen, luk den og genstart. Tjek om appen opfører sig som designet/ønsket
  • Luk applikationen ved at trykke på Hjem-knappen på enheden og åbn appen igen. Tjek om appen fungerer som designet/ønsket.
  • Når den er installeret, skal du kontrollere, om appen er opført i iPhones indstillingsapp.
  • Når applikationen er sat live, skal du kontrollere, om applikationen kan findes i "App Store". Der vil være understøttet OS-version til applikationen. Så sørg for, at applikationen kan findes i de understøttede OS-versionsenheders "App Store". Applikationen bør heller ikke være opført i enhedens "App Store", der ikke understøttes af OS-versionen.
  • Kontroller, om applikationen går i dvaletilstand, når den kører i baggrunden, for at forhindre batteriafladning.
  • Hvis applikationens ydeevne er langsom, eller når indholdet indlæses, skal du kontrollere, om der er et statusikon for status ("indlæser..."), helst med en specifik meddelelse.
  • Søg efter applikationen med dens navn i enhedens søgelinje. Tjek, om appen er på listen
  • Tjek, om udseendet af knapper, der udfører standardhandlinger, ikke ændres i appen (f.eks.: Opdater, organiser, papirkurv, Svar, tilbage osv.)
  • Kontroller, om standardknapper ikke bruges til andre funktioner, end de normalt bruges til

iOS teststrategi

Nedenstående figur introducerer nogle almindelige typer iOS-teststrategier.

IOS teststrategi

Automatiseret test

Automatiseret test er de største fordele ved iOS-test. Det giver dig mulighed for hurtigt at opdage fejlen og ydeevneproblemer. Fordelene ved automatiseret test som vist nedenfor:

  • Automatiseret test kan køre på flere enheder, hvilket sparer din tid
  • Automatiseret test kan målrette mod SDK'er. Du kan køre test på forskellige SDK-versioner
  • Automatiseret test øger din testproduktivitet, spar dine omkostninger til softwareudvikling
  • Der er mange open source-testrammer, der understøtter automatiseret test på iOS

Enhedstest med OCUnit

Da den originale iOS SDK blev frigivet, manglede den Enhedstest kapaciteter. Så Apple har bragt tilbage OCUnit enhedstestløsning i iOS SDK version 2.2.

OCUnit er en testramme for C- Objective i Mac OS. De største fordele ved en OCUnit-ramme er den tætte integration i Xcode udviklingsmiljø som vist nedenfor.

Enhedstest med OCUnit

Nogle af fordelene ved OCUnit er vist i nedenstående figur.

Enhedstest med OCUnit

UI-test med UIAutomation

UI-test med UIAutomation

UI-automatisering er en JavaScript bibliotek leveret af Apple Inc., som kan bruges til at udføre en automatiseret test på rigtige enheder og på iOS Simulator. Denne ramme er tilføjet til iOS SDK4.0. Ved hjælp af UI Automation kan du automatisere test af applikationen ikke kun på simulatoren, men også den rigtige enhed.

UIAutomation giver dig disse fordele:

  • Reducer indsatsen på Manuel testning
  • Brug mindre din hukommelse til at udføre alle dine tests
  • Forenkle din UI-testprocedure (bare tryk på en eller tre knapper og kør fuld dine testsuiter)

UIAutomation-instrumentet arbejder ud fra scripts, som er skrevet ind JavaManuskript. Det simulerer brugerhændelser på mål iOS-applikationen.

UIAutomation Ulemper vs.Pros

FORDELE ULEMPER
1. God støtte til gestus og rotation Det er ikke open source, mindre støtte fra udvikleren
2. Kan køre UIAutomation-test på enheden, ikke den eneste simulator. Kan ikke integreres med andre værktøjer særlig godt
3. Udviklet af JavaScript, det er et populært programmeringssprog.

UI-test med UIAutomation

Ovenstående figur repræsenterer nogle almindelige klasser i UIAutomation framework.

  • UIAElement klasse er superklassen for alle brugergrænsefladeelementer i forbindelse med automatiseringen
  • UIATarget klasse repræsenterer brugergrænsefladeelementerne på højt niveau i det system, der testes
  • UIALogger klasse giver test- og fejlinformation om genfindingsfunktionalitet
  • UIActivityViewklasse giver adgang til og kontrol over aktivitetsvisninger i din app.
  • UIAAactionSheet klasse giver adgang til og kontrol over handlingsark i din app.
  • Bruger Begivenhedshandling
  • UISlider klasse
  • UIAButton klasse
  • UIAKøgle klasse
  • UIAKeyboard klasse

Andre automatiserede testrammer

  • Åben: Automatiseret Acceptance Test rammer til iPhone og iPad
  • KIF : er en iOS integrationstest rammer. Det giver mulighed for nem automatisering af iOS-apps ved at udnytte de tilgængelighedsattributter, som OS gør tilgængelige for dem med synshandicap.

Manuel test

Undersøgende test

Det er en test uden en formel testplan. Exploratory Testing er en billig testmetode, men den kan gå glip af de potentielle fejl i din iOS-applikation.

Udforskende test Ulemper vs. Fordele

FORDELE ULEMPER
1. Less forberedelse er nødvendig, tidlig opdage alvorlige fejl. Kræver høj dygtighed af testeren
2. Har ikke brug for Testplan fremskynde fejldetektion. Testdækningen er lav. Det garanterer ikke, at alle dine krav er testet.
3. De fleste fejl opdages tidligt ved en form for udforskende test Manglende testdokumentation

Bruger Testing

Brugertest er en type manuel test på iOS. Formålet med denne test er at skabe bedre apps, ikke kun fejlfri apps. Nedenstående figur viser fire typer brugertest

Bruger Testing

Koncepttest

Evaluer brugernes reaktion på en applikationsidé, før den frigives på markedet. Procedurer for koncepttestning på iOS er beskrevet som nedenfor

Begrebetest

Usability Testing

Usability Testing er en test, hvor nemt at bruge din iOS-applikation. I iOS-test kunne usability-test være registreres at huske eller dele med andre.

Der er nogle værktøjer, der understøtter brugervenlighedstest på iOS.

TryMyUI mobile brugertest apps til Android og iOS.

Delight.io, kan dette værktøj fange ægte brugerinteraktion på dine iOS-apps.

Betatestning

Beta-test er integrationstest med rigtige data for at få endelig feedback fra brugerne. For at distribuere dine apps til beta-testning skal du følge trinene nedenfor.

Beta-testning

-Pre-condition: Hvis du betatester en endelig kandidat til en udgivelse, skal du sørge for at validere appen, før du distribuerer den til testere.

-Find tester via service: du indsamler enheds-id'er fra testere og tilføjer dem til Medlemscenter

-Opret ad hoc distribution: Ad hoc-distribution giver testeren mulighed for at køre din app på deres enhed uden behov Xcode. Dette trin omfatter 2 undertrin

  • Opret distributionscertifikater
  • Opret ad-hoc-klargøringsprofiler

-Bed om feedback fra testeren: Testeren udfører test og sender fejlrapporter til dig. Når din app er frigivet, kan du få rapporterne fra iTunes tilsluttes.

A / B-test

A / B-test er en af ​​de mest kraftfulde måder at evaluere effektiviteten af ​​din iOS-app. Det bruger randomiserede eksperimenter med to enheder, A og B.

A / B-test

A/B-test omfatter tre hovedtrin

  • Konfigurer en test: Forberedte 2 versioner af din iOS-app (A & B) og testmetrik
  • Test: Test 2 iOS-apps-versioner ovenfor på enheder samtidigt.
  • Analyser: Mål og vælg en bedre version at frigive

Følgende værktøjer understøtter A/B-test på iOS.

  • Opstå: A/B-test til både iOS og Android. Den kan integreres i din iOS-app og gøre testprocessen hurtigere.

Bedste praksis for A/B-test

  • Definer mål af din test. Enhver test er ubrugelig uden et mål.
  • Ur slutbrugere bruger din app første gang
  • Kør en test kun pr. opdatering. Det sparer din tid, når du udfører test
  • Overvåg din test omhyggeligt. Du kan lære erfaringer fra din test ved at overvåge den.

iOS test Bedste praksis

Her er nogle tips, du bør vide, når du organiserer testen af ​​din iOS-applikation

  1. Test applikationen på en ægte enhed for at blive rigtig om ydeevne
  2. Forbedre dine testmetoder, fordi traditionelle testmetoder ikke længere er tilstrækkelige til at dække alle test på iOS-test
  3. Ved brug af konsol log for at teste iOS-applikationen. Dette er en iOS-funktion, der indeholder oplysninger fra hver applikation på enheden.
  4. Dokument applikationsfejl ved hjælp af indbygget skærm kort kommando. Det hjælper udvikleren med at forstå, hvordan fejlene opstår.
  5. Crash-rapportering er nyttige værktøjer, når du tester din applikation. De kan registrere nedbrud og logge detaljer, så du nemt kan undersøge fejlene.

MYTER om iOS-test

Dette afsnit undersøger et par populære myter og realiteter ved iOS-test

Test af applikation på iOS og Android er det samme.

iOS og Android er to platforme blev udviklet af Apple Inc og Google. De er helt forskellige. Osv testmiljøer, testrammer, programmeringssprog.

Testapplikation på iOS Simulator er nok.

iOS Simulator er ikke stærk nok til at teste en app. Fordi iOS Simulator har nogle begrænsninger:

  • Hardwarebegrænsninger (kamera, mikrofonindgang, sensor)
  • Din apps brugergrænseflade kan se ud til at køre både hurtigere og glattere end på en enhed
  • API-begrænsninger
  • Nogle rammer understøttes ikke (Media Player, Store Kit, Message UI..)

Alle vil downloade mine apps i App Store, fordi den har mange funktioner

Jo flere funktioner din applikation har, jo flere fejl kan du få. Ingen bruger vil downloade din applikation, hvis den stadig har mange defekter.