android app testing tutorial
Zbiranje osnovnega znanja pred testiranjem aplikacij za Android:
Kot že sam naslov pove, bomo v tej vadnici razpravljali več o postopku testiranja Androida.
Preden pa se lotim različnih podrobnosti postopka testiranja Androida, bi rad postavil nekaj vprašanj.
Ali imate mobilni telefon?
Kako neumno je to vprašanje! Seveda ‘vsi. Vsak ima mobilni telefon. Mobilni telefoni so danes postali osnovna potreba človeškega obstoja.
Mi lahko poveste, kateri operacijski sistem je na vašem telefonu?
Če ste telefon kupili med letoma 2014–16, je možnost, da telefon deluje v sistemu Android, približno 80–85%.
Kaj se boste naučili:
- Rast Androida
- Uvod v aplikacijo Android
- Seznam „Opraviti“ pred začetkom preskusnega postopka
- Vrste testiranja za mobilne aplikacije
- Najboljše prakse pri testiranju aplikacij za Android
- Android Test Framework
- Zaključek
- Priporočeno branje
Rast Androida
Spodnja statistika opisuje več o rasti Androida na lahko razumljiv način.
- Leta 2009 je bil Android novinec in je predstavljal le 3,9% celotnega trga.
- Takrat je največ prispeval operacijski sistem Symbian z neverjetnim številom 47% (Golden days of Nokia).
- Ta trend se je z leti začel spreminjati in Android je leta 2016 dosegel 85,2%.

( vir slike )
- Zgornje številke so samo za mobilne telefone. Android OS ima velik vpliv tudi v industriji tabličnih računalnikov. Od 4,4% tržnega deleža v letu 2011 do 35,7% leta 2015 govori o zanimanju, ki ga ljudje razvijajo za tablične naprave, ki jih poganja Android.

( vir slike )
- Tudi trgovina Google Play se je hitro povečala število prenosov. Od leta 2010 do 2016 so se številke povečale z 1 milijarde prenosov na mesec na 65 milijard prenosov na mesec.
- Na prenose aplikacij močno vplivajo tudi nizke cene aplikacij za Android (Povprečno: 0,06 $ / aplikacijo) v primerjavi z aplikacijami za iOS.
Zakaj sem te pravkar popeljal skozi vse te številke?
Samo zato, da se zavedate, kako velik je Android zrastel, kako zapleten je postal razvoj aplikacij in koliko trga je ta OS zajel v zadnjem desetletju.
Vsako spletno mesto, aplikacija za Windows in aplikacija za Mac ima zdaj sestro android. Vsi se zavzemajo za razvoj aplikacije za Android takoj, ko nameravajo razviti aplikacijo za spletno mesto / Windows. Zdaj je to postalo nujno, saj imajo stranke v zadnjih letih tudi prednost pred mobilnimi aplikacijami pred računalniškimi aplikacijami ali spletnimi mesti.
Nekatere aplikacije, ki se zelo pogosto uporabljajo v naših vsakodnevnih dejavnostih, so Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp itd.
Razlog za hiter porast na trgu Android je ta:
- Je odprt sistem, zato ga je enostavno prilagoditi, se ga je enostavno naučiti in celo razvoj aplikacij je lažji.
- Objava aplikacije v trgovini Google Play je v primerjavi z drugimi trgovinami za igranje precej preprosta.
- Na trgu je več proizvajalcev telefonov Android, kot so Sony, HTC, Samsung, Motorola itd.
- V Androidu je ogromno funkcij, kot so DualSIM, microSD, odstranljiva baterija itd., Kar je dodatna prednost zanj.
- Cene telefonov Android niso previsoke in so dostopne itd.
Skupaj z razvojnimi zahtevami za aplikacije za Android se je povečala tudi potreba po preizkuševalcih, ki dobro poznajo testiranje androidov.
Kot preizkuševalec morate pred začetkom testiranja katere koli vgrajene aplikacije za Android narediti veliko domačih nalog. Najprej je treba preučiti OS in njegovo zgodovino. Če ne poznate operacijskega sistema, aplikacije ne morete preizkusiti glede na različne različice. Osnovne funkcije različice OS, uporabniški vmesnik, GPS, podpora za omrežje, življenjska doba baterije itd., So nekateri pomembni vidiki, ki vplivajo na aplikacijo.
Pri Androidu ni treba preučiti le OS, temveč tudi množico naprav.
Na trgu je na voljo veliko število naprav, zato morate pred dokončanjem in zamrznitvijo testne postelje ugotoviti delež ciljnih občin. Različne naprave, ki ponujajo različne funkcije, kot so DualSIM, dvojna kamera, ločljivost zaslona, teme itd., Vplivajo na aplikacijo in jih je treba preizkusiti.
Zato je za QA zelo pomembno, da zbere celovito znanje o celotnem ekosistemu Android.
Uvod v aplikacijo Android
Obstajajo različne metode testiranja, ki jim sledi uspešno certificiranje aplikacije za Android.
Tipična arhitektura aplikacije za Android bi bila videti podobno spodnjemu diagramu:
10 najboljših spletnih mest za ogled anime

