mobile application performance testing guide
Vodič za ispitivanje performansi mobilnih aplikacija:
U ovome Eksplicitni opseg vodiča za ispitivanje performansi, istražili smo koncept Testiranje performansi u oblaku u našem zadnjem tutorialu.
Ovdje ćete naučiti što je mobilna aplikacija, vrste mobilnih aplikacija, pristup testiranju performansi mobilne aplikacije, kako postaviti okruženje za testiranje performansi mobilne aplikacije, kako riješiti probleme s performansama mobilnih aplikacija, izazove i dostupne alate itd. na detaljan način.
=> Kliknite ovdje za cjelovitu seriju vodiča za testiranje izvedbe
Što ćete naučiti:
- Pregled
- Što je mobilna aplikacija?
- Arhitektura mobilnih aplikacija
- Pristup testiranju izvedbe mobilne aplikacije
- Strategija izvedbe mobilne aplikacije
- Okolina za testiranje performansi mobilne aplikacije
- Izazovi ispitivanja performansi mobilne aplikacije
- Rješavanje problema s performansama mobilnih aplikacija
- Alati za testiranje performansi mobilne aplikacije
- Zaključak
- Preporučena literatura
Pregled
U današnjem tehnološkom svijetu mobilne se aplikacije široko koriste od uobičajenih aplikacija za stolne računare. Broj korisnika koji koriste pametne telefone za pristup većini svojih aplikacija nego na radnoj površini ili prijenosnom računalu drastično se povećava.
Također, krajnji korisnik će očekivati dobar odgovor od aplikacije kada je koristi. Stoga programer koji izrađuje mobilne aplikacije to mora imati na umu tijekom razvijanja aplikacije.
Sada je testiranje izvedbe presudno bilo da se radi o uobičajenoj web aplikaciji ili aplikaciji na mobilnom uređaju. Ako se aplikacija pokrene bez provjere performansi i ako se krajnji korisnik suoči s problemima izvedbe poput sporog odgovora itd., Tada će pokušati pronaći drugu bolju aplikaciju koja će raditi na bolji način.
Testiranje performansi je skupo, a treba i više vremena. Stoga mnogi klijenti izbjegavaju ići na testiranje performansi, ali ovo će puno pomoći oko problema u proizvodnji. Stoga se svaka aplikacija mora temeljito testirati prije nego što postane dostupna krajnjem korisniku.
Što je mobilna aplikacija?
Mobilne aplikacije skup su unaprijed definiranih funkcija dizajniranih za rad na mobilnim uređajima kao što su pametni telefon, tableti i drugi telefoni sa značajkama. Nisu sve mobilne aplikacije iste, postoje tri različite vrste mobilnih aplikacija i one se temelje na tehnologiji koja je korištena za razvoj tih aplikacija.
3 vrste mobilnih aplikacija uključuju:
- Izvorne mobilne aplikacije
- Web-bazirane mobilne aplikacije
- Hibridne aplikacije
# 1) Izvorne mobilne aplikacije:
Izvorne mobilne aplikacije su one aplikacije koje se izvode na vašim pametnim telefonima ili tabletima i rade na operacijskom sustavu mobilnih uređaja. Oni pružaju visoke performanse i vrlo su pouzdani. Ova vrsta aplikacija također pristupa ostalim aplikacijama na vašem pametnom telefonu, poput fotografija, adresara itd.
Izvorne aplikacije dostupne su u trgovini mobilnih aplikacija. Za Android imamo trgovinu za igre, a za iPhone iTunes. Dakle, ove se aplikacije preuzimaju iz njihovih trgovina i instaliraju na mobilne uređaje.
Primjeri Izvorne aplikacije su kalkulator, kalendar, Facebook aplikacija itd.
# 2) Web-bazirane mobilne aplikacije:
Mobilne aplikacije zasnovane na webu pokreću se izravno iz preglednika i nisu instalirane na mobilnom uređaju.
Primjeri internetskih mobilnih aplikacija su mrežne igre, web stranice za društvene mreže itd.
# 3) Hibridne aplikacije:
Hibridne aplikacije slične su izvornim aplikacijama i izvode se unutar izvornog spremnika, kombinacija su obje aplikacije i koriste preglednik uređaja, a ne stvarni preglednik za generiranje web stranica aplikacije.
Primjeri Hibridne aplikacije su Instagram, Yelp itd.
Arhitektura mobilnih aplikacija
Na gornjoj slici , pametni telefoni i tableti dolaze na strani klijenta. Uključuju uređaje koje obično koristimo poput pametnih telefona, tableta, njihove mreže poput 3G, 4G itd. Operativni sustav uređaja kao što su Android, iOS, Windows itd.
Mreža mobilne mreže , Wireless, Internet i Firewall spadaju u Network. Za staničnu mrežu vidimo snagu signala, zagušenje mreže, ispadanje itd. Za bežičnu mrežu vidimo snagu, brzinu itd.
Web, App i DB dolaze na strani poslužitelja gdje je obavljen veći dio posla.
Pristup testiranju izvedbe mobilne aplikacije
Testiranje izvedbe mobilnih aplikacija razlikuje se od testiranja izvedbe web aplikacija. Prijenosna ili stolna računala koja se koriste za pristup web aplikacijama ne trpe puno zbog loših mrežnih uvjeta, uključujući gubitak ili latenciju paketa.
Dok su u mrežnim uvjetima mobilnih aplikacija, gubitak paketa, kašnjenje, vrsta uređaja koji koristimo poput pametnog telefona ili pametnog uređaja i propusnost sve bitno i ne bismo trebali zanemariti sve ove čimbenike dok razmatramo testiranje performansi mobilnih aplikacija.
Prije nego što razvijete strategiju izvedbe, trebali biste razumjeti koju vrstu aplikacije koristite na svom mobilnom uređaju.
Postoje tri vrste aplikacija:
- Aplikacije temeljene na pregledniku
- Izvorne aplikacije
- Hibridne aplikacije
# 1) Aplikacije temeljene na pregledniku:
Ovim se vrstama aplikacija može izravno pristupiti putem mobilnog preglednika i ne treba im dodatni softver za preuzimanje ili instaliranje na uređaj.
Lagani su i grade se na istom hrpi u svim vrstama uređaja kao što su Android, iPhone itd. Također, responzivni web dizajn pokret olakšava stvaranje aplikacije koja se temelji na više preglednika jer je možete prikazati na različitim veličinama zaslona.
Ova vrsta aplikacija ima nedostataka jer im se ne može pristupiti bez internetske veze, nemaju sve značajke ugrađene u uređaj, a korisnicima se čine i sporijima.
Tako. dok je testiranje performansi ove vrste aplikacija važno preslikati učitavanje korisnika iz mobilnog preglednika, a također je važno testirati prikazivanje web stranica na ciljanim uređajima.
# 2) Izvorne aplikacije:
Ova vrsta aplikacija izgrađena je na određenoj platformi pomoću softvera koji je instaliran izravno na uređaj.
koju uslugu e-pošte trebam koristiti
Izvorne aplikacije brže su i brže reagiraju jer su lokalno ugrađene u uređaj. Budući da se kod na svakom uređaju razlikuje, tj. Za iPhone, Android itd., Tijekom testiranja performansi moramo razmotriti testiranje na svakoj platformi.
# 3) Hibridne aplikacije:
Hibridne aplikacije kombinacija su preglednika i izvornih aplikacija. Sastavljeni su od matične ljuske koja pruža brzo integrirano iskustvo.
Iako testiranje performansi cilja opterećenje koje generiraju korisnici takve hibridne aplikacije na strani poslužitelja, kao i mjeri performanse aplikacija na uređaju iz perspektive krajnjeg korisnika.
Pa kako testirati ove mobilne aplikacije?
Da bismo testirali takve mobilne aplikacije, moramo stvoriti okruženje s emulatorima i stvarnim uređajima. Mobilni emulatori su softver koji treba instalirati na naša prijenosna ili stolna računala i koji će oponašati mobilnu aplikaciju ili mobilnu platformu.
Stoga, pomoću ovih emulatora možemo generirati značajnu količinu opterećenja za naše ispitivanje opterećenja.
Druga metoda je korištenje stvarnih uređaja, ovdje uređaj imamo fizički i možemo vidjeti kako aplikacija radi na svakom uređaju. Korištenjem stvarnih uređaja nemamo mogućnost generiranja tereta što nam je glavni cilj, ali za to moramo imati više stvarnih uređaja.
Međutim, ako želite testirati ponašanje aplikacije na određenom uređaju, možete koristiti pravi uređaj, ali za generiranje opterećenja trebamo koristiti emulatore.
Sljedeća točka koju treba primijetiti tijekom testiranja mobilne aplikacije jest znati mjesto pristupa krajnjeg korisnika. Vrlo je važno znati pristupaju li korisnici iz istog grada, iste zemlje ili se šire po cijelom svijetu itd. Ako planiramo svoj test ili okruženje bez razmatranja ovoga, naši testovi bi bili pogrešni.
Izvedba aplikacije na mobilnoj aplikaciji poput pametnog telefona ili pametnog uređaja obično se mjeri u smislu izvedbe uređaja, performansi poslužitelja / API-ja i mrežne izvedbe.
Moramo provjeriti sljedeće ispod svake izvedbe.
Učinak uređaja:
- Vrijeme pokretanja aplikacije
- Vrijeme baterije tijekom korištenja aplikacije
- Potrošnja memorije
- Varijacije hardvera i softvera
- Korištenje s drugim aplikacijama
- Aplikacija koja se izvodi u pozadini
Izvedba poslužitelja / API-ja:
- Podaci do i sa poslužitelja.
- Generirani API pozivi
- Zastoji poslužitelja
Mrežne performanse:
najbolja aplikacija za preuzimanje mp3 glazbe
- Izgubljen paket
- Brzina mreže
Stoga, dok pišete pristup testiranju performansi mobilne aplikacije, morate uzeti u obzir sve gore navedene točke i uskladiti opseg i zahtjeve vašeg projekta.
Strategija izvedbe mobilne aplikacije
Pristup testiranju izvedbe razlikuje se za svaku vrstu mobilne aplikacije. Pristup se razlikuje od aplikacije do aplikacije jer se svaka aplikacija razvija s različitim komponentama, a mehanizam obrade za svaku se razlikuje.
Mobilne aplikacije temeljene na pregledniku djeluju drugačije od uobičajene aplikacije web preglednika. Ovakvo ponašanje nastalo je zbog propusnosti iz podatkovnog plana koji koristi krajnji korisnik, a također ovisi o konfiguraciji mobilnih uređaja.
Troškovi razvoja ove vrste aplikacija temeljenih na pregledniku bit će manji jer bi razvojni rad bio provjera njegove kompatibilnosti s preglednicima koji su dostupni na mobilnim uređajima.
Stoga za ispitivanje performansi, poput aplikacija temeljenih na mobilnom pregledniku, moramo ponoviti učitavanje korisnika u pregledniku. To možemo učiniti pomoću emulatora ili bilo koje druge dodatne komponente. Osim učitavanja korisnika u mobilnim preglednicima, moramo testirati i prikazivanje web stranica na uređajima.
Troškovi razvoja izvornih mobilnih aplikacija veći su. Aplikacije se instaliraju izravno na uređaj što poboljšava korisničko iskustvo, ali aplikacija ovisi o platformi.
Dakle, ako želimo testirati izvedbu u ovoj vrsti aplikacija, tada moramo testirati sve platforme mobilnih uređaja kao što su Android, iOS, Windows itd., A također i na svim vrstama uređaja poput pametnih telefona, tableta itd.
Hibridne mobilne aplikacije kombinacija su i mobilnih aplikacija temeljenih na pregledniku i izvornih mobilnih aplikacija, stoga ovdje moramo testirati opterećenje korisnika na poslužitelju, a također moramo obaviti cjelovito testiranje izvedbe na svim mobilnim uređajima i platformama.
Za bilo koju aplikaciju na mobilnom uređaju postoje dva glavna čimbenika koji utječu na performanse krajnjeg korisnika:
- Zahtjev na mobilnom uređaju
- Prikazivanje stranice na mobilnom uređaju
# 1) Zahtjev na mobilnom uređaju:
Pod tim se zahtjev isporučuje poslužitelju, a odgovor poslužitelja generira se na temelju primljenog zahtjeva. Nakon što se odgovor generira na poslužitelju, taj se odgovor vraća na mobilni uređaj koji je poslao početni zahtjev.
Ovdje su parametri koje treba razmotriti opterećenje poslužitelja, različite vrste mreže poput 3G, 4G itd., Opterećenje svake mreže i bilo koje druge komponente.
Možemo ih testirati pomoću emulatora, tj. Možemo generirati skripte i koristiti emulatore za oponašanje korisničkog opterećenja na poslužitelju.
# 2) Prikaz stranice na mobilnom uređaju:
Prikazivanje stranice na mobilnom uređaju nije ništa drugo nego odgovor koji je primljen od poslužitelja na zahtjev koji smo poslali iz naše mobilne aplikacije.
Ovdje su parametri koje treba proučiti operativni sustav uređaja, postavke konfiguracije mobilnog uređaja itd. Možemo ih testirati tako da se zapravo prijavimo na mobilni uređaj i nadgledamo.
Sada ćemo detaljno pogledati svaki korak spomenut na gornjoj slici:
a) Stvorite scenarije korisnika u stvarnom vremenu:
Slično uobičajenim aplikacijama web preglednika, u stvarnom vremenu moramo identificirati scenarije ili uvjete koji se očekuju na poslužitelju. Bit će testirano mnogo scenarija.
Pretpostavimo uvjet u kojem postoji web aplikacija dostupna na obje radne površine kao i na mobilnom uređaju, a također je izvorna u Android i iOS uređajima. Ovdje trebamo razviti testnu skriptu koja se temelji na vrsti pristupa aplikaciji. Stoga ga moramo testirati zasebno na svakom uređaju.
Također, moramo uzeti u obzir obrazac radnog opterećenja za taj scenarij, tj. Moramo razumjeti kako se opterećenje raspoređuje na svaki uređaj. Na primjer, 500 korisnika pristupit će aplikaciji putem weba, oko 100 će koristiti izvornu aplikaciju na svom ios uređaju, a dodatnih 200 pristupit će aplikaciji sa svog izvornog uređaja na Android aplikaciji.
Također bismo trebali uzeti u obzir zemljopisne lokacije opterećenja na poslužitelju. Na primjer, 30% korisnika pristupa iz SAD-a, 50% iz Indije, a ostatak 20% s drugih mjesta. Obavezno je oponašati različito mjesto korisnika jer će to imati vrlo velik utjecaj na poslužitelje.
Testiranje svih 100% na jednom mjestu dat će pogrešne rezultate. Stoga se savjetuje testiranje opterećenja na poslužiteljima davanjem drugog mjesta. Rješenje u oblaku može se koristiti za oponašanje različitih geografskih mjesta.
b) Stvorite mrežne uvjete u stvarnom vremenu:
Ovdje moramo stvoriti različite mrežne uvjete, a također i kvalitetu mreže poput 3G mreže, 2G mreže, Wi-Fi-ja s najboljom brzinom, prosječnom brzinom i malom brzinom. Moramo napraviti emulaciju mreže za stvaranje mrežnih uvjeta.
Također bismo trebali testirati izvedbu davanjem uvjeta propusnosti od 50%, a to možemo postići emulacijom mreže. Možemo upotrijebiti bilo koji alat poput vjetroelektrane, Shunre itd.
Također, testirajte mrežu s obzirom na različite geografije, poput 3G mreže u Bangaloreu. 4G u Hyderabadu itd. Ovdje također trebamo napraviti emulaciju mreže pomoću odgovarajućih alata.
c) Stvorite uvjete uređaja u stvarnom vremenu:
Ovo nije ništa drugo do vrsta aplikacije na mobilnom uređaju, poput toga je li riječ o aplikaciji tankog klijenta ili aplikaciji debelog klijenta, kakav je operativni sustav na mobilnom uređaju, vrsta uređaja poput iPhonea, Nokia itd. I bilo koja druga aplikacija koji će se paralelno izvoditi tijekom uporabe ove određene aplikacije itd., također se mora testirati kao dio scenarija.
d) Ispitajte izvedbu svake komponente:
Nakon stvaranja svih gore navedenih scenarija, moramo testirati performanse aplikacije, uključujući sav softver i hardver. Sada prikupite sve potrebne mjerne podatke tijekom ispitivanja opterećenja.
Neke od mjernih podataka na strani poslužitelja koje je potrebno prikupiti su uporaba CPU-a, opterećenje procesora, vrijeme obrade, ukupni raspoloživi bajt, poslani paketi, primljeni paketi itd.
Neke od mrežnih mjernih podataka koje treba prikupiti su paketi i bajtovi poslani mrežom, paketi i bajtovi primljeni mrežom, paketi pali i ukupno prosječno kašnjenje.
Mjerni podaci uređaja koji se prikupljaju su CPU, korištenje memorije, vrijeme odziva itd., A također mjere sva vremena odziva i propusnosti transakcije.
Okolina za testiranje performansi mobilne aplikacije
Prije nego što postavimo okruženje za testiranje performansi za mobilnu aplikaciju, moramo razumjeti koje će se mobilne aplikacije testirati, koji će se sve operativni sustavi ili uređaji testirati, kao i različiti zemljopisni položaji.
Stoga, prvo, moramo stvoriti okruženje koje se sastoji od emulatora i stvarnih uređaja. Pa, što je emulator? Emulator je softver koji se može instalirati na naša prijenosna ili stolna računala i oni djeluju kao mobilni uređaji. Pomoću ovih emulatora možemo generirati veliko opterećenje, stoga ih je najbolje koristiti za testiranje opterećenja bilo koje mobilne aplikacije.
S druge strane, Real Devices su fizički mobilni uređaji. Stoga moramo provjeriti ponašanje aplikacije na svakom uređaju i na svakoj mreži. Ali nećemo moći testirati širinu pojasa, gubitak paketa itd., Kada je više uređaja povezano na istu mrežu i pristupa istoj aplikaciji.
Sljedeće što treba uzeti u obzir je geografski položaj uređaja za primjenu, ovo je obvezan i vrlo važan aspekt koji treba uzeti u obzir, inače naši rezultati ispitivanja neće biti kao što se događa u stvarnom scenariju.
Dakle, nakon što analizirate sve gore navedeno, odaberite odgovarajući alat za ispitivanje opterećenja za provođenje testova performansi.
Izazovi ispitivanja performansi mobilne aplikacije
Izazovi s kojima se susrećemo tijekom testiranja performansi mobilnih aplikacija uključuju:
- Kada moramo testirati našu aplikaciju na različitim mobilnim uređajima, moramo organizirati sve uređaje poput IOS-a, Android-a, Windows-a itd.
- Simulacija mreže je još jedan izazov s kojim ćemo se suočiti, tj. Trebamo simulirati mreže poput 3G, 2G, 4G i wifi mreže.
- Dostupna memorija u mobilnim uređajima za rukovanje probnim radom.
- Trajanje baterije mobilnih uređaja.
Rješavanje problema s performansama mobilnih aplikacija
Nakon završetka probnog rada, vrijeme je da se skupi usko grlo performansi utvrđeno tijekom probnog rada. Nakon što se problemi konsolidiraju, moramo prepoznati glavni uzrok problema i riješiti ih.
Pogledajmo neke probleme s izvedbom mobilnih aplikacija:
- Kašnjenje u odgovoru iz mobilne aplikacije: To kašnjenje obično je uzrokovano memorijom ili predmemoriranjem. U takvim se slučajevima savjetuje očistiti predmemoriju i ponovno pokrenuti test.
- Aplikacija se neko vrijeme ponovno pokrene, objesi ili zamrzne: U takvim slučajevima provjerite softver kao da je potrebno izvršiti bilo kakva ažuriranja, provjerite ima li u aplikacijskom kodu bilo kakve optimizacije, a rukovanje predmemoriranjem neka su područja koja treba proučiti.
Alati za testiranje performansi mobilne aplikacije
Alati se mogu razlikovati ovisno o vrsti uređaja i platformi.
U nastavku su navedeni neki od najčešće korištenih alata.
Za Android uređaje:
roboti: Pomoću ovog alata možemo snimiti i ponoviti nekoliko koraka za provođenje testa. Klik ovdje za tutorij Robotiuma .
Trkač majmuna : Pomoću ovog alata možemo pokretati svoje testove na uređajima spajajući ih na radnu površinu. Korištenjem sučelja alata možemo pristupiti pametnom telefonu.
Za iOS uređaje:
Automator: Pomoću ovog alata možemo povući i ispustiti tijekove rada i automatizirati ih.
Zaključak
Siguran sam da biste kroz ovaj informativni vodič naučili više o mobilnim aplikacijama i kako na savršen način izvršiti testiranje opterećenja na mobilnim aplikacijama.
Naš predstojeći vodič uputit će vas o tome kako jednostavno izvršiti ručno testiranje performansi.
=> Posjetite ovdje za cjelovitu seriju vodiča za testiranje izvedbe
Preporučena literatura
- Testiranje performansi mobilnih aplikacija pomoću BlazeMetera
- Vodič za početnike za testiranje izvedbe web aplikacija pomoću WAPT Pro
- Vodič za ispitivanje sigurnosti web aplikacija
- Ispitivanje performansi vs ispitivanje opterećenja vs testiranje naprezanja (razlika)
- Kako brzo dobiti posao za mobilno testiranje - Vodič za karijeru za mobilno testiranje (1. dio)
- Ispitivanje opterećenja, stresa i performansi web aplikacija pomoću WAPT-a
- Kako izvršiti ručno ispitivanje performansi?
- Alati za testiranje penetracije mobilne aplikacije i pružatelji usluga