Hvad er iOS-apptestning?
iOS-apptestning er en testproces, hvor en iOS-applikation testes på ægte Apple-enheder for at kontrollere, om den fungerer som forventet eller ikke for specifikke brugerhandlinger som installationstid, brugergrænseflade, brugeroplevelse, udseende, opførsel, funktionalitet, indlæsningstid, ydeevne, App Store-oversigt, OS-version support osv.
Hvorfor iOS-apptestning?
iOS-apptest er påkrævet, fordi iOS er Apples platform til mobilapplikationer, der blev frigivet den 29. juni 2007. I modsætning til Android licenserer Apple ikke iOS til installation på hardware, der ikke er fra Apple. iOS- og iOS-applikationer kan kun installeres på Apple-enheder, derfor skal din iOS-app være kompatibel med iOS-versioner og iOS-enheder.
Dette er det almindelige spørgsmål, når udvikler opretter en iOS-applikation.
Det betyder ikke noget, hvor meget tid du investerer i design og implementering, fejl er uundgåelige, og fejl vises. Der er nogle almindelige fejl på iOS-applikationen. Som vist i nedenstående figur.
- Applikation går ned
Et af de mest frustrerende problemer, når du bruger Apples enheder, er, at en applikation kan gå ofte ned under udførelse. Mange gange går appen ned, fordi der er fejl eller hukommelseslækage i apps.
- Ansøgningskompatibiliteter
Din iOS-applikation kører muligvis perfekt på den aktuelle iOS-version, men hvis iOS opgraderes, fungerer den muligvis ikke på grund af inkompatibilitetsproblemer.
- Sikkerhedssårbarhed
En sikkerhedssårbarhed i iOS gør det muligt for hacker at angribe dine iOS-enheder, stjæle dine private oplysninger. Indtil nu opdages alvorlige sikkerhedsproblemer i iPhone i forskellige iOS-versioner.
- Hukommelse lækker
Hukommelseslækage er blokke af allokeret hukommelse, som programmet ikke længere bruger. Hukommelseslækage får din iOS-applikation til at gå ned. De er bugs og skal altid rettes.
I denne vejledning lærer du-
- Hvorfor iOS-test?
- iOS-test MindMap
- Tjekliste til iOS-test
- iOS-teststrategi
- Automatiseret test
- Enhedstest med OCUnit
- UI-test med UIAutomation
- Manuel test
- Undersøgende test
- Brugertest
- Koncepttest
- Usability Testing
- Betatestning
- A / B-test
- iOS-test Bedste praksis
- MYTER OM iOS-test
iOS-test MindMap
Som vist i ovenstående figur viser iOS Testing MindMap alle de emner, som testeren skal 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 er klart, at det kun tester generiske applikationsegenskaber og ikke funktionaliteten af det.
- Kontroller installationstiden, som applikationen tager på enheden. Sørg for, at applikationen 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 kerneformål.
- Start applikationen, og kontroller, om skærmbilledet vises.
- Kontroller timeout for plasmaskærmen og den tid det tager at indlæse startskærmen. Applikationens startskærm skal indlæses inden for en acceptabel tid. Hvis startskærmen kun tager mere tid at indlæse, er der større chance for brugeren at afslutte eller endda afinstallere selve applikationen. Kontroller også, hvordan indholdet indlæses på startskærmen.
- Ansøgningens hovedfunktion skal være tydelig med det samme. Det skal tale for sig selv.
- Kontroller, om appen understøtter både liggende og stående retning. I så fald skal du tjekke appen i begge retninger. Programmets brugergrænseflade skal indstilles i overensstemmelse hermed.
- Uden en 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 ved start af den eller måske bare vise en tom skærm.
- Hvis applikationen bruger placeringstjenester, skal du kontrollere, om placeringstilladelsesalarmer vises eller ej. Denne advarsel skal kun bedes til brugeren en gang.
- Hvis applikationen sender push-underretninger, skal du kontrollere, om push-underretningstilladelsesadvarslen vises eller ej. Denne advarsel skal også kun blive bedt om til brugeren en gang.
- Start applikationen, afslut den og genstart. Kontroller, om appen opfører sig som designet / ønsket
- Luk applikationen ved at trykke på knappen Start på enheden, og åbn appen igen. Kontroller, om appen fungerer som designet / ønsket.
- Når det er installeret, skal du kontrollere, om appen er angivet i iPhones indstillingsapp.
- Når applikationen er gjort 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-versionens "App Store". Desuden bør applikationen ikke vises i en ikke-understøttet OS-version enhedens "App Store".
- Kontroller, om applikationen går i dvaletilstand, når den kører i baggrunden for at forhindre, at batteriet tømmes.
- Hvis applikationens ydeevne er langsom, eller når indholdet indlæses, skal du kontrollere, om der er et statusstatusikon ("Indlæser ..."), helst med en bestemt besked.
- Søg i applikationen med dens navn i enhedens søgefelt. Kontroller, om appen er på listen
- Kontroller, om udseendet af knapper, der udfører standardhandlinger, ikke ændres i appen (for eksempel: opdater, organiser, skrald, svar, tilbage osv.)
- Kontroller, om standardknapper ikke bruges til andre funktioner, så de normalt bruges til
iOS-teststrategi
Nedenstående figur introducerer nogle almindelige typer iOS-teststrategi.
Automatiseret test
Automatiseret test er de fleste fordele ved iOS-test. Det giver dig mulighed for hurtigt at opdage fejl og ydeevne. 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
- Automatisk test øger din produktivitet ved test, sparer dine omkostninger ved softwareudvikling
- Der er mange open source testrammer understøtter automatiseret test på iOS
Enhedstest med OCUnit
Da den originale iOS SDK blev frigivet, manglede den enhedstestfunktioner. Så Apple har bragt OCUnit-enhedstestløsningen tilbage 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.
Nogle af fordelene ved OCUnit er vist i nedenstående figur.
UI-test med UIAutomation
UI Automation er et JavaScript-bibliotek leveret af Apple Inc, som kan bruges til at udføre en automatiseret test på ægte enheder og på iOS Simulator. Denne ramme føjes 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 ved manuel testning
- Brug mindre din hukommelse til at udføre alle dine tests
- Forenkle din UI-testprocedure (tryk bare på en eller tre knapper, og kør dine testpakker fuldt ud)
UIAutomation-instrument fungerer fra scripts, der er skrevet i JavaScript. Det simulerer brugerhændelser på iOS-applikationen.
UIAutomation Cons vs. fordele
Fordele | Ulemper | |
---|---|---|
1. | God støtte til gestus og rotation | Det er ikke open source, mindre support fra udvikleren |
2. | Kan køre UIAutomation-tests på enheden, ikke den eneste simulator. | Kan ikke integreres med andre værktøjer ekstremt godt |
3. | Udviklet af JavaScript er det et populært programmeringssprog. |
Ovenstående figur repræsenterer nogle almindelige klasser i UIAutomation-rammen.
- Den UIAElement klasse er det super klasse for alle elementer i brugergrænsefladen i forbindelse med Automation
- Den UIATarget klasse repræsenterer højt niveau brugerinterface-elementer i systemet under test
- Den UIALogger klasse giver testen og fejloplysninger om hentning funktionalitet
- Den UIAActivityView klasse giver adgang til og kontrol af, aktivitet synspunkter i din app.
- Den UIAActionSheet klasse giver adgang til og kontrol af, action ark i din app.
- Bruger Hændelseshandling
- UISlider-klasse
- UIAKnapklasse
- UIAKey klasse
- UIAKeyboard-klasse
Andre automatiserede testrammer
- MonkeyTalk: Et værktøj til automatiseret test af iOS-, Android-, HTML5- og Adobe-applikationer. Det er et integreret miljø til styring og kørsel af testpakker
- Frank: Automated Acceptance Test framework til iPhone og iPad
- KIF: er en iOS- integration testramme . 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. Undersøgende test er en billig testmetode, men den kan gå glip af de potentielle fejl i din iOS-applikation.
Undersøgende test Ulemper vs. fordele
Fordele | Ulemper | |
---|---|---|
1. | Mindre forberedelse er nødvendig, detekteres tidligt alvorlige bugs. | Kræver høj dygtighed af testeren |
2. | Behøver ikke testplan hurtigere bugsporing. | Testdækningen er lav. Det garanterer ikke, at alle dine krav er testet. |
3. | De fleste bugs opdages tidligt ved en slags sonderende test | Manglende testdokumentation |
Brugertest
Brugertest er en type manuel test på iOS. Formålet med denne test er at oprette bedre apps, ikke kun bug-fri apps. Nedenstående figur viser fire typer brugertest
Koncept test
Evaluer brugersvar på en applikationside, inden de frigives til markedet. Procedurer for konceptafprøvning på iOS er beskrevet som nedenfor
Usability Testing
Usability Testing er en test, hvor let at bruge din iOS-applikation. I iOS-test kan brugertest registreres for at huske eller dele med andre.
Der er nogle værktøjer, der understøtter brugervenlighedstest på iOS.
Magitest, en simpel iOS-brugervenlighedstest til websteder og apps.
Delight.io, dette værktøj kan fange reel brugerinteraktion på dine iOS-apps.
Betatestning
Betatestning er integrationstesten med ægte data for at få endelig feedback fra brugerne. For at distribuere dine apps til betatestning skal du følge trinene nedenfor.
- Forudsætning : Hvis du betatester en endelig kandidat til en frigivelse, 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 føjer dem til medlemscenteret
- Opret ad-hoc-distribution : Ad Hoc-distribution giver testeren mulighed for at køre din app på deres enhed uden behov for Xcode. Dette trin inkluderer 2 undertrin
- Opret distributionscertifikater
- Opret Ad-hoc klargøringsprofiler
- Anmod om feedback fra testeren: Testeren udfører test og sender fejlrapporter til dig. Når din app er frigivet, kan du hente rapporterne fra iTunes connect.
A / B-test
A / B-test er en af de mest effektive måder at evaluere effektiviteten af din iOS-app . Det bruger randomiserede eksperimenter med to enheder, A og B.
A / B-test inkluderer tre hovedtrin
- Konfigurer en test : Forberedte 2 versioner af din iOS-app (A & B) og testmåling
- Test : Test 2 iOS-appsversioner ovenfor på enheder samtidigt.
- Analyser : Mål og vælg en bedre version, der skal frigives
Følgende værktøjer understøtter A / B-test på iOS.
- Opstå: A / B-test for både iOS og Android. Det kan integreres i din iOS-app og gøre testprocessen hurtigere.
Bedste fremgangsmåder til A / B-test
- Definer målet for din test. Enhver test er ubrugelig uden mål.
- Se slutbrugere bruger din app første gang
- Kør kun en test pr. Opdatering. Det sparer din tid, når du udfører test
- Overvåg din test nøje. Du kan lære erfaringer fra din test ved at overvåge den.
iOS-test Bedste praksis
Her er nogle tip, du bør vide, når du organiserer testen af din iOS-applikation
- Test applikationen på en rigtig enhed for at få reel om ydeevne
- Forbedre dine testmetoder, fordi traditionelle testmetoder ikke længere er tilstrækkelige til at dække alle test på iOS-test
- Brug af konsollog til at teste iOS-applikationen. Dette er en iOS-funktion, der indeholder oplysninger fra alle applikationer på enheden.
- Dokument applikationsfejl ved hjælp af indbygget kort kommando. Det hjælper udvikleren med at forstå, hvordan fejlene opstår.
- Rapportering om nedbrud 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 den samme ting.
iOS og Android er to platforme blev udviklet af Apple Inc og Google. De er helt forskellige. Etc 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 synes 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 appbutikken, fordi den har mange funktioner
Jo flere funktioner din applikation har, jo flere fejl kan du få. Ingen brugere downloader din applikation, hvis den stadig har mange mangler.