Glede na zgornjo sliko obstajata dve možnosti za aplikacijo:
1) Mobilna aplikacija za spletno aplikacijo: Mogoče je, da ima stranka spletno aplikacijo in želi zanjo izdelati mobilno aplikacijo. Amazon, Jabong, Myntra itd., So storili isto in v trenutku, ko so mobilne aplikacije začele ustvarjati razcvet na trgu, so ta komercialna podjetja ugotovila, da bodo kmalu ljudje s spletnih aplikacij prešli na mobilne aplikacije.
2) Mobilna aplikacija kot samostojni poslovni subjekt: Preizkusil sem podobno logistično aplikacijo, da bi povečal poslovanje, je ustvaril ločeno aplikacijo za svoje voznike, da bi olajšala nemoteno dostavo, in odstranil papirje.
Vozniki so imeli na svojih telefonih nameščeno aplikacijo za premestitev pošiljke v različne faze dostave in njihovo ustrezno stanje, posodobitve dostave pa so se odražale v njihovi obstoječi spletni aplikaciji.
Drugi taki Primeri kjer je mobilna aplikacija ločena entiteta, so WhatsApp, aplikacije za sledenje zdravju, kot je S Health itd.
Seznam „Opraviti“ pred začetkom preskusnega postopka
Za razliko od običajnega preskusnega cikla je za prvo izdajo mobilne aplikacije nekaj elementov, ki jih je treba dodatno raziskati in načrtovati za uspešno dostavo aplikacije.
Sledi nekaj dejavnosti, ki so pomembne za preverjanje kakovosti pred začetkom dejanskega testiranja:
# 1) Raziskave OS in naprav:
Poleg razumevanja zahteve za aplikacijo morate razumeti tudi vpliv različnih različic OS in modelov naprav. Ustvariti morate testne primere ali scenarije brez operacijskega sistema in modelov naprav.
#two) Testna postelja:
V nasprotju z namiznimi, spletnimi in iOS aplikacijami je ustvarjanje testne postelje za androidne aplikacije zelo zapleteno zaradi odprtega sistema Android. Odločitev je treba sprejeti po razpravi z BA, razvijalci in lastniki izdelkov, da bi našli ciljno skupino.
kaj je omrežni varnostni ključ za brezžično povezavo
# 3) Testni načrt:
Ker gre za prvo izdajo, bi moral obstajati odobren načrt z odobrenimi preskusnimi posteljami, vrstami preskusov itd. Če je za raziskovanje funkcionalnosti ali poslovnih pravil potreben ločen čas ali če bo testiranje zapleteno itd., Mora biti v načrt vključeno vse.
# 4) Orodja za avtomatizacijo:
Orodja za avtomatizacijo, potrebna za mobilne aplikacije, se zelo razlikujejo od orodij za namizne ali spletne aplikacije. Zato boste morda morali za učenje orodja porabiti dodaten čas in trud. Čas in trud, potreben za isto, mora odobriti lastnik izdelka ali kupec.
# 5) Preizkusne tehnike ali metode:
Za razliko od običajnih testov, ki jih običajno izvajamo, je malo testov, ki so zelo specifični za mobilne aplikacije. In sicer terenski test, GPS test, test zajema slike itd. V testnih primerih jih je treba dokumentirati skupaj s tem, kako bodo te vrste testirani.
Vrste testiranja za mobilne aplikacije
Za certificiranje aplikacije za Android se izvajajo naslednje vrste testiranja:
1) funkcionalno preskušanje:
Testiranje običajno dosežemo s testnimi tokovi, ki jih sproži uporabniški vmesnik. Ne preizkuša se samo potek uporabe, temveč tudi različna poslovna pravila. Testiranje se opravi s potrjevanjem zahtev. tj. ali aplikacija deluje na podlagi zahtev.
Vzemimo Primer aplikacije Zomato.
Ko zaženete aplikacijo, se glede na lokacijo prikaže seznam restavracij. Zdaj kot QA morate preizkusiti seznam restavracij.
To je preizkušanje funkcionalnosti in tukaj boste preizkusili funkcije, kot so:
- Preverite, ali so na mestu prikazane restavracijske kartice.
- Preverite, ali so prikazane restavracije v določenem območju (km) lokacije.
- Preverite, ali je število pregledov za vsako kartico sinhronizirano s pregledi.
- Preverite, ali se dodajanje nove restavracije za lokacijo odraža na seznamu.
- Preverite, ali so restavracije na seznamu na podlagi pravila filtriranja Zomato itd.

