Testarea performanței aplicației mobile

⚡ Rezumat inteligent

Testarea performanței aplicațiilor mobile măsoară cât de repede pornește o aplicație, câtă baterie și memorie consumă, cât de repede răspund API-urile sale și cât de elegant se comportă în rețele nesigure.

  • 🔘 Trei categorii: Performanța dispozitivului, performanța serverului sau a API-ului și performanța rețelei acoperă împreună fiecare blocaj mobil.
  • ☑️ Semnale ale dispozitivului: Timpul de pornire, descărcarea bateriei, consumul de memorie, variația hardware-ului și restaurarea în fundal sunt verificările principale ale dispozitivului.
  • Semnalele serverului: Dimensiunea sarcinii utile, numărul de apeluri API per acțiune și un plan de failover documentat pentru timpul de nefuncționare a serverului.
  • 🧪 Semnale de rețea: Jitter-ul, pierderea de pachete și modificările de viteză trebuie să producă un mesaj clar, nu un ecran blocat.
  • 🛠️ scule: Robotium, MonkeyRunner și Automator apar aici, deși primele două nu mai sunt întreținute.
  • 📊 Pregătire: O listă de verificare care acoperă memoria RAM, timpul de răspuns, concurența și rezistența la erori decide dacă o versiune este disponibilă.

Testarea performanței aplicațiilor mobile pe toate nivelurile dispozitivului, serverului și rețelei

Pentru orice aplicație mobilă, performanța este foarte importantă. Dacă aplicația mobilă nu funcționează bine, utilizatorul final o va dezinstala și va găsi o altă aplicație care are performanțe mai bune.

Aplicația dvs. mobilă trebuie testată temeinic înainte de a o lansa utilizatorului final.

Strategia de testare a aplicațiilor mobile

Performanța aplicației pe un telefon mobil sau orice dispozitiv inteligent este de obicei măsurată în următoarele trei categorii.

  • Performanța dispozitivului
  • Performanță server/API
  • Performanța rețelei

Diagrama de mai jos mapează aceste trei straturi cu verificările lor.

Diagrama strategiei de testare a aplicațiilor mobile, divizarea verificărilor performanței dispozitivelor, serverelor și rețelei

Performanța dispozitivului

Când clientul se confruntă cu o aplicație lentă, se enervează.

Pentru performanța dispozitivului, veți verifica următoarele:

  • Pornirea aplicației: Cât timp durează aplicația dvs. pentru a porni? Este primul parametru de performanță adjudecat de utilizator. Ca regulă generală, după ce utilizatorul atinge pictograma aplicației, primul ecran ar trebui să fie afișat în 1-2 secunde.
  • Durata bateriei în timpul utilizării unei aplicații: În timpul utilizării constante, unele aplicații mobile consumă o cantitate mare de baterie și încălzesc telefonul. Acest lucru se întâmplă în mod normal atunci când aplicația folosește mai multe resurse decât este necesar, ceea ce creează o sarcină excesivă pentru procesor.
  • Consum de memorie: Atunci când Testarea o aplicație, consumul de memorie de către o aplicație ar trebui verificat. Prin implementarea anumitor funcționalități în aplicație, crește și consumul de memorie. De exemplu, în Android aplicațiile atunci când notificările push sunt implementate, atunci consumul de memorie crește.

    În unele cazuri, s-a observat că utilizarea memoriei de către întregul sistem de operare este de doar 14%, dar o nouă aplicație consumă 11%. Deci, acești factori trebuie tratați înainte de a implementa aplicația în lumea reală sau de a oferi clientului.

  • Variații hardware/software: Când testați o aplicație mobilă, este obligatoriu să verificați aplicațiile de pe diferite dispozitive. Este posibil ca aplicația să funcționeze fără probleme pe un dispozitiv, dar nu și pe altul. Ca pentru diferiți furnizori de Android dispozitive, putem verifica aplicația pe telefoanele Samsung, HTC și Lenovo. În mod similar, aplicația trebuie testată cu diferite specificații RAM și procesor, cum ar fi 1 GB sau 2 GB.
  • Utilizare cu alte aplicații: Când aplicația testată rulează în paralel cu alte aplicații, nu ar trebui să existe interferențe. Cel mai bun mod de a-l verifica este comutarea aplicației aflate în testare și a altor aplicații.
  • Aplicații de fundal: Când o aplicație care rulează în fundal este recuperată, aceasta ar trebui să rămână în aceeași stare ca înainte. Dacă acest scenariu nu este gestionat corect, datele se pierd. Cazurile ciclului de viață conexe sunt acoperite în testarea întreruperilor.

Performanță server/API

