android app testing tutorial
Prikupljanje osnovnog znanja prije testiranja Android aplikacija:
Kao što i sam naslov sugerira, u ovom uputstvu razgovarat ćemo više o procesu testiranja Androida.
No, prije nego što uđem u razne detalje postupka testiranja Androida, želio bih iznijeti nekoliko pitanja.
Posjedujete li mobitel?
E, koliko je to pitanje glupo! ‘Naravno da svi to radimo. Svi imaju mobitel. Mobilni telefoni danas su postali osnovna potreba ljudskog postojanja.
Možete li mi reći OS koji je tamo na vašem telefonu?
Ako ste telefon kupili između 2014. i 16. godine, šanse da telefon radi na Androidu iznose oko 80-85%.
Što ćete naučiti:
- Rast Androida
- Uvod u Android aplikaciju
- Popis 'Obaveza' prije početka postupka testiranja
- Vrste testiranja za mobilne aplikacije
- Najbolji primjeri iz prakse za testiranje aplikacija za Android
- Okvir za testiranje Androida
- Zaključak
- Preporučena literatura
Rast Androida
Statistike u nastavku opisuju više o rastu Androida na lako razumljiv način.
- Još 2009. godine Android je bio početnik i činio je samo 3,9% ukupnog tržišta.
- Tada je najveći doprinos dao Symbian OS s nevjerojatnih 47% (Zlatni dani Nokie).
- Taj se trend počeo mijenjati tijekom godina i Android je 2016. dosegao 85,2% u 2016. godini.
( izvor slike )
- Gornji brojevi su samo za mobilne telefone. Android OS također ima velik utjecaj u industriji tableta. Od 4,4% tržišnog udjela u 2011. do 35,7% u 2015. govori o interesu koji ljudi razvijaju prema tablet uređajima s Androidom.
( izvor slike )
- Trgovina Google Play također je zabilježila brzi rast broja preuzimanja. Od 2010. do 2016. brojke su porasle s milijarde preuzimanja mjesečno na 65 milijardi preuzimanja mjesečno.
- Na preuzimanja aplikacija također uvelike utječu niske cijene (Prosjek: 0,06 $ / aplikacija) aplikacija za Android u usporedbi s iOS aplikacijama.
Zašto sam te upravo proveo kroz sve te brojeve?
Bilo je samo da vas upozorim na to kako je ogroman Android narastao, koliko je razvoj aplikacija postao nezgodan i koliko je tržište ovaj OS zauzeo u proteklom desetljeću.
Svaka web lokacija, aplikacija za Windows i aplikacija za Mac sada imaju android brata ili sestru. Svi se zalažu za razvoj aplikacije za Android čim planiraju razviti web stranicu / Windows aplikaciju. To je sada postalo neophodno, jer su kupci posljednjih godina također počeli davati prednost mobilnim aplikacijama nad računalnim aplikacijama ili web mjestima.
Neke od aplikacija koje se vrlo često koriste u svakodnevnim aktivnostima su Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp itd.
Razlog porastu na Android tržištu je sljedeći:
- To je otvoren sustav, stoga ga je lako prilagoditi, lako naučiti, a čak je i razvoj aplikacija lakši.
- Objava aplikacije u trgovini Google Play prilično je jednostavna u usporedbi s ostalim trgovinama za reprodukciju.
- Na tržištu postoji nekoliko proizvođača Android telefona kao što su Sony, HTC, Samsung, Motorola itd.
- Na Androidu postoji ogroman broj značajki poput DualSIM-a, microSD-a, prijenosne baterije itd., Što mu je dodatna prednost.
- Cijene android telefona nisu previsoke i pristupačne su itd.
Zajedno s razvojnim zahtjevima za Android Apps, porastao je i zahtjev za testere koji su upućeni u android testiranje.
Kao tester, prije nego što započnete testiranje bilo koje android izgrađene aplikacije, morate napraviti puno domaćih zadaća. Prvo što treba učiniti je proučiti OS i njegovu povijest. Ako ne znate OS, ne možete testirati aplikaciju u odnosu na razne verzije. Osnovna funkcionalnost verzije OS-a, korisničko sučelje, GPS, podrška za mrežu, trajanje baterije itd., Neke su od važnih aspekata koji utječu na aplikaciju.
S Androidom, nije samo OS već i mnoštvo uređaja također potrebno proučiti.
Na tržištu je dostupan velik broj uređaja, stoga prije finaliziranja i zamrzavanja vašeg testnog ležišta morate saznati udio ciljane publike. Razni uređaji koji nude različite značajke poput DualSIM-a, dvostruke kamere, razlučivosti zaslona, tema itd. Utječu na aplikaciju i moraju se testirati.
Stoga je za QA vrlo važno prikupiti sveobuhvatno znanje o kompletnom Android ekosustavu.
Uvod u Android aplikaciju
Postoje razne metode testiranja koje slijedi uspješno certificiranje Android aplikacije.
Tipična arhitektura Android aplikacije izgledala bi slično dijagramu prikazanom u nastavku:
kako otvoriti novi projekt u pomrčini
Na temelju gornje slike, postoje dvije mogućnosti za aplikaciju:
1) Mobilna aplikacija za web aplikaciju: Možda je moguće da kupac ima web aplikaciju i želi za nju napraviti mobilnu aplikaciju. Amazon, Jabong, Myntra itd. Učinili su isto, i onog trenutka kad su mobilne aplikacije počele stvarati procvat na tržištu, ove komercijalne tvrtke shvatile su da će ljudi uskoro prijeći s web aplikacija na mobilne aplikacije.
2) Mobilna aplikacija kao zasebni poslovni subjekt: Testirao sam sličnu logističku aplikaciju, kako bih povećao poslovanje, stvorio je zasebnu aplikaciju za svoje vozače kako bi olakšala nesmetanu isporuku i uklonio papire.
Vozači su na svojim telefonima instalirali aplikaciju za premještanje pošiljke u različite faze isporuke i njihov odgovarajući status, a ažuriranja isporuke odražavala su se u njihovoj postojećoj web aplikaciji.
Ostali takvi Primjeri gdje je mobilna aplikacija zaseban entitet su WhatsApp, aplikacije za praćenje zdravlja poput S Health itd.
Popis 'Obaveza' prije početka postupka testiranja
Za razliku od uobičajenog ciklusa testiranja, za prvo izdanje mobilne aplikacije postoji nekoliko stavki koje trebaju dodatna istraživanja i planiranje za uspješnu isporuku aplikacije.
Slijede neke od aktivnosti koje je važno za osiguranje kvalitete provesti prije nego što stvarno testiranje započne:
# 1) Istraživanje OS-a i uređaja:
Osim razumijevanja zahtjeva aplikacije, morate razumjeti i utjecaj različitih verzija OS-a i modela uređaja. Morate stvoriti test slučajeve ili scenarije bez OS-a i modela uređaja.
#dva) Ispitni krevet:
Za razliku od stolnih, web i iOS aplikacija, stvaranje probnog ležišta za android aplikacije vrlo je nezgodno zbog otvorenog Android sustava. Odluku treba donijeti nakon razgovora s BA-om, programerima i vlasnicima proizvoda kako bi se pronašla ciljna publika.
# 3) Plan ispitivanja:
Budući da je prvo izdanje, trebao bi biti na snazi odobreni plan s odobrenim ispitnim mjestom, vrstama ispitivanja itd. Ako je potrebno posebno vrijeme za istraživanje funkcionalnosti ili pravila poslovanja ili ako će testiranje biti nezgodno itd., Sve bi trebalo biti obuhvaćeno planom.
# 4) Alati za automatizaciju:
Alati za automatizaciju potrebni za mobilne aplikacije vrlo se razlikuju od onih za stolne ili web aplikacije. Stoga ćete možda trebati potrošiti dodatno vrijeme i napor da naučite alat. Vrijeme i napor potrebni za isti trebaju odobriti vlasnik proizvoda ili kupac.
najbolji softver za oporavak za Windows 10
# 5) Tehnike ili metode ispitivanja:
Za razliku od uobičajenih testova koje inače radimo, malo je testova koji su vrlo specifični za mobilne aplikacije. Naime, terenski test, GPS test, test snimanja slike itd. To treba dokumentirati u testnim slučajevima zajedno s načinom testiranja ove vrste.
Vrste testiranja za mobilne aplikacije
Sljedeće vrste testiranja provode se kako bi se certificirala aplikacija za Android:
1) Funkcionalno ispitivanje:
Testiranje se obično postiže tijekovima ispitivanja koje pokreće korisničko sučelje. Ne testira se samo tijek slučaja upotrebe, već se ispituju i različita poslovna pravila. Ispitivanje se vrši potvrđivanjem zahtjeva. tj. radi li aplikacija na temelju zahtjeva.
Uzmimo Primjer aplikacije Zomato.
Kada pokrenete aplikaciju, na temelju lokacije prikazuje se popis restorana. Sada kao QA morate testirati popis restorana.
Ovo je ispitivanje funkcionalnosti i ovdje ćete testirati funkcionalnosti poput:
- Provjerite prikazuju li se kartice restorana na mjestu.
- Provjerite nalaze li se prikazani restorani u zadanom opsegu (km) mjesta.
- Provjerite je li broj recenzija za svaku karticu sinkroniziran s danim recenzijama.
- Provjerite odražava li se dodavanje novog restorana za lokaciju na popisu.
- Provjerite jesu li restorani navedeni na temelju pravila filtriranja Zomatoa itd.
2) Android UI testiranje:
Ovo je testiranje aplikacije usmjereno na korisnika. U ovoj testnoj fazi pod tim se ispituju stavke kao što su vidljivost teksta na raznim zaslonima aplikacije, interaktivne poruke, poravnanje podataka, izgled i dojam aplikacije za različite zaslone, veličina polja itd.
Za isti gornji primjer Zomata, testovi korisničkog sučelja bili bi:
- Provjerite jesu li kartice prikazane pravilno usklađene s veličinom zaslona za mobitel.
- Provjerite prikazuje li se slika restorana prema očekivanjima.
- Provjerite jesu li detalji kartice, ocjena restorana, vrsta kuhinje, adresa itd. Prikazani pravilno poravnati.
- Provjerite je li pomicanje popisa bez grešaka i ne prikazuju li se karte pomaknute kad se pomiče dugačak popis karata itd.
3) Ispitivanje kompatibilnosti:
Ovo se ispitivanje vrši uglavnom u obliku dvije matrice aplikacije OS Vs i aplikacije uređaja Vs. Popis podržanih OS-a (a ponekad i uređaja) obično pruža vlasnik proizvoda ili kupac.
Potreba za ovim ispitivanjem je:
- Kada se uzme u obzir OS poput Androida, pronađeno je 7 osnovnih verzija zanemarujući broj izdanja zakrpa / EP-ova.
- Možete li pogoditi vrste Android uređaja koji trenutno rade po cijelom svijetu? 1000? 2000? Pogrešno! Točan odgovor je 24000. Postoji 24000 vrsta jedinstvenih Android uređaja koji su prisutni i aktivni u svijetu.
- S inačicama poput ovih, ispitivanje kompatibilnosti igra vitalnu ulogu u certificiranju android aplikacije.
- Ne samo da moramo potvrditi OS i vrstu uređaja, već i nekoliko drugih značajki koje spadaju u testiranje kompatibilnosti. Značajke uključuju:
- Veličina ekrana
- Razlučivost zaslona
- Mrežna povezanost
4) Ispitivanje sučelja:
Drugim riječima, naziva se i integracijskim testiranjem. Ovo se testiranje vrši nakon što se svi moduli aplikacije u potpunosti razviju, testiraju pojedinačno i sve programske pogreške budu ispravljene.
Testiranje sučelja uključuje testove poput cjelovitog testiranja aplikacije od kraja do kraja, interakcije s drugim aplikacijama kao što su Karte, društvene aplikacije itd., Korištenje mikrofona za unos teksta, korištenje kamere za skeniranje crtičnog koda ili slikanje itd.
Opet s obzirom na Zomato, integracijski testovi bili bi poput:
- Provjerite je li korisnik u mogućnosti rezervirati stol za restoran.
- Provjerite je li korisnik u mogućnosti pregledavati jelovnik i naručiti hranu putem interneta.
- Provjerite je li korisnik u mogućnosti iskoristiti PayTM kupon dok naručuje hranu.
- Provjerite može li korisnik vidjeti lokaciju restorana na Google kartama.
- Provjerite može li korisnik otvoriti brojčanik i nazvati restoran itd.
5) Mrežno testiranje:
Ključne značajke mrežnog testiranja uključuju:
- Aplikacija bi trebala razgovarati s posredničkom službom kako bi provela postupak.
- Tijekom ovog testiranja, zahtjev / odgovor na / od usluge testira se na različite uvjete.
- Ovaj se test uglavnom radi radi provjere vremena odziva u kojem se aktivnost izvodi poput osvježavanja podataka nakon sinkronizacije ili učitavanja podataka nakon prijave itd.
- To je učinjeno i za jaku WiFi vezu i za mobilnu podatkovnu mrežu.
- Ovo je interno testiranje.
6) Ispitivanje performansi:
Provjerava se izvedba aplikacije pod određenim uvjetima.
Ti uvjeti uključuju:
- Nema dovoljno memorije u uređaju.
- Baterija je izuzetno niska.
- Loš / loš mrežni prijem.
Izvedba se u osnovi ispituje s dva kraja, kraja aplikacije i kraja poslužitelja aplikacija
7) Ispitivanje instalacije:
Na Android uređaju postoje dvije vrste aplikacija, tj. Unaprijed instalirane aplikacije i aplikacije koje korisnik instalira kasnije.
Za oba gore navedena potrebno je provesti instalacijsko ispitivanje. To osigurava glatku instalaciju aplikacije bez da završi u pogreškama, djelomičnoj instalaciji itd.
Ispitivanje nadogradnje i deinstalacije provodi se u sklopu ispitivanja instalacije.
8) Ispitivanje sigurnosti:
Privatnost i sigurnost dva su glavna zahtjeva aplikacije. Međutim, u bankarstvu, zdravstvu, ovo postaje primarni zahtjev.
Testiranje protoka podataka za mehanizam šifriranja i dešifriranja treba testirati u ovoj fazi. Pristup pohranjenim podacima također se testira u ovoj fazi.
9) Terensko ispitivanje:
Terensko testiranje vrši se posebno za mobilnu podatkovnu mrežu, a ne interno, već izlaskom i upotrebom aplikacije kao uobičajenog korisnika. Ovo se testiranje vrši 'tek' nakon što se cijela aplikacija razvije, testira i regresira (za programske pogreške i test slučajeve).
U osnovi se radi za provjeru ponašanja aplikacije kada telefon ima 2G ili 3G vezu. Terenskim testiranjem provjerava se ruši li aplikacija zbog spore mrežne veze ili treba predugo učitavanje podataka.
Više o terenskim ispitivanjima možete pročitati u našem članku “Važnost i potreba terenskog ispitivanja za mobilne aplikacije”
10) Ispitivanje prekida:
Ova vrsta testiranja poznata je i kao izvanmrežna provjera scenarija. Uvjeti u kojima se komunikacija prekida u sredini nazivaju se izvanmrežnim uvjetima.
Neki od uvjeta u kojima se mogu testirati prekidi rada mreže su sljedeći:
- Uklanjanje podatkovnog kabela tijekom postupka prijenosa podataka.
- Prekid rada mreže tijekom faze knjiženja transakcija.
- Oporavak mreže nakon prekida.
- Uklanjanje baterije ili uključivanje / isključivanje napajanja kada je u fazi transakcije.
Najbolji primjeri iz prakse za testiranje aplikacija za Android
Postoje određeni čimbenici koje treba uzeti u obzir prilikom postavljanja strategije testiranja mobilnih aplikacija.
Oni su:
1) Odabir uređaja:
- Ovo je jedan od najkritičnijih koraka prije pokretanja postupka testiranja android aplikacija.
- Odlučite koje uređaje treba uzeti u obzir za postupak ispitivanja.
- Odabir se vrši tako da se maksimalizira broj ciljanih kupaca.
- Čimbenici poput verzije OS-a, razlučivosti zaslona i čimbenici oblika (tablet ili pametni telefoni) igraju vitalnu ulogu u fazi odabira.
- Ako je potrebna, može se uzeti u obzir čak i pomoć emulatora.
- Ali, emulatori ne bi trebali zamijeniti postupak testiranja fizičkog uređaja.
- Emulatori uređaja isplativi su i dobro dođu tijekom početne faze razvoja.
- No, za testiranje stvarnih scenarija fizički uređaji su neophodni. I emulatori i fizički uređaji trebaju se uravnoteženo koristiti za optimizirane rezultate.
2) Beta testiranje aplikacije:
- Beta testiranje je vrlo učinkovito u testiranju sa stvarnim korisnicima, stvarnim uređajima, stvarnim mrežama i aplikacijama instaliranim u širokoj geografiji.
- To daje jasnu sliku gustoće mreže, mrežnih varijacija (Wi-Fi, 4G, 3G i 2G) i utjecaja na aplikaciju.
- Beta testiranje u stvarnom svijetu jedno je od svoje vrste i ne može se ponoviti u kontroliranom okruženju.
3) Povezivost:
- Android aplikacije su obično povezane s internetom radi različitih zahtjeva.
- Povezivost na različitim uređajima igra ključnu ulogu u postavljanju strategije.
- Povezivost se uglavnom kontrolira pomoću simulacijskog softvera koji pomaže u regulaciji brzine mreže, kašnjenja i ograničene povezanosti tijekom testiranja.
- Kaže se da je testiranje pod stvarnim mrežnim vezama uvijek poželjno za rezultat / podatke u stvarnom vremenu.
4) Ručno ili automatizirano ispitivanje:
- Iako testiranje automatizacije uzima dovoljno vremena za prvo pokretanje, dobro dođe kada se testiranje mora ponoviti. To također smanjuje ukupni vremenski raspon ispitivanja tijekom različitih razvojnih faza.
- Android Automation trebao bi biti udružen s ručnim testiranjem kada je ponavljanje regresijskog testiranja visoko u fazi razvoja aplikacije, testiranje kompatibilnosti mora se obaviti za istu aplikaciju na različitim verzijama OS-a, kontrolne točke povratne kompatibilnosti itd.
Okvir za testiranje Androida
Dostupno je pregršt okvira za testiranje Androida.
U ovom uputstvu razgovarat ćemo o 3 različite vrste najčešće korištenih okvira:
- Okvir za ispitivanje robotijuma
- Robo-električni ispitni okvir
- Appium test Framework
1) Okvir za ispitivanje robotijuma:
- Ovaj se okvir koristi za pisanje sofisticiranih i robusnih test slučajeva za Android aplikacije.
- Podržava kako domaće, tako i hibridne klijente.
- Pomoću ovog okvira mogu se napisati funkcije, primjeri sustava i testovi prihvaćanja korisnika.
- Robotium podržava Android 1.6 i novije verzije, a također podržava dijaloge, jelovnike, aktivnosti itd.
- Ovaj okvir automatski obrađuje više Android aktivnosti.
- Daje se pregršt metoda kao dio Robotiuma za interakciju s različitim grafičkim komponentama Android aplikacije. Neki od njih su kao u nastavku:
- goBack ();
- getButton ();
- isRadioButtonChecked ();
- searchText ('Korisnik');
- kliknite na gumb (“Odjava”);
2) Robo-električni ispitni okvir:
- Ovaj okvir pomaže u testiranju Android aplikacija na JVM-u na temelju JUnit4 okvira.
- Koristi Android API.
- To pomaže u pisanju testnih slučajeva i njihovom pokretanju na JVM-u.
- U skladu s tim, sve su klase zamijenjene nečim što se naziva objektima sjene.
- Kad god se primijeni metoda, Robo-electric interno šalje poziv sjenčastom objektu.
- Na temelju implementacije, ako metodu implementira objekt sjene, vraća se vrijednost. U protivnom se vraća NULL.
- Zbog objekata sjene i JVM-a izvršavanje postaje brže.
3) Test Framework epohe;
- Ovaj okvir radi za izvorne, hibridne i mobilne web-aplikacije za Android uređaje.
- Appium je besplatan program.
- Pojedinačni API radi i za Android, kao i za iOS platformu. Ovo je jedan od okvira koji podržava testiranje na više platformi.
- Koristi upravljački program Selenium Web za interakciju s Android aplikacijom.
- Appium podržava pisanje skripti koristeći puno programskih jezika kao što su Java, C #, Python, PHP, Ruby itd.
Zaključak
Automatizacija Android aplikacija može se udružiti ručno prema potrebi. Međutim, ako se strategiji doda testiranje Androind Automation, odabir ispravnog alata velik je zadatak. Pri odabiru čimbenika alata za automatizaciju kao što je podrška za više platformi, test tijeka rada, cijena alata, usluga / podrška itd. Trebaju se uzeti u obzir.
U testiranju Android aplikacija postoji nekoliko izazova. Postoje različiti čimbenici koje treba uzeti u obzir prije nego što se postupak testiranja Androida zaista može implementirati, ali kada to jednom postane, to postaje vrlo zanimljiv zadatak.
Pazite na naš predstojeći vodič da biste saznali više o tome Izazovi i rješenja za mobilno testiranje.
Preporučena literatura
- 11 najboljih alata za automatizaciju za testiranje Android aplikacija (Android Tools Testing Tools)
- Usluge beta testiranja mobilne aplikacije (iOS i Android beta alati)
- Stvorite Appium testove za Android aplikaciju
- Funkcionalno ispitivanje vs nefunkcionalno testiranje
- Tutoriali za testiranje mobilnih aplikacija (cjelovit vodič s više od 30 vodiča)
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)
- Alfa testiranje i beta testiranje (cjelovit vodič)
- Dubinski vodiči za pomračenje za početnike