2) Testiranje uporabniškega vmesnika Android:
To je uporabniško usmerjeno testiranje aplikacije. V tej testni fazi se pod tem preizkušajo elementi, kot so vidnost besedila na različnih zaslonih aplikacije, interaktivna sporočila, poravnava podatkov, videz in občutek aplikacije za različne zaslone, velikost polj itd.
Za isti zgornji primer Zomato bi bili testi uporabniškega vmesnika:
- Preverite, ali so kartice prikazane pravilno poravnane z velikostjo mobilnega zaslona.
- Preverite, ali je slika restavracije prikazana po pričakovanjih.
- Preverite, ali so podatki o kartici, ocena restavracije, vrsta kulinarike, naslov itd. Prikazani pravilno poravnani.
- Preverite, ali je drsenje po seznamu brez napak in če se pomikate po dolgem seznamu kart itd.
3) Testiranje združljivosti:
To preskušanje poteka večinoma v obliki dveh matric aplikacije OS Vs in aplikacije Device Model Vs. Običajno seznam podprtih OS (in včasih naprav) prikaže lastnik izdelka ali stranka.
Potreba po tem testiranju je:
- Ko se upošteva OS, kot je Android, najdemo 7 osnovnih različic, ki zanemarjajo število izdaj popravkov / EP-jev.
- Ali lahko uganite, katere vrste naprav Android trenutno delujejo po vsem svetu? 1000? 2000? Napačno! Pravilen odgovor je 24000. Na svetu je prisotnih in aktivnih 24000 vrst edinstvenih naprav Android.
- S takšnimi različicami ima preskušanje združljivosti ključno vlogo pri certificiranju aplikacije za Android.
- Ne samo, da moramo potrditi operacijski sistem in vrsto naprave, temveč tudi nekaj drugih funkcij, ki spadajo v preskušanje združljivosti. Funkcije vključujejo:
- Velikost zaslona
- Ločljivost zaslona
- Omrežna povezljivost
4) Preskušanje vmesnika:
Z drugimi besedami, to se imenuje tudi integracijsko testiranje. To testiranje se opravi po popolnem razvoju vseh modulov aplikacije, njihovem individualnem preizkušanju in preverjanju vseh napak.
Preizkušanje vmesnika vključuje preizkuse, kot je popolno preskušanje aplikacije od konca do konca, interakcija z drugimi aplikacijami, kot so Zemljevidi, družabne aplikacije itd., Uporaba mikrofona za vnašanje besedila, uporaba kamere za skeniranje črtne kode ali fotografiranje itd.
Še enkrat, če upoštevamo Zomato, bi bili integracijski testi takšni:
- Preverite, ali lahko uporabnik rezervira mizo za restavracijo.
- Preverite, ali si lahko uporabnik ogleda meni in naroči hrano po spletu.
- Preverite, ali lahko uporabnik med naročanjem hrane izkoristi kupon PayTM.
- Preverite, ali lahko uporabnik vidi lokacijo restavracije v Google Zemljevidih.
- Preverite, ali lahko uporabnik odpre telefonsko številčnico in pokliče restavracijo itd.
5) Testiranje omrežja:
Ključne značilnosti omrežnega testiranja vključujejo:
- Aplikacija naj se pogovori z vmesno službo, da izvede postopek.
- Med tem preskušanjem se zahteva / odziv na / od storitve preizkusi za različne pogoje.
- Ta test se izvaja predvsem za preverjanje odzivnega časa, v katerem se izvaja dejavnost, kot je osveževanje podatkov po sinhronizaciji ali nalaganje podatkov po prijavi itd.
- To se naredi tako za močno wifi povezavo kot za mobilno podatkovno omrežje.
- To je interno testiranje.
6) Testiranje učinkovitosti:
Učinkovitost aplikacije se preverja pod nekaterimi posebnimi pogoji.
Ti pogoji vključujejo:
- V napravi zmanjkuje pomnilnika.
- Baterija je zelo nizka.
- Slab / slab sprejem omrežja.
Učinkovitost se v osnovi preizkuša z dveh koncev, konca aplikacije in konca aplikacijskega strežnika
7) Preizkus namestitve:
V napravi Android obstajata dve vrsti aplikacij, tj. Vnaprej nameščene aplikacije in aplikacije, ki jih uporabnik pozneje namesti.
Za oba zgoraj je treba izvesti preskušanje namestitve. S tem želimo zagotoviti nemoteno namestitev aplikacije, ne da bi prišlo do napak, delne namestitve itd.
Preskus nadgradnje in odstranitve se izvede v okviru preskusa namestitve.
8) Testiranje varnosti:
Zasebnost in varnost sta dve glavni zahtevi aplikacije. Vendar v bančništvu, zdravstvu, to postane glavna zahteva.
V tej fazi je treba preskusiti pretok podatkov za mehanizem šifriranja in dešifriranja. V tej fazi se preizkuša tudi dostop do shranjenih podatkov.
9) Terensko testiranje:
Terensko testiranje se opravi posebej za mobilno podatkovno omrežje in ne interno, temveč tako, da aplikacijo uporabljate kot običajnega uporabnika. To testiranje se opravi 'šele', potem ko je celotna aplikacija razvita, preizkušena in regresirana (za napake in testne primere).
V bistvu se preveri vedenje aplikacije, ko ima telefon povezavo 2G ali 3G. Terensko preskušanje preveri, ali se aplikacija zruši pri počasni omrežni povezavi ali nalaganje podatkov traja predolgo.
Več o terenskih preizkusih si lahko preberete v našem članku 'Pomen in potreba terenskega testiranja za mobilne aplikacije'
10) Preskušanje prekinitev:
Ta vrsta testiranja je znana tudi kot preverjanje scenarija brez povezave. Pogoji, v katerih se komunikacija prekine na sredini, se imenujejo pogoji brez povezave.
Nekateri pogoji, pri katerih je mogoče preizkusiti prekinitve omrežja, so naslednji:
- Odstranjevanje podatkovnega kabla med postopkom prenosa podatkov.
- Izpad omrežja v fazi knjiženja transakcij.
- Obnovitev omrežja po izpadu.
- Odstranjevanje baterije ali vklop / izklop napajanja, ko je v fazi transakcije.
Najboljše prakse pri testiranju aplikacij za Android
Pri določanju strategije za testiranje aplikacij za mobilne naprave je treba upoštevati nekatere dejavnike.
To so:
1) Izbira naprave:
- To je eden najpomembnejših korakov pred začetkom postopka testiranja aplikacij za Android.
- Odločite se, katere naprave je treba upoštevati pri preskusnem postopku.
- Izbira naj se izvede tako, da se poveča število ciljnih kupcev.
- Faktorji, kot so različica operacijskega sistema, ločljivosti zaslona in faktorji oblike (tablični ali pametni telefoni), igrajo ključno vlogo v fazi izbire.
- Po potrebi se lahko upošteva celo pomoč emulatorjev.
- Toda emulatorji ne bi smeli nadomestiti postopka preizkušanja fizične naprave.
- Emulatorji naprav so stroškovno učinkoviti in so v priročni fazi v začetni fazi razvoja.
- Toda za preizkušanje resničnih scenarijev so fizične naprave nujne. Tako emulatorje kot fizične naprave je treba za optimiziran rezultat uporabljati uravnoteženo.
2) Beta testiranje aplikacije:
- Beta testiranje je zelo učinkovito pri testiranju z dejanskimi uporabniki, resničnimi napravami, dejanskimi omrežji in aplikacijami, nameščenimi v široki geografiji.
- To daje jasno sliko gostote omrežja, variacij omrežja (Wi-Fi, 4G, 3G in 2G) in vpliva na aplikacijo.
- Beta testiranje v resničnem svetu je eno te vrste in ga ni mogoče ponoviti v nadzorovanem okolju.
3) Povezljivost:
- Običajno so aplikacije Android povezane z internetom za različne potrebe.
- Povezava na različnih napravah igra ključno vlogo pri postavljanju strategije.
- Povezavo večinoma nadzoruje simulacijska programska oprema, ki med testiranjem pomaga pri uravnavanju hitrosti omrežja, zakasnitve in omejene povezljivosti.
- Rečeno je, da je testiranje v resničnih omrežnih povezavah vedno priporočljivo za rezultate / podatke v realnem času.
4) Ročno ali avtomatizirano testiranje:
- Čeprav testiranje avtomatizacije za prvo vožnjo traja dovolj časa, je še kako priročno, ko je treba testiranje ponoviti. To tudi zmanjšuje celotni časovni razpon testiranja v različnih razvojnih fazah.
- Android Automation je treba združiti z ročnim preskušanjem, kadar je ponovitev regresijskega testiranja visoko v fazi razvoja aplikacije, za isto aplikacijo pa je treba opraviti testiranje združljivosti na različnih različicah OS, kontrolne točke za povratno združljivost itd.
Android Test Framework
Na voljo je nekaj testnih okvirov za Android.
V tej vadnici bomo razpravljali o treh različnih vrstah najpogosteje uporabljenih okvirov:
- Testni okvir za robotij
- Robo-električni preskusni okvir
- Appium test Framework
1) Testni okvir za robotij:
- Ta okvir se uporablja za pisanje prefinjenih in robustnih testnih primerov črne škatle za aplikacije Android.
- Podpira tako domače kot hibridne odjemalce.
- Funkcije, testne primere sistema in primere za sprejem uporabnikov lahko zapišemo s pomočjo tega okvira.
- Robotium podpira Android 1.6 in novejše različice, podpira pa tudi pogovorna okna, menije, dejavnosti itd.
- Ta okvir samodejno obravnava več dejavnosti v sistemu Android.
- Kot del Robotiuma je podanih nekaj metod za interakcijo z različnimi grafičnimi komponentami aplikacije Android. Nekateri med njimi so spodaj:
- Pojdi nazaj();
- getButton ();
- isRadioButtonChecked ();
- searchText (»Uporabnik«);
- kliknite na gumb (“Odjava”);
2) Robo-električni testni okvir:
- Ta okvir pomaga pri testiranju aplikacij Android na JVM, ki temelji na okviru JUnit4.
- Uporablja Android API.
- To pomaga pri pisanju testnih primerov in njihovem zagonu na JVM.
- Pod tem so vsi razredi nadomeščeni s tako imenovanimi senčnimi predmeti.
- Kadar je metoda uporabljena, Robo-electric interno pošlje klic senčnemu objektu.
- Na podlagi izvedbe se, če metodo izvaja senčni objekt, vrne vrednost. V nasprotnem primeru se vrne NULL.
- Zaradi senčnih predmetov in JVM je izvedba hitrejša.
3) preizkusne okvirne dobe;
- Ta okvir deluje za izvorne, hibridne in mobilne spletne aplikacije za naprave Android.
- Appium je brezplačen za uporabo.
- Enotni API deluje tako za Android kot za platformo iOS. To je eden od okvirov, ki podpira preskušanje med različnimi platformami.
- Za interakcijo z aplikacijo Android uporablja spletni gonilnik Selenium.
- Appium podpira pisanje skriptov z uporabo številnih programskih jezikov, kot so Java, C #, Python, PHP, Ruby itd.
Zaključek
Avtomatizacijo aplikacij za Android lahko po potrebi prilagodite ročno. Če pa je strategiji dodano še testiranje Androind Automation, je izbira pravilnega orodja velika naloga. Pri izbiri dejavnikov orodij za avtomatizacijo, kot so podpora za več platform, preizkus poteka dela, cena orodja, storitev / podpora itd.
Preizkušanje aplikacij Android vključuje več izzivov. Pred dejanskim izvajanjem postopka testiranja Androida je treba upoštevati različne dejavnike, toda ko to opravite, postane to zelo zanimiva naloga.
Oglejte si našo prihajajočo vadnico, če želite izvedeti več o tem Izzivi in rešitve za mobilno testiranje.
Priporočeno branje
- 11 najboljših orodij za avtomatizacijo za testiranje aplikacij za Android (orodja za testiranje aplikacij za Android)
- Storitve beta testiranja mobilnih aplikacij (iOS in Android beta različici)
- Ustvarite teste Appium za aplikacijo za Android
- Funkcionalno testiranje vs nefunkcionalno testiranje
- Vadnice za testiranje mobilnih aplikacij (popoln vodnik z več kot 30 vadnicami)
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Alfa testiranje in beta testiranje (popoln vodnik)
- Vadnice za globinsko zasenčenje za začetnike