Când aplicația interacționează cu serverul prin intermediul API-ului, timpul de răspuns devine esențial pentru performanță. Pentru performanța serverului, veți verifica:

  • Date către și de la server: Aplicația ar trebui să gestioneze eficient datele trimise de server. Nu trebuie să dureze prea mult încărcarea datelor. În anumite aplicații, datele sunt trimise într-un format specificat, așa că, înainte de a fi afișate în aplicație, acestea ar trebui convertite într-un format relevant. În acest proces, aplicațiile devin uneori mai lente, iar timpul de răspuns devine mai lung.
  • Apeluri API generate din aplicație: Numărul de apeluri de la aplicația testată către serverul generat din aplicație ar trebui să fie mai mic. În unele cazuri, mai multe apeluri API sunt efectuate pentru aceeași funcționalitate. Pentru o performanță mai bună, acest lucru ar trebui gestionat cu un număr mai mic de apeluri.
  • Timp de nefuncționare a serverului: Dacă, din orice motiv, serverul este nefuncțional sau inaccesibil, putem salva datele în baza de date nativă. Astfel, ori de câte ori serverul este nefuncțional, putem afișa datele stocate în baza de date nativă. O altă soluție ar putea fi serverele de baze de date de tip failover, adică dacă unul dintre servere este nefuncțional sau în faza de mentenanță, serverul de rezervă ar trebui să fie disponibil pentru comutare. Serverul de failover/rezervă ar trebui să fie în replicare și sincronizare continuă cu serverul principal.

Performanța rețelei

Performanța aplicației pe diferite rețele și proprietăți ale rețelei trebuie măsurată.

Pentru performanța rețelei, veți verifica următoarele lucruri.

  • Draci: Când există o întârziere în primirea informațiilor în rețea, atunci aceasta este denumită agitație. Este o problemă cu rețelele fără conexiune sau rețelele de comutare de pachete. Pe măsură ce informațiile sunt distribuite în pachete, pachetele pot călători pe o cale diferită de la emițător la receptor. Când datele ajung în locația dorită, devin amestecate decât au fost trimise inițial. În cazul Jitters, aplicația mobilă ar trebui să fie suficient de capabilă să o gestioneze.

    Trebuie să afișați notificările corespunzătoare utilizatorului final, fie pentru a retrimite solicitarea, fie pentru a aștepta până când sistemul răspunde din nou.

  • Pierdere de pachete: În cazul pierderii complete a pachetului, aplicația ar trebui să poată retrimite solicitarea de informații sau ar trebui să genereze alertele în consecință. Dacă datele nu sunt complete, atunci utilizatorul nu va putea înțelege informațiile afișate în aplicație. Acest lucru poate fi stresant pentru utilizator. Deci, este mai bine să afișați un mesaj adecvat sau să solicitați utilizatorului să încerce din nou.
  • Viteza rețelei: Aplicația trebuie testată pe o varietate de rețele cu viteză variabilă. Aplicația ar trebui testată pe rețele 3G, 4G și 5G. Atât rețelele Wi-Fi, cât și cele mobile sunt incluse în acest test. De asemenea, comportamentul aplicației ar trebui monitorizat, în special atunci când ambele rețele sunt disponibile și se schimbă conexiunea de la o rețea la alta.

    De exemplu, poate apărea o problemă într-o aplicație pentru utilizatori la comutarea rețelei telefonice de la 4G la Wi-Fi și invers. În acest caz, aplicația nu mai răspunde și poate necesita repornirea aplicației pentru utilizare.

Depanarea performanței aplicațiilor mobile

După ce a descoperit problemele/problemele în timp ce Test de performantaEste timpul să trace și corectează defecțiunile.

Problema 1) Întârziere sau răspuns lent al aplicației mobile.

Cauza acestei întârzieri poate fi RAM, cache etc.

Trebuie să omorâți procesele inutile sau să ștergeți memoria cache. Depanarea problemei de conectivitate poate rezolva unele dintre problemele care creează întârzieri

Problema 2) Repornirea aplicației, blocarea, blocarea sau lipsa de răspuns.

Poate fi remediat prin unii dintre pașii următori

  • Optimizarea codurilor aplicației
  • Software-ul trebuie corectat și actualizat.
  • Restaurari automate
  • Gestionarea memoriei RAM sau, în unele cazuri, a ROM-ului în timp ce utilizați carduri externe
  • Wiping partiționarea cache-ului
  • Verificarea funcționării aplicației cu alte aplicații și API-uri terțe
  • Hartăping aplicația mobilă în funcție de dispozitiv

Instrumente utile de testare a aplicațiilor mobile

Instrumente de testare a aplicațiilor mobile variază în funcție de dispozitive sau sistemul de operare mobil. Unele instrumente comune de testare a performanței aplicațiilor mobile sunt

ANDROID

  • Robotium Este la fel ca Selenium pentru aplicații mobile. Testerul poate înregistra și reda mai mulți pași care sunt necesari pentru a efectua testarea.
  • Monkey Runner MonkeyRunner poate rula teste pe dispozitive reale conectate la un PC sau la emulatori. Instrumentul are un API, care permite controlul unui smartphone, o tabletă sau un emulator din exterior Android cod.

