android app testing tutorial
Grundlæggende videnindsamling inden test af Android-apps:
Som titlen på sig selv antyder, vil vi i denne vejledning diskutere mere om Android-testprocessen.
Men inden jeg går ind i de forskellige detaljer i Android-testprocessen, vil jeg gerne stille et par spørgsmål.
Ejer du en mobiltelefon?
Hvor dumt er det spørgsmål nu! Selvfølgelig gør vi alle det. Alle har en mobiltelefon. Mobiltelefoner er blevet en grundlæggende nødvendighed af menneskelig eksistens i dag.
Kan du fortælle mig, hvilket operativsystem der er der på din telefon?
Hvis du købte din telefon mellem 2014-16, er chancerne for, at din telefon kører på Android omkring 80-85%.
Hvad du lærer:
- Vækst af Android
- Introduktion til Android-applikation
- 'Opgaveliste' før testprocessens start
- Testtyper til mobilapps
- Bedste fremgangsmåder i Android-apptest
- Android Testing Framework
- Konklusion
- Anbefalet læsning
Vækst af Android
Nedenstående statistikker beskriver mere om væksten i Android på en let forståelig måde.
- Tilbage i 2009 var Android en nybegynder og udgjorde kun 3,9% af det samlede marked.
- Den største bidragsyder var derefter Symbian OS med et kæmpe antal på 47% [Gyldne dage af Nokia].
- Denne tendens begyndte at ændre sig gennem årene, og Android er nu nået til 85,2% i 2016.
[ billedkilde ]
- Ovenstående tal gælder kun for mobiltelefoner. Android OS har også stor indflydelse i tabletindustrien. Fra 4,4% markedsandel i 2011 til 35,7% i 2015 taler om den interesse, som folk har udviklet over for Android-drevne tablet-enheder.
[ billedkilde ]
- Google Play-butikken har også set en hurtig stigning i downloadnumre. Fra 2010 til 2016 er antallet steget fra 1 milliard downloads om måneden til 65 milliarder downloads om måneden.
- Appdownloads er også meget påvirket af de lave priser [Gns .: 0,06 $ / app] på Android-apps sammenlignet med iOS-apps.
Hvorfor tog jeg dig bare igennem alle disse tal?
Det var bare for at gøre dig opmærksom på, hvor enorm Android er vokset, hvor vanskelig appudviklingen er blevet, og hvor meget marked dette operativsystem har fanget i det sidste årti.
Hvert websted, Windows-app og Mac-app har et Android-søskende nu. Alle går efter at udvikle en app til Android, så snart de planlægger at udvikle en webside / windows-app. Det er nu blevet nødvendigt, da kunderne også er begyndt at foretrække mobilapps frem for computerapps eller websteder i de seneste år.
Nogle af de apps, der ofte bruges i vores daglige aktiviteter er Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp osv.
Årsagen til stigningen i Android-markedet er, at:
- Det er et åbent system, derfor er det let at tilpasse, let at lære, og endda appudvikling er lettere.
- Det er ret nemt at offentliggøre en app i Google Play-butikken sammenlignet med de andre playbutikker.
- Der er flere producenter på markedet for Android-telefoner som Sony, HTC, Samsung, Motorola osv.
- Der er et stort antal funktioner på Android som DualSIM, microSD, aftageligt batteri osv., Hvilket er en ekstra fordel for det.
- Priserne på Android-telefoner er ikke for høje, og det er overkommeligt osv.
Sammen med udviklingsbehovet for Android-apps har der også været en stigning i kravet til testere, der er vidende om android-test.
Før du begynder at teste en hvilken som helst Android-applikation, skal du som tester lave en masse lektier. Den første ting at gøre er at studere OS og dets historie. Hvis du ikke kender operativsystemet, kan du ikke teste appen mod de forskellige versioner. Den grundlæggende funktionalitet i OS-versionen, UI, GPS, understøttelse af netværkstype, batterilevetid osv. Er nogle af de vigtige aspekter, der påvirker en app.
Med Android er det ikke kun operativsystemet, men overfloden af enheder, der også har brug for en undersøgelse.
Et stort antal enheder er tilgængelige på markedet, og inden du færdiggør og fryser din testseng, skal du finde ud af målgruppens enhedsandel. De forskellige enheder, der tilbyder forskellige funktioner som DualSIM, dobbelt kamera, skærmopløsning, temaer osv., Påvirker en app, og de skal testes.
Derfor er det meget vigtigt for en kvalitetssikring at samle en omfattende viden om det komplette Android-økosystem.
Introduktion til Android-applikation
Der er forskellige testmetoder, der efterfølges af succesfuld certificering af en Android-app.
En typisk Android-apparkitektur ligner diagrammet vist nedenfor:
spørgsmål til javascript-interview til erfarne fagfolk
Baseret på ovenstående figur er der to muligheder for en app:
1) Mobilapp til webapplikationen: Det kan være muligt, at kunden har en webapp og ønsker at oprette en mobilapp til det samme. Amazon, Jabong, Myntra osv. Gjorde det samme, og i det øjeblik mobilapps begyndte at skabe et boom på markedet, indså disse kommercielle virksomheder, at folk snart vil flytte fra webapps til mobilapps.
2) Mobile App som en separat forretningsenhed: Jeg testede en lignende logistik-app for at øge forretningen oprettede den en separat app til sine chauffører for at lette en jævn levering og fjernede papirerne.
Chaufførerne havde appen installeret på deres telefoner for at flytte forsendelsen til forskellige leveringsstadier og deres tilsvarende status, og leveringsopdateringer blev afspejlet i deres eksisterende webapp.
Andre sådanne Eksempler hvor mobilapp er en separat enhed er WhatsApp, apps til sundhedssporing som S Health osv.
'Opgaveliste' før testprocessens start
I modsætning til en normal testcyklus er der for den allerførste udgivelse af en mobilapp et par ting, der har brug for lidt ekstra forskning og planlægning for en vellykket levering af appen.
Følgende er nogle af de aktiviteter, der er vigtige for en kvalitetssikring, der skal udføres, inden den egentlige test starter:
# 1) Forskning på OS og enheder:
Bortset fra at forstå appkravet, skal du også forstå virkningen af de forskellige OS-versioner og enhedsmodellerne. Du skal oprette testtilfælde eller scenarier med OS og enhedsmodeller.
#to) Test seng:
I modsætning til desktop-, web- og iOS-apps er testbedskabelsen til Android-apps meget vanskelig på grund af det åbne Android-system. Beslutningen skal træffes efter drøftelse med BA, udviklere og produktindehavere for at finde målgruppen.
# 3) Testplan:
Da det er den første udgivelse, skal en godkendt plan med godkendt testleje, testtyper osv. Være på plads. Hvis der er brug for en separat tid til at undersøge funktionaliteter eller forretningsregler, eller hvis testningen bliver vanskelig osv., Skal alt være dækket af planen.
# 4) Automatiseringsværktøjer:
De automatiseringsværktøjer, der kræves til mobilapps, er meget forskellige fra desktop- eller webapps. Derfor kan det være nødvendigt at bruge ekstra tid og kræfter på at lære værktøjet. Den tid og kræfter, der kræves til det samme, skal godkendes af produktejeren eller kunden.
# 5) Testteknikker eller -metoder:
I modsætning til de konventionelle tests, som vi normalt gør, er der få test, der er meget specifikke for mobilapps. Nemlig felttest, GPS-test, billedoptagelsestest osv. Disse skal dokumenteres i testsagerne sammen med, hvordan denne type vil blive testet.
Testtyper til mobilapps
Følgende typer test udføres for at certificere en Android-applikation:
1) Funktionstest:
Test opnås normalt ved hjælp af brugergrænseflade-initierede teststrømme. Ikke kun strømmen af en use case testes, men de forskellige forretningsregler testes også. Test udføres ved at certificere kravene. dvs. om applikationen fungerer ud fra kravene.
Lad os tage Eksempel af Zomato-appen.
Når du starter appen, baseret på placeringen, vises listen over restauranter. Nu som en kvalitetssikring skal du teste listen over restauranter.
Dette er funktionstest, og her vil du teste funktionaliteter som:
- Kontroller, om restaurantkortene vises med placeringen.
- Kontroller, om de viste restauranter ligger inden for det givne område (km) for placeringen.
- Kontroller, om antallet af anmeldelser for hvert kort er synkroniseret med de givne anmeldelser.
- Kontroller, om tilføjelse af en ny restaurant til en placering afspejles i listen.
- Kontroller, om restauranterne er anført på baggrund af filtreringsreglen for Zomato osv.
2) Android UI-test:
Dette er en brugercentreret test af applikationen. I denne testfase testes emner som synlighed af tekst i forskellige skærme i appen, interaktive meddelelser, justering af data, appens udseende og følelse for forskellige skærme, feltstørrelse osv. Under dette.
For det samme ovenstående eksempel på Zomato ville UI-testene være:
- Kontroller, om kortene vises korrekt justeret med mobilskærmstørrelsen.
- Kontroller, om billedet af restauranten vises som forventet.
- Kontroller, om kortoplysningerne, restaurantens vurdering, køkkentype, adresse osv. Vises korrekt justeret.
- Kontroller, om rullingen på listen er fejlfri, og kortene ikke vises forkert justeret, når en lang liste med kort ruller osv.
3) Kompatibilitetstest:
Denne test udføres for det meste i form af to matricer af OS Vs app og Device model Vs app. Normalt leveres en liste over understøttet operativsystem (og undertiden enheder) af produktejeren eller kunden.
Behovet for denne test er:
- Når der tages hensyn til et operativsystem som Android, findes der 7 basisversioner, der forsømmer antallet af patchudgivelser / EP'er.
- Kan du gætte, hvilke typer Android-enheder der i øjeblikket fungerer over hele kloden? 1000? 2000? Forkert! Det rigtige svar er 24000. Der er 24000 typer unikke Android-enheder, der er til stede og aktive i verden.
- Med variationer som disse spiller kompatibilitetstest en vigtig rolle i certificeringen af en Android-app.
- Vi har ikke kun brug for at validere operativsystemet og typen af enheden, men også validere få andre funktioner, der falder ind under kompatibilitetstest. Funktionerne inkluderer:
- Skærmstørrelse
- Skærmopløsning
- Netværksforbindelse
4) Interface test:
Med andre ord betegnes det også som integrationstest. Denne test udføres, efter at alle modulerne i appen er fuldt udviklet, testet individuelt, og alle fejlene er rettet verificeret.
Interface test inkluderer test som en komplet test til slutning af appen, interaktion med andre apps som Maps, sociale apps osv., Brug af mikrofon til at indtaste tekst, brug af kamera til at scanne en stregkode eller tage et billede osv.
Igen overvejer Zomato, ville integrationstestene være som:
- Kontroller, om brugeren er i stand til at reservere et bord til en restaurant.
- Kontroller, om brugeren er i stand til at se menuen og bestille mad online.
- Kontroller, om brugeren er i stand til at benytte en PayTM-kupon, mens han bestiller mad.
- Kontroller, om brugeren er i stand til at se restaurantens placering på Google Maps.
- Kontroller, om brugeren er i stand til at åbne telefonopkaldet og ringe til restauranten osv.
5) Netværkstest:
De vigtigste funktioner i netværkstest inkluderer:
- Appen skal tale med den mellemliggende service for at udføre processen.
- Under denne test testes anmodning / svar til / fra tjenesten for forskellige forhold.
- Denne test udføres hovedsageligt for at verificere svartiden, hvor aktiviteten udføres som at opdatere data efter synkronisering eller indlæsning af data efter login osv.
- Dette gøres for både stærk wifi-forbindelse og mobildatanetværket.
- Dette er en intern test.
6) Ydeevne test:
Udførelsen af applikationen under nogle særlige forhold kontrolleres.
Disse betingelser inkluderer:
- Lav hukommelse i enheden.
- Batteriet er ekstremt lavt.
- Dårlig / dårlig netværksmodtagelse.
Ydeevnen testes grundlæggende fra 2 ender, applikationsenden og applikationsservers enden
7) Installationstest:
Der er to typer apps på en Android-enhed, dvs. forudinstallerede applikationer og de applikationer, der installeres senere af brugeren.
For begge ovenstående skal installationstest udføres. Dette er for at sikre en jævn installation af applikationen uden at ende med fejl, delvis installation osv.
gratis backup-software til ekstern harddisk
Opgradering og afinstallationstest udføres som en del af installationstest.
8) Sikkerhedstest:
Privatliv og sikkerhed er de to vigtigste krav til en app. Men inden for bankvæsen, sundhedspleje, bliver dette det primære krav.
Test af datastrømmen til kryptering og dekrypteringsmekanisme skal testes i denne fase. Adgang til lagrede data testes også i denne fase.
9) Marktest:
Marktest udføres specifikt til mobildatanetværket og ikke internt, men ved at gå ud og bruge appen som en normal bruger. Denne test udføres 'kun', efter at hele appen er udviklet, testet og regresseret (til fejl og testcases).
Det gøres grundlæggende for at kontrollere appens opførsel, når telefonen har en 2G- eller 3G-forbindelse. Marktest bekræfter, om appen går ned under langsom netværksforbindelse, eller hvis det tager for lang tid at indlæse oplysningerne.
Du kan læse mere om feltprøvning i vores artikel “Betydningen og nødvendigheden af feltprøvning til mobile applikationer”
10) Afbryd test:
Denne type test kaldes også Offline Scenario Verification. Betingelser, hvor kommunikationen bryder i midten, kaldes offlineforhold.
Nogle af de betingelser, hvor afbrydelser af et netværk kan testes, er som følger:
- Fjernelse af datakabel under dataoverførselsprocessen.
- Netafbrydelse i transaktionsopslagsfasen.
- Netværksgendannelse efter en afbrydelse.
- Fjernelse af batteri eller tænd / sluk, når det er i transaktionsfasen.
Bedste fremgangsmåder i Android-apptest
Der er visse faktorer, der skal overvejes, når man lægger en strategi til test af mobilapp.
De er:
1) Valg af enhed:
- Dette er et af de mest kritiske trin, inden du starter testprocessen for Android-applikationer.
- Beslut hvilke enheder der skal tages i betragtning ved testprocessen.
- Valget skal udføres for at maksimere antallet af målkunder.
- Faktorer som OS-version, skærmopløsninger og formfaktorer [Tablet eller smartphones] spiller en vigtig rolle i udvælgelsesfasen.
- Hvis det er nødvendigt, kan der også tages højde for selv hjælp fra emulatorer.
- Men emulatorer bør ikke erstatte testprocessen for fysisk enhed.
- Enhedsemulatorer er omkostningseffektive, og de er nyttige i den indledende udviklingsfase.
- Men for at teste de virkelige scenarier er fysiske enheder et must. Både emulatorer og fysiske enheder skal bruges på en afbalanceret måde for et optimeret resultat.
2) Betatest af applikationen:
- Betatest er meget effektiv til test med de virkelige brugere, rigtige enheder, faktiske netværk og applikationer installeret i en bred geografi.
- Dette giver et klart billede af netværkstætheden, netværksvariationer [Wi-Fi, 4G, 3G og 2G] og indvirkningen på applikationen.
- Betatestning i den virkelige verden er en af sin slags og kan ikke replikeres i et kontrolleret miljø.
3) Forbindelse:
- Normalt er Android-applikationer tilsluttet internettet til forskellige krav.
- Forbindelsen på forskellige enheder spiller en nøglerolle i opstillingen af strategien.
- Forbindelsen styres hovedsageligt af simuleringssoftware, som hjælper med at regulere netværkshastighed, latenstid og begrænset forbindelse under test.
- Det siges, at test under reelle netværksforbindelser altid er tilrådeligt for realtidsresultater / data.
4) Manuel eller automatiseret test:
- Selvom automatiseringstest tager rigelig tid til det første løb, er det nyttigt, når testen skal gentages. Dette reducerer også den samlede testperiode i de forskellige udviklingsfaser.
- Android Automation skal være indkapslet med manuel test, når gentagelsen af regressionstest er høj i applikationsudviklingsfasen, kompatibilitetstest skal udføres for den samme applikation på forskellige OS-versioner, bagudkompatibilitetskontrolpunkter osv
Android Testing Framework
Der er en håndfuld Android-testrammer, der er tilgængelige.
I denne vejledning skal vi diskutere 3 forskellige typer mest anvendte rammer:
- Robotium testramme
- Robo-elektrisk test ramme
- Appium test Framework
1) Robotium Test Framework:
- Denne ramme bruges til at skrive sofistikerede og robuste testkasser til sort boks til Android-applikationer.
- Det understøtter både native såvel som hybridklienter.
- Funktioner, systemtestsager og brugeraccepttestsager kan skrives ved hjælp af denne ramme.
- Robotium understøtter Android 1.6 og nyere og understøtter også dialoger, menuer, aktiviteter osv.
- Denne ramme håndterer flere Android-aktiviteter automatisk.
- En håndfuld metoder gives som en del af Robotium til interaktion med forskellige grafiske komponenter i Android-applikationen. Nogle af dem er som nedenfor:
- gå tilbage();
- getButton ();
- isRadioButtonChecked ();
- searchText (“Bruger”);
- klik på knappen (“Logout”);
2) Robo-elektrisk testramme:
- Denne ramme hjælper med at teste Android-applikationer på JVM baseret på JUnit4-rammen.
- Det bruger Android API.
- Dette hjælper med at skrive testsager og køre dem på JVM.
- Under dette erstattes alle klasser med noget, der kaldes skyggeobjekter.
- Hver gang en metode implementeres, sender Robo-electric internt opkaldet til skyggeobjektet.
- Baseret på implementeringen returneres en værdi, hvis en metode implementeres af skyggeobjekt. Ellers returneres NULL.
- På grund af skyggeobjekterne og JVM bliver udførelsen hurtigere.
3) Testrammer-epoker;
- Denne ramme fungerer for native-, hybrid- og mobilweb-apps til Android-enheder.
- Appium er gratis at bruge værktøj.
- Single API fungerer både for Android og iOS-platformen. Dette er en af de rammer, der understøtter test på tværs af platforme.
- Det bruger Selenium Web-driver til at interagere med Android-applikationen.
- Appium understøtter scriptskrivning ved hjælp af mange programmeringssprog som Java, C #, Python, PHP, Ruby osv.
Konklusion
Android-applikationsautomatisering kan klubberes med manuel efter behov. Men hvis Androind Automation-test føjes til strategien, er det en stor opgave at vælge det rigtige værktøj. Mens du vælger automatiseringsværktøjsfaktorer som support under flere platforme, test workflow, pris på værktøjet, service / support osv. Skal der tages hensyn til.
Der er flere udfordringer involveret i Android-applikationstest. Der er forskellige faktorer, der skal tages i betragtning, før Android-testprocessen virkelig kan implementeres, men når det er gjort, bliver dette en meget interessant opgave.
Se vores kommende vejledning for at vide mere om Mobil testudfordringer og løsninger.
Anbefalet læsning
- 11 bedste automatiseringsværktøjer til test af Android-applikationer (Android App-testværktøjer)
- Mobile App Beta Testing Services (iOS og Android Beta Testing Tools)
- Opret appiumtest til en Android-app
- Funktionel testning mod ikke-funktionel testning
- Tutorials til test af mobilapps (En komplet guide med 30+ tutorials)
- Bedste softwaretestværktøjer 2021 [QA Test Automation Tools]
- Alpha-test og betatestning (En komplet guide)
- Dybdegående formørkelsesvejledninger til begyndere