ios app testing beginners guide with practical approach
Grundlæggende videnindsamling til iOS-apptest:
”Du ved, alle har en mobiltelefon, men jeg kender ikke en person, der kan lide deres mobiltelefon. Jeg vil lave en telefon, som folk elsker. ” - Steve Jobs.
Det handlede om iPhone af Steve Jobs. Steve fik Apple virkelig til at arbejde hen imod at gøre deres mobile enhed til en favorit for alle.
Brugere har altid elsket Apple-mobile enheder, det være sig, iPhone, iPod Touch eller iPad. Nuværende data tyder på, at der er næsten 1 milliard Apple-enheder i drift i verden, der kører på iOS.
Det er en hel milliard af dem.
Følgende er markedsandelsanalysen af iPhones i 2016:
top videospilvirksomheder at arbejde for
(billede kilde )
Hvad du vil lære:
- iOS
- iOS-test
- Typer af iOS-applikationstest
- Manuel test - Brug af enhed
- Manuel test - Brug af emulator
- iOS-automatisering
- Bedste fremgangsmåder til test af iOS-apps
- iOS Automation Frameworks
- Konklusion
- Anbefalet læsning
iOS
iOS er et mobilt operativsystem, der er designet af Apple netop til deres enheder, ofte betegnet som iDevices. Siden 2007, da iOS kun blev lavet til iPhones, udviklede operativsystemet sig til at understøtte Touch-enhederne og iPadsne.
Nuværende forskning rapporterer, at iOS er det næstmest populære mobile operativsystem på markedet. Android kører på enheder bygget af forskellige producenter, men det smukke ved iOS er, at det kun er begrænset til Apple-hardware, hvilket tydeligt angiver operativsystemets popularitet.
iOS har set i alt 10 store udgivelser gennem årene og har tilbudt bemærkelsesværdige funktionsopdateringer i hver udgivelse.
Dette iOS-operativsystem er berømt for dets brugervenlighed, flydende drift, crashfri apps osv. Mens vi diskuterer APP'erne, er Apple iTunes app store til iOS ret for rig med et antal apps, der skyder op til 2,2 millioner. Downloadingen af apps er hurtigt steget til hele 130 milliarder i antal.
iOS er et operativsystem, som ikke er begrænset af nogen zone- eller sprogbarriere. Dette er en af de vigtigste faktorer i dette operativsystem, der bliver så berømt på kun 10 år af dets udvikling. Det understøtter 40 forskellige sprog.
Ikke kun sprogene, selv brugergrænsefladen på iOS-enheder er også meget tiltalende og klassisk sammenlignet med Android-enhederne.
Mens vi taler om applikationerne i detaljer, er nedenstående nogle af statistikkerne om det:
- Apple iTunes App Store får næsten 1000 nye ansøgninger hver dag.
- Omkring 1/3rdaf de samlede applikationer i Apple iTunes app store er gratis at downloade.
- De betalte iOS-applikationsomkostninger varierer i gennemsnit fra 1,10 til 1,30 $.
- Den gennemsnitlige pris for et iOS-spil varierer fra 0,55 til 0,65 $.
Hvor mange applikationer har du brugt på din iPhone, iPod Touch eller iPad?
En hel håndfuld! Ret? Startende fra Gmail og Facebook til Clash of Clans and Asphalts. Denne form for applikationer, numrene og de mange forskellige brugere giver softwaretestere en seriøs forretning. Gør de ikke ??
Som tester skal ikke kun funktionaliteten, men en grundig UI-test også gøres for at verificere appen på iPhone, iPod og iPad på grund af variationen i deres størrelser.
iOS-test
Som diskuteret tidligere er iOS kun begrænset til Apple-hardware eller Apple-fremstillede enheder. Det er virkelig en enorm lettelse. Der er dog mange Apple-enheder og deres versioner, der understøtter iOS.
Bundlinjen er, at Apple har et lukket system i modsætning til Android, som er et åbent system. Udgivelserne af OS eller enheder er godt planlagt.
Dette er en ekstra fordel, fordi:
- Størrelsen på de enheder, der er tilgængelige eller vil blive frigivet, er faste, og som en kvalitetssikring skal vi have en meget klar idé om, hvad alle enheder er ude af markedet. Det bliver let for en kvalitetssikring at beslutte testbedet til test
- Ligesom enheder behøver vi ikke foretage en dyb analyse for operativsystemet, da det er et lukket system, det er mindre tid (og kræfter) krævende at beslutte, om testlejet til OS-test.
- Apple har et stort udvalg af deres egne automatiseringsværktøjer, selvom de er lidt vanskelige at lære.
- Jeg husker, at til GPS-test til Android måtte jeg bruge 2-3 dage på at finde ud af, hvordan man opretter dummy-scripts til at sende falsk placering. Men det var meget simpelt og ligetil i iOS, da det har en indbygget funktionalitet til at sende falsk GPS til gå, løb, cykling osv.
- Til den første test anbefales det ikke at teste GPS'en ved hjælp af en feltprøve, det anbefales at sende dummy GPS-data, og det sparer også tid.
- Apple har strenge retningslinjer for indsendelse af en ansøgning, dette er en stor hjælp på en måde snarere end at blive afvist efter indsendelse og en god chance for succes, i modsætning til andet operativsystem, hvor der ikke er nogen strenge retningslinjer.
- Enhedens og operativsystemets funktionalitet er fast og ligetil, hvorfor det reducerer chancerne for at gå glip af de måder, hvorpå en app kan arbejde. I iOS er der ingen måde at tvinge til at stoppe en app, mens vi kan dræbe og tvinge stop apps på Android. Således reduceres kompleksiteten til test her.
Dette er nogle af de fordele, vi får fra Apple-produkter, men ikke nødvendigvis, at det er fordelene ved hvert produkt eller app. Mens det for apps, der er udviklet på tværs af platforme, er iOS svært at håndtere.
Det højt niveau klassificering er som vist nedenfor:
Det første skridt i at komme ind i iOS-applikationstest er at overveje typen af implementering.
Applikationsimplementeringen kan være en af nedenstående 3 typer:
1) Webbaserede applikationer: Dette er de applikationer, der opfører sig på samme måde som indbyggede iOS-applikationer. Dette er de normale websteder, som en bruger åbner i iPhones Safari-browser.
2) Native ansøgning: En applikation, der er udviklet ved hjælp af iOS SDK (Software Development Kit) kører indbygget på de understøttede iOS-enheder som VLC, Flipboard, Uber osv.
3) Hybrid anvendelse: Dette er blandingen eller hybrid af begge de ovennævnte typer. Dette giver adgang til webindholdet gennem et område til visning af webindhold og har også nogle brugergrænsefladeelementer til iOS. For eksempel. Zomato, Twitter, Gmail osv
Typer af iOS-applikationstest
De forskellige typer iOS-applikationstest (som det gøres under typiske forhold) kan være som følger:
- Manuel test - Brug af enhed
- Systemtest
- UI / UX-test
- Sikkerhedstest
- Field Testing
- Manuel test - Brug af emulator
- Enhedstest
- Integrationstest
- UI-test
- Automatiseringstest
- Regressionstest
- BVT-test
- Kompatibilitetstest
- Test af ydeevne
Eksempel på en applikation:
Før vi går ind i de forskellige aspekter af iOS-testprocesser, lad os tage et eksempel på en typisk iOS-applikation.
Lad os tage en ansøgning om fundraising til et sportshold i betragtning. Ansøgningen vil have et socialt konto-login (Google / Facebook) og en betalingsside.
Før du går til betalingssiden, skal der være en mulighed for at vælge de systemdefinerede beløb eller et brugerdefineret felt for at indtaste beløbet. Når betalingen er gennemført, skal der vises et certifikat-PDF på skærmen, og på samme tid skal PDF'en også sendes til e-mail-kontoen til den bruger, der i øjeblikket er logget ind.
Manuel test - Brug af enhed
a) Systemtest:
Denne type iOS-test udføres på systemet for at kontrollere, om de forskellige komponenter i systemet fungerer sammen.
I denne testproces startes iOS-applikationen på en ægte Apple-enhed efterfulgt af dens interaktion med brugergrænsefladen for at udløse et eller flere specifikke sæt brugerhandlinger. Typiske brugerhandlinger kan være en berøringshandling eller en strygning på skærmen.
Endelig testes resultatet mod det forventede resultat.
For voresEksempelovenfor, kan en typisk systemtest omfatte følgende trin:
bedste software til at oprette rutediagrammer
- Log ind på iOS-sportsholdet og fundraising-applikationen ved hjælp af Facebook-konto-login ved hjælp af åben godkendelse.
- Vælg et foruddefineret systembeløb på $ 10 fra de givne muligheder.
- Fortsæt til betalingsgatewayen.
- Vælg PayTm mobil tegnebog til betalingsprocessen.
Systemtest er de operationer, der for det meste dækker de forskellige End to End-strømme i systemet. Hver test skal udføres med de forskellige tilgængelige konfigurationer. Og det afhænger også af enheden og iOS-versionen, som applikationen er installeret på.
b) iOS UI-test
UI / UX på iOS-enhederne har været et nøgleelement i deres succeshistorie.
UI / UX-test i iOS-enheder kan klassificeres i følgende kategorier:
- Indgange: Test af berøringsskærmsfunktionaliteter (som lang / kort berøring, 3D-berøring, rulning), knapstørrelser, placering af knapperne, skrifttypernes farve og deres størrelse osv. Falder ind under denne kategori.
- Hard Keys: Indfødte applikationer fungerer problemfrit med de indbyggede hardwaretaster / hardtaster, der findes på enheden, såsom Home Key, Sound-knapper osv. Den testede applikation skal også interagere med hardkeys på lignende måde.
- Soft Keys / Soft Keyboard: Hvor irriterende er det, når tastaturet ikke vises, når du er på din Whatsapp-meddelelsesside? Udseendet på et tastatur, mulighed for at skjule, når du ikke har brug for det, understøttelse af smileys, symboler, alle tegn / symboler osv. Er nødvendige.
- I vores Eksempel kan tastaturet komme ind i billedet flere steder, f.eks. indtastning af det brugerdefinerede beløb, indtastning af legitimationsoplysninger / kortoplysninger i betalingsgatewayen osv.
- Skærm: Hvis applikationen understøttes på tværs af flere enheder, skal den testes for dens retning i alle enhederne. Der kan være nogle opløsningsændringer baseret på den enhed, der er valgt til testprocessen. Samtidig skal test også udføres for stående / liggende tilstande og brug af tastaturet i hvert tilfælde.
Hvis din app er oprettet ikke kun til iOS, er der få henvisninger, der skal testes specifikt til iOS som:
- Lister: I iOS, når der er en liste, der skal vises, vises den altid en helt ny skærm, i modsætning til Android, hvor en pop op vises.
Følgende er et eksempel på det samme:
( kilde )
- Beskeder: Når en app går ned, er beskeden vist i iOS forskellig fra den i en Android. Også hvis du har observeret, blinker små beskeder på Android-telefoner, når du frigør hukommelse som '#GB-hukommelse frigjort' osv., Men vi kan aldrig se flashbeskeder i iOS.
Følgende er et eksempel:
( kilde )
- Slet bekræftelse: Hvis du nøje overvåger en iOS-app, i en popup til sletningsbekræftelse, er handlingen Annuller til venstre for indstillingen Slet. Mens det er i Android eller andet operativsystem, er det omvendt.
Dette er nogle af eksemplerne, der har brug for separate testtilfælde og test, da iOS har sin standard brugergrænseflade, meddelelser osv., Som ikke kan ændres.
c) Sikkerhedstest:
I vores eksempel , vi har en applikation med en betalingsgateway og en login side understøttet af social side integration.
For eksempel Lad os antage, at du har en ICICI-app på din telefon, og når du logger ind i stedet for dine kontooplysninger, hvis en andens oplysninger vises, eller hvis du udfører en pengeoverførsel, og appen sender OTP til et andet telefonnummer, som ikke er din , du kan forestille dig, hvad der vil ske. Således er sikkerhedstest et must.
Data med hensyn til login til sociale medier og betalingsgatewayen skal krypteres eller sikres for at gøre applikationen sikker fra hacks.
d) feltprøvning:
En feltprøve udføres for at kontrollere appens opførsel på telefonens datanetværk.
Denne test udføres normalt, når appen når et stabilt stadium og ikke går ned, når den testes internt, og alle funktionalitetsproblemer er løst. Dette gøres hovedsageligt for at teste appens ydeevne på det langsomme datanetværk.
Manuel test - Brug af emulator
a) Enhedstest:
Dette gøres for det meste af udviklingsteamet / den enkelte udvikler. Denne test kontrollerer, om et bestemt modul af kildekoden fungerer som forventet eller ej.
Udviklere designer testtestsager til en enkelt komponent, dvs. et isoleret modul, som de arbejder på. Denne test viser, at det enkelte modul fungerer, hvorefter det injiceres i kildekoden for at fungere som et element i den integrerede arkitektur. Som headeren siger, er dette for det meste en manuel testkørsel og udført ved hjælp af testemulering.
b) Integrationstest:
I de foregående trin diskuterede vi mere om enhedstest. Nu, da vi er sikre på de enkelte enheds / modulers funktionalitet, bliver det også nødvendigt at kontrollere integrationen. Denne test udføres for at finde ud af problemerne i forbindelse med forskellige integrationspunkter.
I vores Eksempler , kan vi kalde login som et modul og betalingsgateway som et andet modul.
Enhedstestning dækker testningen af begge individuelt. Imidlertid vil integrationstest teste integriteten af begge moduler.
c) UI-test:
Som forklaret ovenfor skal der foretages en UI-test for en app, da den er en nøglefaktor for appens succes.
Det er praktisk taget ikke muligt at købe alle telefonmodeller til test, fordi det koster meget. Derfor er brug af emulator den bedste løsning, da det er gratis, og også åbenlyse UI-bugs er let fanget på emulatorer.
iOS-automatisering
a) Regressionstest:
I det stadigt skiftende miljø foretages der løbende ændringer for at forbedre applikationen eller for at løse de problemer, der blev fundet i den tidligere version af den. Under implementeringen af ændringerne kommer der chancen for, at ændringerne i applikationen kan ændre den eksisterende funktionalitet.
Enkelt sagt kan de udførte ændringer introducere et nyt sæt problemer i applikationen.
For at kontrollere, om applikationen fungerer på samme måde, selv efter at ændringerne er implementeret, skal der udføres regressionstest. Og da det er en gentagen aktivitet, er automatisering praktisk til denne form for testkørsel.
b) BVT-test:
Det er en god skik at have en automatisk pakke kørt på den nye build frigivet til test, da det sparer meget tid, og hvis de grundlæggende funktioner går ned, rapporteres det med det samme. Sammenlignet med en manuel indsats kan resultaterne af automatiserede grundlæggende verifikationstest for at acceptere eller afvise en build tages på få minutter.
c) Test af kompatibilitet:
Som diskuteret er der mange enheder / typer, der frigives af Apple. For at være præcis findes der 15 forskellige typer iPhones, 6 iPod Touch-modeller, 10 iPad-modeller og 2 iPad Pro-modeller på markedet.
Nu, når en app som vores (Sportsholds fundraising-applikation) er udviklet, skal den understøttes af alle de ovennævnte enheder. Det indebærer en ting, som - Alle testtilfælde skal køre på alle disse enheder.
Nu er manuel indsats ikke mulig, når antallet af enheder er enormt som dette. For kompatibilitet foretrækkes automatiseringstest.
d) Ydelsestest:
Nogle af dem, der testes i Performance-test er:
- Hvordan applikationen opfører sig, når den er operationel eller kører i meget lang tid. I applikationsperioden skal applikationen kommunikere / interagere / forblive inaktiv.
- Den samme operation skal udføres med forskellige belastninger hver gang.
- Hvordan systemet opfører sig, når dataoverførslen virkelig er enorm.
Disse sager er gentagne i karakter og udføres for det meste ved hjælp af automatisering.
Bedste fremgangsmåder til test af iOS-apps
Test af iOS-applikationer kan være hårdt, besværligt, udfordrende, medmindre det gøres korrekt.
For at flytte iOS-app-test i den rigtige retning kan følgende fremgangsmåder implementeres:
# 1) Glem emulatorer: I de fleste tilfælde foretrækkes emulatorer frem for de rigtige enheder. Men det er ikke det ideelle tilfælde. Ting som brugerinteraktioner, batteriforbrug, netværkstilgængelighed, ydeevne ved brug, hukommelsestildeling kan ikke testes på emulatorerne. Så prøv at teste på rigtige enheder hele tiden.
# 2) Automatiser ting snarere end at gøre manuelt: Hvor hurtig er du i at udføre en bestemt opgave? I nutidens verden er alle primært bekymrede over den brugte tid. Automatisering reducerer ikke kun udførelsestiden, men øger også effektiviteten, effektiviteten og dækningen af softwaretesten.
# 3) Del arbejdet: Del testningen på tværs af teams inklusive udviklingsteamet. Vi kan få hjælp med hensyn til manuel udførelse af testsagerne samt få hjælp fra udviklingsteamet med hensyn til automatisering af manuelle testsager.
# 4) Fang nedbrudslogfiler: Applikationen til iOS kan fryse eller gå ned under visse omstændigheder. For at løse problemet spiller crash logs en vigtig rolle.
Følgende trin kan udføres for at registrere nedbrudslogfiler:
- For MacOS:
- Synkroniser iOS-enheden med computeren (Mac).
- I Mac OS skal du holde Option-tasten nede for at åbne menulinjen.
- Gå til menuen Gå, og klik på Bibliotek.
- Naviger til ~ / Library / Logs / CrashReporter / MobileDevice //.
- Logfilens navn skal starte med programmets navn.
- Til Windows OS:
- Synkroniser iOS-enheden med computeren (Windows).
- Naviger til C: Brugere AppData Roaming Applecomputer Logs CrashReporter MobileDevice \
- Logfilens navn skal starte med programmets navn.
# 5) Registrering af konsollogfiler:
Konsollogfiler giver den samlede information om applikationerne på iOS-enheden.
Dette kan gøres ved hjælp af værktøjer som iTools. I iTools-applikationen skal du klikke på ikonet “Værktøjskasse”, når iOS-enheden er tilsluttet det system, som iTools kører på. Hvis du klikker på 'Realtidslog', vises konsolloggen i realtid.
teknisk support analytiker interview spørgsmål og svar
# 6) Skærmbillede Det bliver let at forstå problemet, og derfor er det let at rette, hvis trinnene er visuelle.
Det tilrådes at optage skærmen eller tage skærmbilleder af problemerne for at få udviklingsteamet til at forstå dem bedre. Skærmbilledet kan tages ved hjælp af den indbyggede funktion ved at trykke på tænd / sluk- og startknappen sammen.
Optagelsen af en skærm kan udføres ved hjælp af Quick time player-optagelse, mens iOS-enheden er tilsluttet Mac ved hjælp af et lynkabel.
iOS Automation Frameworks
Nogle af de mest almindelige automatiseringsrammer er angivet nedenfor:
Nr. 1) epoker;
Appium bruger Selenium Web-driver til at automatisere iOS-applikationstest.
Denne platform er uafhængig og kan bruges både på internettet og mobile enheder (både Android og iOS). Dette er en open source og er ikke begrænset af sprog. Applikationsændringer eller kildekodeadgang er ikke påkrævet for automatisering ved hjælp af Appium.
Appium fungerer problemfrit uafhængigt af applikationstypen: det være sig, Native, Hybrid eller Web.
# 2) Kalebas:
Calabash er en open source-platform, der understøtter både Android- og iOS-automatiseringstest.
Kalebasprøver er skrevet i agurk, der svarer til en specifikations og er let at forstå. Calabash består af biblioteker, der gør det muligt for brugeren at interagere med både native- og hybridapplikationer. Det understøtter interaktioner såsom bevægelser, påstande, skærmbillede osv.
# 3) Earl Grey:
Earl Gray er Googles egen interne UI-testramme. Dette er blevet brugt til at teste YouTube, Google Fotos, Google Play Musik, Google Kalender osv.
Earl Gray er for nylig oprettet Open source. Nogle af de største fordele ved Earl Grey er, indbygget synkronisering, synlighedskontrol inden interaktioner, ægte brugerinteraktion (aflytning, strygning osv.). Dette svarer meget til Espresso fra Google, der bruges til Android UI-automatisering.
#4) UI Automation:
UI Automation er udviklet af Apple og ligner meget UI Automator til Android. API'erne er defineret af Apple, og testene er skrevet i JAVA.
# 5) HVORDAN:
KIF står for 'Keep it Functional'. Dette er en tredjeparts- og Open source-ramme.
Dette er en iOS-integrations-testramme, der er tæt knyttet til og bruges til XCTest-testmål. KIF er let at konfigurere eller integrere med Xcode-projektet, og det er derfor ikke nødvendigt med yderligere webserver eller yderligere pakker. KIF har en bred dækning med hensyn til iOS-versioner.
Konklusion
Test af iOS-applikationer kan være en meget udfordrende opgave at gøre. Håber du havde en god forståelse af test af iOS-applikationer gennem denne artikel.
Valg af den rigtige tilgang, den bedst mulige testproces, metoder, værktøjer, emulatorer / enheder osv. Vil dog gøre iOS-applikationstest meget vellykket.
Vores kommende vejledning orienterer dig om alle de grundlæggende koncepter, der er involveret i Android-app-testvejledning .
Anbefalet læsning
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Vejledning til bærbarhedstestning med praktiske eksempler
- Alpha Testing og Beta Testing (En komplet guide)
- Funktionel testning mod ikke-funktionel testning
- Opret Appium Test til en iOS-app
- Test af Primer eBook Download
- Hvad er tidlig test: Test tidligt, test ofte MEN hvordan? (En praktisk guide)
- Tutorials til test af mobilapps (En komplet guide med 30+ tutorials)