⚠️ Notă privind versiunea: Ambele Android intrările sunt moștenire. Robotium nu a mai fost lansat din 2016 și Google marchează MonkeyRunner ca fiind neîntreținut, indicând echipele către UI Automator și instrumentele sale uiautomatorviewer inspector în schimb.

APPLE

  • Automatizare (Mac) Automator este o aplicație dezvoltată de Apple pentru macOSImplementează crearea de fluxuri de lucru prin metoda point-and-click (sau drag and drop) pentru automatizarea sarcinilor repetitive în loturi, pentru o modificare mai rapidă. Acest lucru economisește timp și efort față de intervenția umană de a modifica manual fiecare fișier separat.

Activități

Provocările cheie cu care se confruntă în timpul testării performanței includ

  • Organizarea diferitelor platforme mobile și sistemele lor de operare
  • Simularea conectivității precum 3G, 4G, 5G sau Wi-Fi etc.
  • Constrângerile dispozitivelor mobile, cum ar fi consumul de baterie și resurse
  • Utilizabilitatea telefonului mobil
  • Dimensiunile asortate ale dispozitivelor mobile pentru a rula aceeași aplicație

Configurați mediul de testare a performanței aplicației mobile

Pentru a configura mediul de testare, trebuie să-

  • Înțelegerea aplicației mobile care trebuie testată
  • Identificarea diferitelor sisteme de operare pe care trebuie să ruleze aplicația
  • Construirea configurației de testare
  • Construiți emulatoarele sau simulatoarele
  • Prototyping a configurației propriu-zise
  • Selectarea instrumentului adecvat pentru testare

Lista de verificare a performanței aplicației mobile

Testarea performanței aplicațiilor mobile este o măsură importantă înainte de lansare. Testarea performanței se face pentru a verifica

  • Cât de mult din RAM este necesară pentru utilizarea acestei aplicații?
  • Pentru a verifica viteza și timpul de răspuns al APP în diferite rețele și circumstanțe.
  • Asigurați o experiență realistă a utilizatorului în mai multe condiții de rețea
  • Asigurați-vă că rezultatele necesare sunt obținute în cazul conexiunilor multiple
  • Asigurați-vă că aplicația nu se blochează.
  • Asigurați-vă că aplicațiile mobile funcționează bine în timp ce utilizați date, Wi-Fi sau altă conectivitate
  • Monitorizarea timpului de funcționare și a blocajelor de utilizare a API-urilor mobile
  • Pentru a asigura numărul maxim de utilizatori simultani
  • În cele din urmă, pentru a verifica aplicația mobilă la limitele sale

Întrebări frecvente

Sub două secunde pe un dispozitiv mid-range este ținta obișnuită, respectând regula menționată mai sus. Măsurați percentila 95 mai degrabă decât media, deoarece dispozitivele lente domină reclamațiile reale.

Un ANR este un eveniment de tip „Aplicația nu răspunde”, generat atunci când Android blocuri principale ale firului de execuție. Rata fără erori este procentul de sesiuni care se termină fără erori. Google Play renunță la priorități pentru aplicațiile care depășesc pragurile publicate pentru oricare dintre acestea.

Șaizeci de cadre pe secundă este valoarea de bază pentru derulare și animație, iar ecranele mai noi vizează nouăzeci sau mai mult. Cadrele pierdute, numite „jank”, sunt percepute ca fiind de calitate slabă chiar și atunci când nu se blochează nimic.

Învățarea automată stabilește valori de referință pentru fiecare metrică per model de dispozitiv, astfel încât o regresie este semnalizată în raport cu hardware similar, mai degrabă decât cu un număr global. De asemenea, grupează regresiile lente. traces, clasificând care blocaj afectează cele mai multe sesiuni.

Copilot elaborează bine scheletul repetitiv, cum ar fi un schelet de script de încărcare sau o buclă care capturează mostre de memorie. Pragurile și selecția dispozitivului reflectă produsul dvs., așa că revizuiți fiecare afirmație generată înainte de a o considera de încredere.

Folosește ambele. Emulatoarele oferă rulări ieftine și repetabile în rețea și API în cadrul unui flux de lucru. Sunt necesare dispozitive reale pentru descărcarea bateriei, limitarea termică și comportamentul specific furnizorului, pe care emulatoarele nu le pot reproduce cu fidelitate.

JMeter este opțiunea comună open-source pentru gestionarea cererilor concurente la aceleași endpoint-uri utilizate de aplicație. Măsoară capacitatea serverului, pe care instrumentele de pe dispozitiv nu o văd niciodată.

O limită înregistrată pentru timpul de pornire, memorie sau dimensiunea pachetului pe care versiunea o verifică automat. Depășirea acestei limite duce la eșuarea versiunii, astfel încât regresiile sunt detectate la momentul îmbinării, în loc de după lansare.

Rezumați această postare cu: