android app testing tutorial
Grunnleggende kunnskapsinnsamling før du tester Android-apper:
Som tittelen på seg selv antyder, vil vi i denne opplæringen diskutere mer om Android-testprosessen.
Men før jeg går inn i de forskjellige detaljene i Android-testprosessen, vil jeg stille et par spørsmål.
Eier du en mobiltelefon?
Nå, hvor dumt er det spørsmålet! Selvfølgelig gjør vi alle det. Alle har mobiltelefon. Mobiltelefoner har blitt en grunnleggende nødvendighet for menneskelig eksistens i våre dager.
Kan du fortelle meg operativsystemet som er der på telefonen din?
Hvis du kjøpte telefonen din mellom 2014-16, er sjansen for at telefonen din kjører på Android rundt 80-85%.
Hva du vil lære:
- Vekst av Android
- Introduksjon til Android-applikasjon
- 'To Do' -liste før testprosessen starter
- Testingstyper for mobilapper
- Beste fremgangsmåter for Android-apptesting
- Android Testing Framework
- Konklusjon
- Anbefalt lesing
Vekst av Android
Statistikken nedenfor beskriver mer om veksten av Android på en lett forståelig måte.
- Tilbake i 2009 var Android en nybegynner og utgjorde bare 3,9% av det totale markedet.
- Den viktigste bidragsyteren var da Symbian OS med et stort antall på 47% (Golden Days of Nokia).
- Den trenden begynte å endre seg gjennom årene, og Android har nå nådd til 85,2% i 2016.
( bildekilde )
- Ovennevnte tall er bare for mobiltelefoner. Android OS har også stor innvirkning i nettbrettindustrien. Fra 4,4% markedsandel i 2011 til 35,7% i 2015 snakker om interessen folk har utviklet for Android-drevne nettbrett.
( bildekilde )
- Google Play-butikken har også sett en rask økning i antall nedlastinger. Fra 2010 til 2016 har tallene økt fra 1 milliard nedlastinger i måneden til 65 milliarder nedlastinger i måneden.
- Appnedlastningene påvirkes også sterkt av de lave prisene (Gj.sn: 0,06 $ / app) på Android-appene sammenlignet med iOS-appene.
Hvorfor tok jeg deg bare gjennom alle disse tallene?
Det var bare for å gjøre deg oppmerksom på hvor enorm Android har vokst, hvor vanskelig apputviklingen har blitt og hvor mye marked dette operativsystemet har fanget det siste tiåret.
Hvert nettsted, Windows-app og Mac-app har et Android-søsken nå. Alle går for å utvikle en app for Android så snart de planlegger å utvikle en nettside / windows-app. Det har nå blitt nødvendig, ettersom kundene også har begynt å foretrekke mobilapper fremfor dataprogrammer eller nettsteder de siste årene.
Noen av appene som ofte brukes i våre daglige aktiviteter er Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp etc.
Årsaken til økningen i Android-markedet er at:
- Det er et åpent system, derfor er det enkelt å tilpasse, lett å lære og til og med apputvikling er lettere.
- Å publisere en app i Google Play-butikken er ganske enkelt sammenlignet med de andre spillbutikkene.
- Det er flere produsenter i markedet for Android-telefoner som Sony, HTC, Samsung, Motorola etc.
- Det er et stort antall funksjoner på Android som DualSIM, microSD, flyttbart batteri osv., Noe som er en ekstra fordel for den.
- Prisene på Android-telefonene er ikke for høye og det er rimelig osv.
I tillegg til utviklingskravet til Android-appene, har det også vært en økning i kravet til testere som er kunnskapsrike innen android-testing.
Før du begynner å teste Android-applikasjoner, må du gjøre mye lekser som tester. Den første tingen å gjøre er å studere operativsystemet og dets historie. Hvis du ikke kjenner operativsystemet, kan du ikke teste appen mot de forskjellige versjonene. Den grunnleggende funksjonaliteten til OS-versjonen, UI, GPS, støtte for nettverkstype, batterilevetid osv., Er noen av de viktige fasettene som påvirker en app.
Med Android er det ikke bare operativsystemet, men mengden av enheter som også trenger en studie.
Et stort antall enheter er tilgjengelig i markedet, og før du fullfører og fryser testsengen din, må du finne ut hvilken andel målgruppen har. De forskjellige enhetene som tilbyr forskjellige funksjoner som DualSIM, dobbeltkamera, skjermoppløsning, temaer osv., Påvirker en app og de må testes.
Derfor er det veldig viktig for en kvalitetssikring å samle omfattende kunnskap om det komplette Android-økosystemet.
Introduksjon til Android-applikasjon
Det er forskjellige testmetoder som følges av vellykket sertifisering av en Android-app.
En typisk Android-apparkitektur ser ut som diagrammet vist nedenfor:
det help desk intervju spørsmål og svar pdf
Basert på figuren ovenfor er det to muligheter for en app:
1) Mobilapp for webapplikasjonen: Det kan være mulig at kunden har en webapp og ønsker å lage en mobilapp for det samme. Amazon, Jabong, Myntra osv., Gjorde det samme, og i det øyeblikket mobilapper begynte å skape en boom i markedet, skjønte disse kommersielle selskapene at folk snart vil flytte fra webapper til mobilapper.
2) Mobilapp som en egen forretningsenhet: Jeg testet en lignende logistikk-app, for å øke virksomheten opprettet den en egen app for driverne for å lette levering jevnt og fjernet papirene.
Sjåførene hadde appen installert på telefonene sine for å flytte forsendelsen til forskjellige leveringsstadier og deres tilsvarende status, og leveringsoppdateringer ble reflektert i deres eksisterende webapp.
Andre slike Eksempler der mobilappen er en egen enhet er WhatsApp, helsesporingsapper som S Health etc.
'To Do' -liste før testprosessen starter
I motsetning til en vanlig testsyklus, for den aller første utgivelsen av en mobilapp, er det noen få ting som trenger litt ekstra forskning og planlegging for en vellykket levering av appen.
Følgende er noen av aktivitetene som er viktige for en kvalitetssikring å gjennomføre før selve testingen starter:
#1) Forskning på operativsystemer og enheter:
Bortsett fra å forstå appkravet, må du også forstå effekten av de forskjellige operativsystemversjonene og enhetsmodellene. Du må lage testtilfeller eller scenarier med operativsystem- og enhetsmodellene.
#to) Test seng:
I motsetning til desktop-, web- og iOS-apper er testbedskapelsen for Android-apper veldig vanskelig på grunn av det åpne Android-systemet. Beslutningen bør tas etter samtale med BA, utviklere og produkteiere for å finne målgruppen.
# 3) Testplan:
Ettersom det er den første utgivelsen, bør en godkjent plan med godkjent testleie, testtyper osv. Være på plass. Hvis det er behov for en egen tid for å undersøke funksjonalitet eller forretningsregler, eller hvis testingen kommer til å bli vanskelig osv., Bør alt dekkes i planen.
# 4) Automatiseringsverktøy:
Automatiseringsverktøyene som kreves for mobilapper, er veldig forskjellige fra stasjonære eller nettapper. Derfor kan det hende du må bruke ekstra tid og krefter på å lære verktøyet. Tiden og krefter som kreves for det samme skal godkjennes av produkteieren eller kunden.
# 5) Testteknikker eller metoder:
I motsetning til de konvensjonelle testene vi vanligvis gjør, er det få tester som er veldig spesifikke for mobilapper. Nemlig feltprøve, GPS-test, bildeopptakstest osv. Disse må dokumenteres i testtilfellene sammen med hvordan denne typen skal testes.
Testingstyper for mobilapper
Følgende typer testing utføres for å sertifisere en Android-applikasjon:
1) Funksjonstesting:
Testing oppnås normalt av brukergrensesnitt initierte testflyter. Ikke bare strømmen av en brukssak testes, men de forskjellige forretningsreglene blir også testet. Testing gjøres ved å sertifisere kravene. dvs. om applikasjonen fungerer ut fra kravene.
La oss ta Eksempel av Zomato-appen.
Når du starter appen, basert på plasseringen, vises listen over restauranter. Nå som en kvalitetssikring, må du teste listen over restauranter.
Dette er funksjonstesting og her vil du teste funksjoner som:
- Kontroller om restaurantkortene vises på stedet.
- Kontroller om restaurantene som vises er innenfor det angitte området (km) for stedet.
- Kontroller om antall teller for hvert kort er synkronisert med gitte vurderinger.
- Sjekk om du legger til en ny restaurant for et sted, gjenspeiles i listen.
- Kontroller om restaurantene er oppført basert på filtreringsregelen til Zomato etc.
2) Android UI Testing:
Dette er en brukersentrert testing av applikasjonen. I denne testfasen testes elementer som synlighet av tekst i forskjellige skjermer i appen, interaktive meldinger, justering av data, utseendet og følelsen til appen for forskjellige skjermer, størrelsen på feltene osv. Under dette.
For det samme eksemplet ovenfor på Zomato ville UI-testene være:
- Kontroller om kortene vises riktig justert med mobilskjermstørrelsen.
- Kontroller om bildet av restauranten vises som forventet.
- Kontroller om kortopplysningene, restaurantens rangering, matlagingstype, adresse osv. Vises riktig justert.
- Kontroller om rullingen på listen er feilfri, og at kortene ikke vises feiljustert når en lang liste med kort rulles osv.
3) Testing av kompatibilitet:
Denne testingen gjøres hovedsakelig i form av to matriser av OS Vs app og Device model Vs app. Vanligvis leveres en liste over støttede operativsystemer (og noen ganger enheter) av produktseieren eller kunden.
Behovet for denne testingen er:
- Når et OS som Android tas i betraktning, blir det funnet 7 basisversjoner som forsømmer antall patchutgivelser / EP-er.
- Kan du gjette hvilke typer Android-enheter som for tiden fungerer over hele kloden? 1000? 2000? Feil! Det riktige svaret er 24000. Det finnes 24000 typer unike Android-enheter som er til stede og aktive i verden.
- Med variasjoner som disse spiller kompatibilitetstesting en viktig rolle i sertifiseringen av en Android-app.
- Vi trenger ikke bare å validere operativsystemet og typen av enheten, men også å validere få andre funksjoner som faller inn under kompatibilitetstesting. Funksjonene inkluderer:
- Skjerm størrelse
- Skjermoppløsning
- Nettverkstilkobling
4) Grensesnitttesting:
Det kalles med andre ord også som integrasjonstesting. Denne testingen utføres etter at alle modulene i appen er fullstendig utviklet, testet individuelt og alle feilene er løst bekreftet.
Grensesnitttesting inkluderer tester som en fullstendig test til slutt for appen, interaksjon med andre apper som Maps, sosiale apper osv., Bruk av mikrofon for å skrive inn tekst, bruk av kamera for å skanne en strekkode eller for å ta et bilde etc.
Igjen vurderer Zomato, ville integrasjonstestene være som:
- Kontroller om brukeren kan bestille bord til en restaurant.
- Kontroller om brukeren er i stand til å se menyen og bestille mat online.
- Kontroller om brukeren er i stand til å benytte seg av en PayTM-kupong mens han bestiller mat.
- Kontroller om brukeren kan se plasseringen av restauranten på Google Maps.
- Kontroller om brukeren er i stand til å åpne oppringeren og ringe restauranten osv.
5) Nettverkstesting:
De viktigste funksjonene i nettverkstesting inkluderer:
- Appen skal snakke med mellomtjenesten for å gjennomføre prosessen.
- Under denne testingen blir forespørsel / respons til / fra tjenesten testet for forskjellige forhold.
- Denne testen er hovedsakelig gjort for å verifisere responstiden der aktiviteten utføres som å oppdatere data etter synkronisering eller lasting av data etter pålogging etc.
- Dette gjøres for både sterk wifi-tilkobling og mobildatanettverket.
- Dette er en intern testing.
6) Ytelsestesting:
Søknadens ytelse under spesielle forhold blir sjekket.
Disse forholdene inkluderer:
- Lite minne i enheten.
- Batteriet er ekstremt lavt.
- Dårlig / dårlig mottak av nettverk.
Ytelsen testes i utgangspunktet fra to ender, applikasjonsslutt og applikasjonsserverens slutt
7) Installasjonstesting:
Det er to typer apper på en Android-enhet, dvs. forhåndsinstallerte applikasjoner og applikasjonene som installeres senere av brukeren.
programvareutvikler i testintervju spørsmål
For begge de ovennevnte må installasjonstesting utføres. Dette for å sikre jevn installasjon av applikasjonen uten å havne i feil, delvis installasjon etc.
Oppgradering og avinstallasjonstesting utføres som en del av installasjonstesting.
8) Sikkerhetstesting:
Personvern og sikkerhet er de to viktigste kravene til en app. Imidlertid blir dette det viktigste kravet innen bank, helsetjenester.
Testing av datastrømmen for kryptering og dekrypteringsmekanisme skal testes i denne fasen. Tilgang til lagrede data blir også testet i denne fasen.
9) Feltprøving:
Feltesting gjøres spesielt for mobildatanettverket og ikke internt, men ved å gå ut og bruke appen som en vanlig bruker. Denne testingen utføres 'bare' etter at hele appen er utviklet, testet og regresert (for feil og testtilfeller).
Det er i utgangspunktet gjort for å verifisere oppførselen til appen når telefonen har en 2G- eller 3G-forbindelse. Felttesting verifiserer om appen krasjer under langsom nettverkstilkobling, eller om det tar for lang tid å laste inn informasjonen.
Du kan lese mer om feltprøving i vår artikkel “Viktigheten og nødvendigheten av feltprøving for mobilapplikasjoner”
10) Avbruddstesting:
Denne typen testing er også kjent som Offline Scenario Verification. Forhold der kommunikasjonen bryter i midten kalles som frakoblede forhold.
Noen av forholdene der forstyrrelser i et nettverk kan testes er som følger:
- Fjerning av datakabel under dataoverføringsprosessen.
- Nettverksbrudd under transaksjonsfasen.
- Nettverksgjenoppretting etter et brudd.
- Fjerne batteri eller slå på / av når det er i transaksjonsfasen.
Beste fremgangsmåter for Android-apptesting
Det er visse faktorer som skal vurderes når du legger en strategi for mobilapptesting.
De er:
1) Enhetsvalg:
- Dette er en av de mest kritiske trinnene før du starter testprosessen for Android-applikasjoner.
- Bestem hvilke enheter som skal tas i betraktning for testprosessen.
- Valget skal gjøres for å maksimere antall målkunder.
- Faktorer som OS-versjon, Skjermoppløsninger og Formfaktorer (Nettbrett eller smarttelefoner) spiller en viktig rolle i valgfasen.
- Om nødvendig kan selv hjelp fra emulatorer tas i betraktning.
- Men emulatorer bør ikke erstatte testprosessen for fysisk enhet.
- Enhetsemulatorer er kostnadseffektive, og de er nyttige i den første utviklingsfasen.
- Men for å teste de virkelige scenariene er fysiske enheter et must. Både emulatorer og fysiske enheter skal brukes på en balansert måte for et optimalisert resultat.
2) Betatesting av applikasjonen:
- Betatesting er veldig effektiv når det gjelder testing med brukere fra den virkelige verden, virkelige enheter, faktiske nettverk og applikasjoner installert i en bred geografi.
- Dette gir et klart bilde av nettverkstettheten, nettverksvariasjoner (Wi-Fi, 4G, 3G og 2G) og innvirkningen på applikasjonen.
- Betatesting i den virkelige verden er av sitt slag og kan ikke replikeres i et kontrollert miljø.
3) Tilkobling:
- Normalt er Android-applikasjoner koblet til internett for forskjellige krav.
- Tilkoblingen på forskjellige enheter spiller en nøkkelrolle i å sette opp strategien.
- For det meste styres tilkoblingen av simuleringsprogramvare som hjelper til med å regulere nettverkshastighet, ventetid og begrenset tilkobling under testing.
- Det sies at testing under reelle nettverkstilkoblinger alltid er tilrådelig for sanntidsresultater / data.
4) Manuell eller automatisert testing:
- Selv om automatiseringstesting tar god tid for første løp, er det nyttig når testen må gjentas. Dette reduserer også den totale testperioden i de forskjellige utviklingsstadiene.
- Android Automation bør klubbes med manuell testing når repetisjonen av regresjonstesting er høy i applikasjonsutviklingsfasen, kompatibilitetstesting må gjøres for samme applikasjon på forskjellige OS-versjoner, bakoverkompatibilitetskontrollpunkter etc.
Android Testing Framework
Det er en håndfull Android-testrammer som er tilgjengelige.
I denne opplæringen skal vi diskutere 3 forskjellige typer mest brukte rammer:
- Robotium test rammeverk
- Robo-elektrisk testramme
- Appium test Framework
1) Robotium Test Framework:
- Dette rammeverket brukes til å skrive sofistikerte og robuste black box-testtilfeller for Android-applikasjoner.
- Den støtter både native så vel som hybridklienter.
- Funksjoner, systemtestsaker og brukeraksepttiltak kan skrives ved hjelp av dette rammeverket.
- Robotium støtter Android 1.6 og nyere, og støtter også dialoger, menyer, aktiviteter osv.
- Dette rammeverket håndterer flere Android-aktiviteter automatisk.
- En håndfull metoder er gitt som en del av Robotium for å samhandle med forskjellige grafiske komponenter i Android-applikasjonen. Noen av dem er som nedenfor:
- gå tilbake();
- getButton ();
- isRadioButtonChecked ();
- searchText (“User”);
- klikk på knappen (“Logout”);
2) Robo-elektrisk testramme:
- Dette rammeverket hjelper til med å teste Android-applikasjoner på JVM basert på JUnit4-rammeverket.
- Den bruker Android API.
- Dette hjelper med å skrive testsaker og kjøre dem på JVM.
- Under dette erstattes alle klassene med noe som kalles skyggeobjekter.
- Hver gang en metode er implementert, sender Robo-electric samtalen internt til skyggeobjektet.
- Basert på implementeringen, hvis en metode er implementert av skyggeobjekt, returneres en verdi. Ellers returneres NULL.
- På grunn av skyggeobjektene og JVM blir kjøringen raskere.
3) Testrammer-epoker;
- Dette rammeverket fungerer for native-, hybrid- og mobilapps for Android-enheter.
- Appium er gratis å bruke verktøyet.
- Single API fungerer både for Android og iOS-plattformen. Dette er en av rammene som støtter testing på tvers av plattformer.
- Den bruker Selenium Driver for å samhandle med Android-applikasjonen.
- Appium støtter manusskriving ved hjelp av mange programmeringsspråk som Java, C #, Python, PHP, Ruby etc.
Konklusjon
Automatisering av Android-applikasjoner kan klubbes med manuell etter behov. Imidlertid, hvis Androind Automation-testing legges til i strategien, er det en stor oppgave å velge riktig verktøy. Mens du velger faktorer for automatiseringsverktøy som støtte for flere plattformer, Test arbeidsflyt, Pris for verktøy, service / support etc..
Det er flere utfordringer involvert i Android-applikasjonstesting. Det er forskjellige faktorer som må tas i betraktning før Android-testprosessen virkelig kan implementeres, men når dette er gjort, blir dette en veldig interessant oppgave.
Se vår kommende veiledning for å vite mer om Utfordringer og løsninger for mobil testing.
Anbefalt lesing
- 11 beste automatiseringsverktøy for testing av Android-applikasjoner (Android-app-testverktøy)
- Mobile App Beta Testing Services (iOS og Android Beta Testing Tools)
- Lag appiumtester for en Android-app
- Funksjonstesting mot ikke-funksjonell testing
- Tutorials for mobilapptesting (en komplett guide med 30+ opplæringsprogrammer)
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Alpha Testing og Beta Testing (En komplett guide)
- In-Depth Eclipse Tutorials For Beginners