mobile application performance testing guide
Ghid pentru testarea performanței aplicațiilor mobile:
In acest Gama explicită de tutoriale de testare a performanței, am explorat conceptul de Testarea performanței în cloud în ultimul nostru tutorial.
Aici veți afla ce este o aplicație mobilă, tipurile de aplicații mobile, testarea performanței abordării aplicației mobile, cum să configurați un mediu de testare a performanței aplicației mobile, cum să depanați problemele de performanță cu aplicațiile mobile, provocările implicate și instrumentele disponibile etc. într-o manieră detaliată.
=> Faceți clic aici pentru seria de tutoriale complete de testare a performanței
Ce veți învăța:
cel mai bun pop-up blocker pentru crom
- Prezentare generală
- Ce este o aplicație mobilă?
- Arhitectura aplicațiilor mobile
- Abordarea de testare a performanței aplicațiilor mobile
- Strategia de performanță a aplicațiilor mobile
- Mediul de testare a performanței aplicațiilor mobile
- Provocări de testare a performanței aplicațiilor mobile
- Depanarea problemelor de performanță cu aplicațiile mobile
- Instrumente de testare a performanței aplicațiilor mobile
- Concluzie
- Lectură recomandată
Prezentare generală
În lumea tehnologică de astăzi, aplicațiile mobile sunt utilizate pe scară largă decât aplicațiile desktop obișnuite. Numărul de utilizatori care folosesc smartphone-uri pentru accesarea majorității aplicațiilor lor decât utilizarea unui desktop sau laptop este crescut drastic.
De asemenea, utilizatorul final se va aștepta la un răspuns bun din partea aplicației atunci când o folosește. Prin urmare, dezvoltatorul care construiește aplicațiile mobile trebuie să țină cont de acest lucru în timp ce dezvoltă aplicația.
Acum, testarea performanței este esențială, fie că este o aplicație web obișnuită, fie o aplicație pe un dispozitiv mobil. Dacă o aplicație devine live fără a fi testată performanța și dacă utilizatorul final se confruntă cu probleme de performanță, cum ar fi un răspuns lent etc., atunci va încerca să găsească o altă aplicație mai bună, care să funcționeze într-un mod mai bun.
Testarea performanței este costisitoare și necesită și mai mult timp. Prin urmare, mulți clienți evită să meargă la testarea performanței, dar acest lucru va ajuta foarte mult cu problemele din producție. Astfel, orice aplicație trebuie testată temeinic înainte de a fi pusă la dispoziția utilizatorului final.
Ce este o aplicație mobilă?
Aplicațiile mobile sunt un set de funcții predefinite care sunt proiectate să funcționeze pe dispozitive mobile, cum ar fi Smart Phone, tablete și alte telefoane cu funcții. Nu toate aplicațiile mobile sunt la fel, există trei tipuri diferite de aplicații mobile și acestea se bazează pe tehnologia utilizată pentru dezvoltarea acestor aplicații.
3 tipuri de aplicații mobile includ:
- Aplicații mobile native
- Aplicații mobile bazate pe web
- Aplicații hibride
# 1) Aplicații mobile native:
Aplicațiile mobile native sunt acele aplicații care rulează pe propriile smartphone-uri sau tablete, care rulează pe sistemul de operare al dispozitivelor mobile. Acestea oferă performanțe ridicate și sunt foarte fiabile. Acest tip de aplicații accesează și celelalte aplicații de pe dispozitivul smartphone, cum ar fi fotografii, agendă etc.
Aplicațiile native sunt disponibile în magazinul de aplicații mobile. Pentru Android, avem magazin Play și pentru iPhone avem iTunes. Deci, aceste aplicații sunt descărcate din magazinele respective și instalate pe dispozitive mobile.
Exemple din aplicațiile native sunt un calculator, un calendar, o aplicație Facebook etc.
# 2) Aplicații mobile bazate pe web:
Aplicațiile mobile bazate pe web rulează direct din browser, nu sunt instalate pe dispozitivul mobil.
Exemple ale aplicațiilor mobile bazate pe web sunt jocuri online, site-uri de rețele sociale etc.
# 3) Aplicații hibride:
Aplicațiile hibride sunt similare cu aplicațiile native și rulează în containerul nativ, sunt un amestec atât de aplicații, cât și utilizează browserul dispozitivului și nu browserul propriu-zis pentru a reda paginile web ale aplicației.
Exemple ale aplicației Hybrid sunt Instagram, Yelp etc.
Arhitectura aplicațiilor mobile
În figura de mai sus , smartphone-urile și tabletele intră sub incidența clientului. Acestea includ dispozitivele pe care le folosim de obicei, cum ar fi Smart Phone, tablete, rețeaua lor precum 3G, 4G, etc. Un sistem de operare al dispozitivelor precum Android, iOS, Windows etc.
Rețea de celule mobile , Wireless, Internet și Firewall intră sub rețea. Pentru rețeaua de celule, vedem puterea semnalului, congestia rețelei, abandonul etc. Pentru o rețea fără fir, vedem puterea semnalului, viteza etc.
Web, aplicație și DB apar pe partea serverului, unde se face o mare parte a muncii.
Abordarea de testare a performanței aplicațiilor mobile
Testarea performanței aplicațiilor mobile este diferită de testarea performanței aplicațiilor web. Laptopurile sau desktopurile care sunt utilizate pentru a accesa aplicațiile web nu suferă prea mult de condițiile de rețea slabe, inclusiv pierderea pachetului sau latența.
În timp ce în condițiile de rețea ale aplicațiilor mobile, pierderea pachetelor, latența, tipul de dispozitiv pe care îl folosim ca un smartphone sau un dispozitiv inteligent și lățimea de bandă sunt importante și nu ar trebui să ignorăm toți acești factori, luând în considerare testarea performanței aplicațiilor mobile.
Înainte de a vă dezvolta strategia de performanță, ar trebui să înțelegeți ce tip de aplicație rulați pe dispozitivul dvs. mobil.
Există trei tipuri de aplicații:
- Aplicații bazate pe browser
- Aplicații native
- Aplicații hibride
# 1) Aplicații bazate pe browser:
Acest tip de aplicații pot fi accesate direct printr-un browser mobil și nu au nevoie de niciun software suplimentar pentru a fi descărcat sau instalat pe dispozitiv.
Sunt ușoare și sunt construite pe același teanc în toate tipurile de dispozitive, cum ar fi Android, iPhone etc. De asemenea, design web receptiv mișcarea face, și mai mult, mai ușoară crearea unei aplicații bazate pe mai multe browsere, deoarece puteți reda aplicația la diferite dimensiuni de ecran.
Acest tip de aplicații prezintă dezavantaje de genul că nu pot fi accesate fără o conexiune la internet, nu au toate caracteristicile încorporate în dispozitiv și, de asemenea, tind să pară mai lent pentru utilizatori.
Asa de. în timp ce testează performanța acestui tip de aplicații, este important să replici încărcarea utilizatorului dintr-un browser mobil și este, de asemenea, important să testezi redarea paginii web pe dispozitivele țintă.
# 2) Aplicații native:
Acest tip de aplicații sunt construite pe o anumită platformă utilizând software-ul care este instalat direct pe dispozitiv.
Aplicațiile native sunt mai rapide și mai receptive, deoarece sunt construite local pe dispozitiv. Deoarece codul de pe fiecare dispozitiv este diferit, adică pentru iPhone, Android etc., în timp ce testarea performanței trebuie să luăm în considerare testarea pe fiecare platformă.
# 3) Aplicații hibride:
Aplicațiile hibride sunt combinația atât a aplicațiilor Browser, cât și a aplicațiilor native. Acestea sunt compuse dintr-un shell nativ care oferă o experiență integrată rapidă.
În timp ce testarea performanței vizează încărcarea generată de utilizatorii unei astfel de aplicații hibride din partea serverului, precum și măsurează performanța aplicației de pe dispozitiv din perspectiva utilizatorului final.
Deci, cum testăm aceste aplicații mobile?
Pentru a testa astfel de aplicații mobile, trebuie să construim un mediu cu emulatoare și dispozitive reale. Emulatoarele mobile sunt programe software care trebuie instalate pe laptopurile sau desktopurile noastre care vor imita o aplicație mobilă sau o platformă mobilă.
Prin urmare, folosind aceste emulatoare putem genera o cantitate semnificativă de încărcare pentru testarea încărcării noastre.
Cealaltă metodă este utilizarea dispozitivelor reale, aici avem dispozitivul fizic și putem vedea cum funcționează aplicația pe fiecare dispozitiv. Folosind dispozitive reale, nu avem opțiunea de a genera încărcarea care este obiectivul nostru principal, dar pentru a face acest lucru trebuie să avem mai multe dispozitive reale.
Cu toate acestea, dacă doriți să testați comportamentul aplicației pe un anumit dispozitiv, puteți utiliza dispozitivul real, dar pentru a genera încărcare trebuie să folosim emulatoare.
Următorul punct de remarcat în timpul testării unei aplicații mobile este să cunoașteți locația de acces a utilizatorului final. Este foarte important să știm dacă utilizatorii accesează din același oraș, aceeași țară sau dacă sunt răspândiți în întreaga lume etc. Dacă ne planificăm testul sau mediul fără a lua în considerare acest lucru, atunci testele noastre ar fi greșite.
Performanța aplicației pe o aplicație mobilă, cum ar fi un telefon inteligent sau un dispozitiv inteligent, este de obicei măsurată în funcție de performanța dispozitivului, performanța serverului / API și performanța rețelei.
întrebări și răspunsuri la interviu cu seleniu pentru experimentați
Trebuie să verificăm următoarele în fiecare spectacol.
Performanța dispozitivului:
- Timp de pornire a aplicației
- Durata bateriei în timpul utilizării aplicației
- Consumul de memorie
- Variații hardware și software
- Utilizare cu alte aplicații
- O aplicație care rulează în fundal
Performanță server / API:
- Date către și de la server.
- Apeluri API generate
- Timp de nefuncționare a serverului
Performanța rețelei:
- Pierdere de pachete
- Viteza rețelei
Astfel, în timp ce scrieți abordarea pentru testarea performanței aplicației mobile, trebuie să luați în considerare toate punctele de mai sus și să corespundeți sferei și cerințelor proiectului.
Strategia de performanță a aplicațiilor mobile
Abordarea testului de performanță diferă pentru fiecare tip de aplicație mobilă. Abordarea variază de la o aplicație la alta, deoarece fiecare aplicație este dezvoltată cu componente diferite, iar mecanismul de procesare este diferit pentru fiecare.
Aplicațiile mobile bazate pe browser acționează diferit față de aplicația obișnuită de browser web. Acest comportament se datorează lățimii de bandă din planul de date pe care utilizatorul final îl folosește și depinde și de configurația de pe dispozitivele mobile.
Costul dezvoltării acestui tip de aplicație bazată pe browser va fi mai mic, deoarece lucrarea de dezvoltare ar consta în a vedea compatibilitatea acestuia cu browserele disponibile pe dispozitive mobile.
Prin urmare, pentru testarea performanței, cum ar fi aplicațiile mobile bazate pe browser, trebuie să reproducem încărcarea utilizatorului pe browser. Putem face acest lucru folosind emulatoare sau orice alte componente suplimentare. În afară de încărcarea utilizatorului pe browserele mobile, trebuie să testăm și redarea paginii web pe dispozitive.
Costul de dezvoltare al aplicațiilor mobile native este mai mare. Aplicațiile sunt instalate direct pe dispozitiv, ceea ce face experiența utilizatorului mai bună, dar aplicația depinde de platformă.
Deci, dacă vrem să testăm performanța în acest tip de aplicații, atunci trebuie să testăm toate platformele dispozitivelor mobile precum Android, iOS, Windows etc. și, de asemenea, pe toate tipurile de dispozitive, cum ar fi smartphone, tablete etc.
Aplicațiile mobile hibride sunt o combinație atât de aplicații mobile bazate pe browser, cât și de aplicații mobile native, prin urmare, aici trebuie să testăm încărcarea utilizatorului pe server și, de asemenea, trebuie să facem teste complete de performanță pe toate dispozitivele și platformele mobile.
Pentru orice aplicație de pe dispozitivul mobil, există doi factori principali care afectează performanța utilizatorului final:
- Solicitare pe dispozitivul mobil
- Redarea paginii de pe dispozitivul mobil
# 1) Cerere pe dispozitivul mobil:
În acest sens, cererea este livrată serverului, iar răspunsul serverului este generat pe baza cererii primite. Odată ce răspunsul este generat la server, acest răspuns este trimis înapoi la dispozitivul mobil care a trimis solicitarea inițială.
Aici parametrii care trebuie analizați sunt încărcarea serverului, diferitele tipuri de rețea, cum ar fi 3G, 4G etc., o încărcare pe fiecare rețea și orice alte componente.
Le putem testa folosind emulatoare, adică putem genera scripturi și putem folosi emulatoare pentru a imita încărcarea utilizatorului pe server.
# 2) Redarea paginii pe dispozitivul mobil:
Redarea paginilor de pe dispozitivul mobil nu este altceva decât răspunsul primit de la server pentru solicitarea pe care am trimis-o din aplicația noastră mobilă.
Aici parametrii care trebuie analizați sunt sistemul de operare al dispozitivului, setarea de configurare a dispozitivului mobil etc. Putem testa aceștia conectându-ne efectiv la dispozitivul mobil și monitorizându-i.
cel mai bun software de actualizare a driverelor Windows 10
Acum, să aruncăm o privire detaliată asupra fiecărui pas menționat în figura de mai sus:
a) Creați scenarii de utilizator în timp real:
Similar cu aplicațiile obișnuite de browser web, trebuie să identificăm scenariile sau condițiile care sunt așteptate pe server în timp real. Vor fi multe scenarii de testat.
Să presupunem o condiție în care există o aplicație web disponibilă atât pe desktop-uri, cât și pe dispozitive mobile, de asemenea, este nativă pe dispozitivele Android și ios. Aici trebuie să dezvoltăm un script de testare bazat pe tipul de acces al aplicației. Prin urmare, trebuie să-l testăm separat pe fiecare dispozitiv.
De asemenea, trebuie să luăm în considerare tiparul de sarcină de lucru pentru scenariul respectiv, adică trebuie să înțelegem modul în care sarcina este distribuită fiecărui dispozitiv. De exemplu, 500 de utilizatori vor accesa aplicația prin web, aproximativ 100 vor folosi o aplicație nativă pe dispozitivul lor iOS și alți 200 vor accesa aplicația de pe dispozitivul lor nativ din aplicația Android.
De asemenea, ar trebui să luăm în considerare locațiile geografice ale încărcării pe server. De exemplu, 30% dintre utilizatori accesează din SUA, 50% din India și restul de 20% din alte locații. Este obligatoriu să imitați locația diferită a utilizatorului, deoarece va avea un impact foarte mare asupra serverelor.
Testarea tuturor 100% dintr-o singură locație va produce rezultate greșite. Deci, este recomandat să testați încărcarea pe servere, oferind o locație diferită. Soluția cloud poate fi utilizată pentru a imita diferite locații geografice.
b) Creați condiții de rețea în timp real:
Aici, trebuie să creăm condiții de rețea diferite și, de asemenea, calitatea rețelei, cum ar fi rețeaua 3G, rețeaua 2G, Wi-Fi cu cea mai bună viteză, viteză medie și viteză redusă. Trebuie să facem emulare de rețea pentru a crea condiții de rețea.
De asemenea, ar trebui să testăm performanța oferind condiții de lățime de bandă de 50%, putem realiza acest lucru prin emularea rețelei. Putem folosi orice instrument precum Tunelul vântului, Shunra etc.
De asemenea, testați rețeaua în funcție de diferite geografii, cum ar fi rețeaua 3G din Bangalore. 4G în Hyderabad etc. Aici trebuie să facem emulare de rețea folosind instrumente adecvate.
c) Creați condiții pentru dispozitiv în timp real:
Acesta nu este altceva decât tipul de aplicație de pe dispozitivul mobil, cum ar fi dacă este o aplicație Thin client sau o aplicație Thick client, care este sistemul de operare de pe dispozitivul mobil, tipul de dispozitiv precum iPhone, Nokia etc. și orice altă aplicație care va rula paralel în timpul utilizării acestei aplicații speciale etc., trebuie, de asemenea, testat ca parte a scenariilor.
d) Testați performanța fiecărei componente:
După crearea tuturor scenariilor de mai sus, trebuie să testăm performanța aplicației, inclusiv tot software-ul și hardware-ul. Acum colectați toate valorile necesare în timpul testului de încărcare.
Unele dintre valorile de pe server care trebuie colectate sunt Utilizarea CPU, Încărcare CPU, Timp de procesare, Octet total disponibil, Pachete trimise, pachete primite etc.
Unele dintre valorile de rețea care trebuie colectate sunt pachete și octeți trimiși prin rețea, pachete și octeți primiți prin rețea, pachete scăzute și întârziere medie totală.
Valorile dispozitivului care trebuie colectate sunt procesorul, utilizarea memoriei, timpul de răspuns etc. și măsoară, de asemenea, toți timpul de răspuns la tranzacție și randamentul.
Mediul de testare a performanței aplicațiilor mobile
Înainte de a configura mediul de testare a performanței pentru o aplicație mobilă, trebuie să înțelegem care sunt aplicațiile mobile care vor fi testate, ce sisteme de operare sau dispozitive vor fi testate și diferitele locații geografice.
Prin urmare, mai întâi, trebuie să creăm un mediu care constă din emulatoare și dispozitive reale. Deci, ce este un emulator? Un emulator este un software care poate fi instalat pe laptopurile sau computerele noastre, care acționează ca dispozitive mobile. Putem genera încărcări uriașe folosind aceste emulatoare, prin urmare acestea sunt cele mai bune de utilizat pentru testarea încărcării oricărei aplicații mobile.
Pe de altă parte, dispozitivele reale sunt dispozitive mobile fizice. Deci, trebuie să verificăm comportamentul aplicației pe fiecare dispozitiv și pe fiecare rețea. Dar nu vom putea testa lățimea de bandă, pierderea pachetelor etc., atunci când mai multe dispozitive sunt conectate la aceeași rețea și accesează aceeași aplicație.
Următorul lucru de luat în considerare este locația geografică a dispozitivelor aplicației, acesta este un aspect obligatoriu și foarte important care trebuie luat în considerare, altfel rezultatele testelor noastre nu vor fi la fel ca ceea ce se întâmplă în scenariul din lumea reală.
Deci, odată ce ați analizat toate cele de mai sus, selectați instrumentul respectiv de testare a sarcinii pentru a efectua testele de performanță.
Provocări de testare a performanței aplicațiilor mobile
Provocările cu care ne confruntăm în timpul testării performanței aplicațiilor mobile includ:
- Când trebuie să ne testăm aplicația pe diferite dispozitive mobile, trebuie să organizăm toate dispozitivele precum IOS, Android, Windows etc.
- Simularea rețelei este o altă provocare cu care ne vom confrunta, adică trebuie să simulăm rețele precum 3G, 2G, 4G și rețele wifi.
- Memoria disponibilă pe dispozitivele mobile pentru gestionarea testelor.
- Durata de viață a bateriei dispozitivelor mobile.
Depanarea problemelor de performanță cu aplicațiile mobile
După finalizarea testului, este timpul să adune blocajul de performanță identificat în timpul testului. Odată ce problemele sunt consolidate, trebuie să identificăm cauza principală a problemei și să le remediem.
Să aruncăm o privire asupra unor probleme de performanță cu aplicațiile mobile:
- O întârziere a răspunsului din aplicația mobilă: Această întârziere este de obicei cauzată de memorie sau de cache. În astfel de cazuri, este recomandat să ștergeți memoria cache și să reluați testul.
- Aplicația se repornește, se spânzură sau se blochează: În astfel de cazuri, verificați software-ul ca și cum ar fi nevoie de actualizări, verificați codul aplicației pentru orice optimizare, gestionarea cache-ului sunt câteva domenii care trebuie analizate.
Instrumente de testare a performanței aplicațiilor mobile
Instrumentele pot varia în funcție de tipul dispozitivului și de platformă.
Unele dintre cele mai utilizate instrumente sunt prezentate mai jos.
Pentru dispozitivele Android:
roboți: Folosind acest instrument, putem înregistra și relua câțiva pași pentru efectuarea testului. Clic aici pentru un tutorial Robotium .
Monkey Runner : Folosind acest instrument putem rula testele pe dispozitive conectându-le la un desktop. Folosind interfața instrumentului putem accesa smartphone-ul.
Pentru dispozitivele iOS:
Automator: Folosind acest instrument putem trage și plasa fluxurile de lucru și le putem automatiza.
Concluzie
Sunt sigur că ați fi aflat mai multe despre aplicațiile mobile și despre cum să mergeți mai departe și să efectuați testarea încărcării pe aplicațiile mobile într-un mod perfect prin intermediul acestui tutorial informativ.
Următorul nostru tutorial vă va informa despre cum să efectuați testarea manuală a performanței în termeni simpli.
=> Vizitați aici pentru seria completă de testare a performanțelor
Lectură recomandată
- Testarea performanței aplicațiilor mobile utilizând BlazeMeter
- Ghidul pentru începători pentru testarea performanței aplicațiilor web utilizând WAPT Pro
- Ghid de testare a securității aplicațiilor web
- Testarea performanței vs testarea sarcinii vs testarea stresului (diferență)
- Cum să obțineți rapid un job de testare pe mobil - Ghid de carieră pentru testarea pe mobil (partea 1)
- Testarea sarcinii, stresului și performanței aplicațiilor web utilizând WAPT
- Cum se efectuează testarea manuală a performanței?
- Instrumente de testare a penetrării aplicațiilor mobile și furnizori de servicii