Un ghid complet pentru testarea aplicațiilor mobile cu tutoriale aprofundate:
Tehnologia mobilă și dispozitivele inteligente sunt la modă acum și vor schimba viitorul lumii așa cum o știm. Cu toții putem garanta pentru asta, nu-i așa? Acum, va fi amatorism dacă voi enumera la ce folosim aceste dispozitive mobile. Cu toții știți – Poate mai bine decât noi.
Să trecem direct la ceea ce va fi acest tutorial.
Lista completă a peste 30 de tutoriale de testare mobilă:
Introducere în testarea mobilă:
Tutorialul #1: Introducere în testarea mobilă
Tutorialul #2: Testarea aplicațiilor iOS
Tutorialul #3: Testarea aplicațiilor Android
Tutorialul #4: Provocări și soluții pentru testarea mobilă
Tutorialul #5: De ce este dificilă testarea mobilă?
Testarea dispozitivelor mobile:
Tutorial #6: Testarea unei versiuni Android atunci când este scoasă de pe piață
Tutorial #7: Cum se testează aplicațiile mobile pe dispozitive low-end
Tutorial #8: Testarea pe teren a aplicațiilor mobile
Tutorial #9: Modelul telefonului vs versiunea sistemului de operare: Care ar trebui testat mai întâi?
Testarea UI mobilă:
Tutorial #10: Testarea UI a aplicațiilor mobile
Tutorial #11: Mobile Responsive Test
Servicii de testare mobilă:
Tutorial #12: Testarea aplicațiilor mobile bazate pe cloud
Tutorial #13: Servicii de testare a aplicațiilor mobile
Tutorial #14: Servicii de testare beta a aplicațiilor mobile
Tutorial #15: Companie de dezvoltare a aplicațiilor mobile
Tutorial #16: Furnizori de servicii de testare a aplicațiilor mobile bazate pe cloud
Testarea performanței și securității aplicațiilor mobile:
Tutorial #17: Testarea performanței aplicațiilor mobile folosind BlazeMeter
Tutorial #18: Linii directoare pentru testarea securității aplicațiilor mobile
Instrumente de testare a aplicațiilor mobile:
Tutorial #19: Instrumente de testare a aplicațiilor Android
Tutorial #20: Cele mai bune instrumente de testare a securității aplicațiilor mobile
Tutorial #21: 58 cele mai bune instrumente de testare a aplicațiilor mobile
Testarea de automatizare a aplicațiilor mobile:
Tutorial #22: Tutorialul instrumentului de automatizare a aplicațiilor mobile Appium
Tutorial #23: Tutorial Appium Studio
Tutorial #24: Automatizarea aplicațiilor Android utilizând instrumentul TestComplete
Tutorial #25: Tutorial Robotium – Instrumentul de testare a interfeței aplicațiilor Android
Tutorial #26: Tutorial Selendroid: Cadru de automatizare mobilă
Tutorial #27: Tutorial pCloudy: Testarea aplicațiilor mobile pe dispozitive reale
Tutorial #28: Katalon Studio & Kobiton’s Cloud-Based Device Farm Tutorial
Cariera de testare mobilă:
Tutorial #29: Cum să obțineți rapid un loc de muncă în domeniul testării mobile
Tutorial #30: Mobile Testing Interview Questions and Resume
Tutorial #31: Mobile Testing Interview Questions Part 2
*************************************************************
Să începem cu primul tutorial din serie.
- Tutorial #1: Introducere în testarea aplicațiilor mobile
- Tipuri de testare mobilă
- Semnificația testării aplicațiilor mobile
- Diferența de bază între testarea aplicațiilor mobile și desktop:
- Tipuri de testare a aplicațiilor mobile:
- Strategia de testare a aplicațiilor mobile
- Instrument recomandat
- Cazuri de testare pentru testarea unei aplicații mobile
- Activități și proceduri tipice în testarea aplicațiilor mobile
- Cum se testează aplicațiile mobile atât pe platforma Android, cât și pe cea iOS
- Diferențe de bază între testarea Android și iOS
- Factori cheie în testarea mobilă
- Defineți-vă propriul domeniu de testare
- Nu vă limitați testarea
- Testarea între platforme
- Supravegheați dimensiunea aplicației dvs. mobile
- Testarea scenariilor de actualizare a aplicației
- Este posibil ca sistemul de operare al dispozitivului să nu suporte aplicația
- Testarea permisiunilor aplicațiilor
- Comparați cu aplicații similare și populare de pe piață
- Obțineți o privire de ansamblu asupra criteriului de respingere a construcțiilor Apple
- Întotdeauna fiți pe primul plan
- Păstrați aplicația în fundal pentru o perioadă lungă de timp (12-24 de ore)
- Testarea performanței aplicației dvs.
- Concluzie
Tutorial #1: Introducere în testarea aplicațiilor mobile
Au trecut vremurile când telefonul era un aparat care stătea într-un colț și trebuia să sune pentru a ne atrage atenția sau când un computer era o mașină pe care o foloseau doar câțiva oameni – acum sunt o extensie a ființei noastre – o fereastră către lume și servitori virtuali care fac ceea ce li se spune.
Computerele au făcut furori și au schimbat modul în care noi, oamenii, gândim, ne comportăm, învățăm și existăm.
În prezent, soluțiile de mobilitate au acaparat piața. Oamenii nu mai vor să își pornească laptopurile/PC-urile pentru orice, ci mai degrabă își doresc ca dispozitivele portabile să execute totul rapid.
În consecință, soluțiile mobile pe care le livrăm clienților noștri ar trebui să fie testate foarte bine. Acest tutorial se adresează persoanelor care se ocupă deja de testarea mobilă sau celor care au trecut la aceasta în ultima vreme. Deoarece avem deja multe tutoriale privind definițiile terminologiilor legate de testarea mobilă, ne vom ocupa direct de domeniul de aplicare al acestui tutorial.
Acest tutorial va fi atât o introducere, cât și ghidul dumneavoastră pentru testarea mobilă. Așadar, citiți-l!
Tipuri de testare mobilă
Există în linii mari 2 tipuri de testare care au loc pe dispozitivele mobile:
#1. Testarea hardware:
Dispozitivul include procesoarele interne, hardware-ul intern, dimensiunile ecranului, rezoluția, spațiul sau memoria, camera foto, radio, Bluetooth, WIFI etc. Acest lucru este denumit uneori, simplu „testare mobilă”.
#2. Testarea software-ului sau a aplicațiilor:
Se testează aplicațiile care funcționează pe dispozitive mobile și funcționalitatea lor. Se numește „Testarea aplicațiilor mobile” pentru a o diferenția de metoda anterioară. Chiar și în cazul aplicațiilor mobile, există câteva diferențe de bază care sunt importante de înțeles:
a) Aplicații native: O aplicație nativă este creată pentru a fi utilizată pe o platformă cum ar fi mobilul și tabletele.
b) Aplicațiile web mobile sunt aplicații server-side pentru a accesa site-ul/site-urile pe mobil folosind diferite browsere cum ar fi Chrome, Firefox prin conectarea la o rețea mobilă sau la o rețea wireless cum ar fi WIFI.
c) Aplicațiile hibride sunt combinații de aplicații native și aplicații web. Ele rulează pe dispozitive sau offline și sunt scrise folosind tehnologii web precum HTML5 și CSS.
Există câteva diferențe de bază care le diferențiază:
- Aplicațiile native au afinitate pentru o singură platformă, în timp ce aplicațiile web mobile au afinitate pentru mai multe platforme.
- Aplicațiile native sunt scrise în platforme precum SDK-urile, în timp ce aplicațiile web mobile sunt scrise cu tehnologii web precum HTML, CSS, asp.net, Java, PHP.
- Pentru o aplicație nativă, este necesară instalarea, dar pentru aplicațiile web mobile nu este necesară instalarea.
- O aplicație nativă poate fi actualizată din Play Store sau App Store în timp ce aplicațiile web mobile sunt actualizări centralizate.
- Multe aplicații native nu necesită o conexiune la internet, dar pentru aplicațiile web mobile, aceasta este obligatorie.
- Aplicația nativă funcționează mai rapid în comparație cu aplicațiile web mobile.
- Aplicațiile native sunt instalate din magazinele de aplicații, cum ar fi Google Play Store sau App Store, în timp ce aplicațiile web mobile sunt site-uri web și sunt accesibile doar prin intermediul internetului.
Restul articolului va fi despre testarea aplicațiilor mobile.
Semnificația testării aplicațiilor mobile
Testarea aplicațiilor pe dispozitive mobile este mai dificilă decât testarea aplicațiilor web pe desktop din cauza
- Diferitei game de dispozitive mobile cu dimensiuni diferite ale ecranului și configurații hardware cum ar fi o tastatură dură, tastatură virtuală (ecran tactil) și trackball etc.
- Varietăți largi de dispozitive mobile precum HTC, Samsung, Apple și Nokia.
- Sisteme de operare mobile diferite precum Android, Symbian, Windows, Blackberry și IOS.
- Diferite versiuni ale sistemului de operare, cum ar fi iOS 5.x, iOS 6.x, BB5.x, BB6.x etc.
- Diferiți operatori de rețele mobile, cum ar fi GSM și CDMA.
- Actualizări frecvente – (cum ar fi Android- 4.2, 4.3, 4.4, iOS-5.x, 6.x) – la fiecare actualizare se recomandă un nou ciclu de testare pentru a se asigura că nicio funcționalitate a aplicației nu este afectată.
Ca în cazul oricărei aplicații, testarea aplicațiilor mobile este, de asemenea, foarte importantă, deoarece clientela este, de obicei, în milioane pentru un anumit produs – iar un produs cu erori nu este niciodată apreciat. Aceasta duce adesea la pierderi monetare, probleme juridice și daune ireparabile pentru imaginea de marcă.
Diferența de bază între testarea aplicațiilor mobile și desktop:
Câteva aspecte evidente care diferențiază testarea aplicațiilor mobile de testarea desktop
- Pe desktop, aplicația este testată pe o unitate centrală de procesare. Pe un dispozitiv mobil, aplicația este testată pe terminale precum Samsung, Nokia, Apple și HTC.
- Dimensiunea ecranului unui dispozitiv mobil este mai mică decât cea a unui desktop.
- Dispozitivele mobile au mai puțină memorie decât un desktop.
- Dispozitivele mobile utilizează conexiuni de rețea precum 2G, 3G, 4G sau WIFI, în timp ce desktop-urile utilizează conexiuni în bandă largă sau dial-up.
- Este posibil ca instrumentul de automatizare utilizat pentru testarea aplicațiilor desktop să nu funcționeze pe aplicațiile mobile.
Tipuri de testare a aplicațiilor mobile:
Pentru a aborda toate aspectele tehnice de mai sus, următoarele tipuri de testare sunt efectuate pe aplicațiile mobile.
- Testarea capacității de utilizare- Pentru a se asigura că aplicația mobilă este ușor de utilizat și oferă clienților o experiență de utilizare satisfăcătoare
- Testarea compatibilității- Testarea aplicației în diferite dispozitive mobile, browsere, dimensiuni de ecran și versiuni de sistem de operare în funcție de cerințe.
- Testarea interfeței- Testarea opțiunilor de meniu, a butoanelor, a marcajelor, a istoricului, a setărilor și a fluxului de navigare al aplicației.
- Testarea serviciilor- Testarea serviciilor aplicației online și offline.
- Testarea resurselor de nivel scăzut: Testarea utilizării memoriei, a ștergerii automate a fișierelor temporare, a problemelor de creștere a bazei de date locale, cunoscute sub numele de testare a resurselor de nivel scăzut.
- Testarea performanțelor- Testarea performanțelor aplicației prin schimbarea conexiunii de la 2G, 3G la WIFI, partajarea documentelor, consumul de baterie etc.
- Testarea operațională- Testarea copiilor de rezervă și a planului de recuperare în cazul în care o baterie se întrerupe sau pierderea de date în timpul actualizării aplicației de la un magazin.
- Teste de instalare- Validarea aplicației prin instalarea / dezinstalarea acesteia pe dispozitive.
- Teste de securitate- Testarea unei aplicații pentru a valida dacă sistemul informatic protejează sau nu datele.
Strategia de testare a aplicațiilor mobile
Strategia de testare trebuie să se asigure că sunt îndeplinite toate liniile directoare privind calitatea și performanța. Câteva indicații în acest domeniu:
1) Selectarea dispozitivelor – Analizați piața și alegeți dispozitivele care sunt utilizate pe scară largă. (Această decizie se bazează mai ales pe clienți. Clientul sau constructorii de aplicații iau în considerare factorul de popularitate al anumitor dispozitive, precum și nevoile de marketing ale aplicației pentru a decide ce telefoane să folosească pentru testare.)
2) Emulatoare – Utilizarea acestora este extrem de utilă în etapele inițiale de dezvoltare, deoarece permit verificarea rapidă și eficientă a aplicației. Emulatorul este un sistem care rulează un software dintr-un mediu în alt mediu fără a modifica software-ul în sine. Acesta dublează caracteristicile și funcționează pe sistemul real.
Tipuri de emulatoare mobile
- Device Emulator- furnizat de producătorii de dispozitive
- Browser Emulator- simulează mediile de navigare mobilă.
- Emulator de sisteme de operare- Apple oferă emulatoare pentru iPhone-uri, Microsoft pentru telefoane Windows și Google Android
Instrument recomandat
#1) Kobiton
Kobiton este o platformă de experiență mobilă bazată pe cloud, accesibilă și foarte flexibilă, care accelerează testarea și livrarea aplicațiilor native, web și hibride atât pe Android, cât și pe iOS, folosind dispozitive reale. Noua lor automatizare a testelor fără scripturi ajută echipele care nu au cunoștințe de codare să genereze cu ușurință scripturi Appium standard deschise.
=>Vizitați site-ul Kobiton
Listă de câteva emulatoare de dispozitive mobile gratuite și ușor de utilizat
i. Mobile Phone Emulator – Utilizat pentru a testa telefoane mobile precum iPhone, Blackberry, HTC, Samsung etc.
ii. MobiReady – Cu acesta, nu numai că putem testa aplicația web, dar putem verifica și codul.
iii. Responsivepx – Acesta verifică răspunsurile paginilor web, aspectul și funcționalitatea site-urilor web.
iv. Screenfly – Este un instrument personalizabil și utilizat pentru a testa site-urile web din diferite categorii.
3) După ce un nivel satisfăcător de dezvoltare este finalizat pentru aplicația mobilă, ați putea trece la testarea pe dispozitive fizice pentru o testare bazată pe scenarii mai reale.
4) Luați în considerare testarea bazată pe cloud computing: Cloud computing este practic rularea dispozitivelor pe mai multe sisteme sau rețele prin intermediul internetului, unde aplicațiile pot fi testate, actualizate și gestionate. În scopul testării, acesta creează mediul mobil bazat pe web pe un simulator pentru a accesa aplicația mobilă.
Pros:
- Salvare și recuperare- Cloud computing-ul face în mod automat o copie de rezervă a datelor dvs. de la distanță, făcând recuperarea și restaurarea datelor cu ușurință. Și, de asemenea, capacitatea de stocare este nelimitată.
- Cloud computing poate fi accesat de pe diferite dispozitive și de oriunde.
- Cloud computing este eficient din punct de vedere al costurilor, ușor de utilizat, întreținut și actualizat.
- Dezvoltare rapidă și rapidă.
- Interfață bazată pe web.
- Poate rula același script pe mai multe dispozitive în paralel.
Cons
- Mai puțin control- Deoarece aplicația rulează în mediul de la distanță sau de la terți, utilizatorul are un control și un acces limitat la funcții.
- Probleme de conectivitate la internet- configurarea se face pe internet. Problemele de rețea afectează disponibilitatea și funcționarea
- Probleme de securitate și confidențialitate- Cloud computing este un sistem de calcul pe Internet și nimic pe Internet nu este complet sigur, astfel încât șansele de piratare a datelor sunt mai mari.
5) Automatizare vs. automatizare. Testarea manuală
- Dacă aplicația conține o nouă funcționalitate, testați-o manual.
- Dacă aplicația necesită testare o dată sau de două ori, faceți-o manual.
- Automatizați scripturile pentru cazurile de testare a regresiei. Dacă testele de regresie se repetă, testarea automatizată este perfectă pentru asta.
- Automatizați scripturile pentru scenarii complexe care necesită mult timp dacă sunt executate manual.
Două tipuri de instrumente de automatizare sunt disponibile pentru testarea aplicațiilor mobile:
Instrumente de testare mobilă bazate pe obiecte- automatizare prin maparea elementelor de pe ecranul dispozitivului în obiecte. Această abordare este independentă de dimensiunea ecranului și este utilizată în principal pentru dispozitivele Android.
- Eg:- Ranorex, jamo solution
Instrumente de testare mobilă bazate pe imagini- creează scripturi de automatizare pe baza coordonatelor de ecran ale elementelor.
- Eg:- Sikuli, Egg Plant, RoutineBot
6) Configurarea rețelei este, de asemenea, partea necesară a testării mobile. Este important să se valideze aplicația pe diferite rețele, cum ar fi 2G, 3G, 4G sau WIFI.
Cazuri de testare pentru testarea unei aplicații mobile
În plus față de cazurile de testare bazate pe funcționalitate, testarea aplicațiilor mobile necesită cazuri de testare speciale care ar trebui să acopere următoarele scenarii.
- Utilizarea bateriei- este important să se țină evidența consumului de baterie în timpul rulării aplicației pe dispozitivele mobile.
- Viteza aplicației- timpul de răspuns pe diferite dispozitive, cu diferiți parametri de memorie, cu diferite tipuri de rețea etc.
- Cerințe de date – Pentru instalare, precum și pentru a verifica dacă utilizatorul cu plan de date limitat va putea să o descarce.
- Necesarul de memorie – din nou, pentru a descărca, instala și rula
- Funcționalitatea aplicației – asigurați-vă că aplicația nu se blochează din cauza unei defecțiuni a rețelei sau din orice altă cauză.
Descărcați câteva exemple de cazuri de testare pentru testarea aplicațiilor mobile:
=> Descărcați exemple de cazuri de testare a aplicațiilor mobile
Activități și proceduri tipice în testarea aplicațiilor mobile
Amploarea testării depinde de un număr de cerințe care trebuie verificate sau de amploarea modificărilor aduse aplicației. Dacă modificările sunt puține, este suficientă o rundă de testare a sanitarismului. În cazul unor modificări majore și/sau complexe, se recomandă o regresie completă.
Un exemplu de proiect de testare a aplicației: ILL (International Learn Lab) este o aplicație concepută pentru a ajuta administratorul, editorul să creeze site-uri web în colaborare. Folosind un browser web, instructorii aleg dintr-un set de caracteristici pentru a crea o clasă care să îndeplinească cerințele lor.
Procesul de testare mobilă:
Etapa #1. Identificați tipurile de testare: Deoarece o aplicație ILL este aplicabilă pentru browsere, deci este obligatoriu să se testeze această aplicație pe toate browserele acceptate utilizând diferite dispozitive mobile. Trebuie să facem teste de utilizare, funcționale și de compatibilitate pe diferite browsere cu combinații de cazuri de testare manuală și de automatizare.
Etapa #2. Testarea manuală și automatizată: Metodologia urmată pentru acest proiect este Agile, cu iterație de două săptămâni. La fiecare două săptămâni, echipa de dezvoltare eliberează un nou build pentru echipa de testare, iar echipa de testare va rula cazurile de testare în mediul QA. Echipa de automatizare creează scripturi pentru setul de funcționalități de bază și rulează scripturile care ajută la determinarea dacă noul build este suficient de stabil pentru a fi testat. Echipa de testare manuală va testa noua funcționalitate.
JIRA este utilizat pentru scrierea criteriilor de acceptare; întreținerea cazurilor de testare și înregistrarea / reverificarea defectelor. Odată ce iterația se termină, are loc ședința de planificare a iterației în care dev. Echipa, proprietarul produsului, analistul de afaceri și echipa QA discută ce a mers bine și ce trebuie îmbunătățit.
Etapa #3. Testarea beta: Odată ce testele de regresie sunt finalizate de către echipa QA, construcția se mută în UAT. Testarea acceptării de către utilizator este realizată de către client. Aceștia reverifică toate erorile pentru a se asigura că fiecare eroare a fost rezolvată și că aplicația funcționează conform așteptărilor pe fiecare browser aprobat.
Etapa #4. Testul de performanță: Echipa de testare a performanței testează performanța aplicației web folosind scripturi JMeter și cu diferite încărcări ale aplicației.
Etapa #5. Testarea browserului: Aplicația web este testată pe mai multe browsere – atât folosind diferite instrumente de simulare, cât și fizic folosind dispozitive mobile reale.
Etapa #6. Planul de lansare: După fiecare a 4-a săptămână, testarea se mută în staging, unde se efectuează o ultimă rundă de testare end-to-end pe aceste dispozitive pentru a se asigura că produsul este pregătit pentru producție. Și apoi, se trece la Live!
*****************************************
Cum se testează aplicațiile mobile atât pe platforma Android, cât și pe cea iOS
Este foarte important pentru testerii care își testează aplicațiile atât pe platforma iOS, cât și pe cea Android să cunoască diferența dintre cele două. iOS și Android au o mulțime de diferențe în ceea ce privește aspectul, vizualizările aplicațiilor, standardele de codificare, performanța etc.
Diferențe de bază între testarea Android și iOS
S-ar putea să fi parcurs toate tutorialele, am pus aici câteva diferențe majore, care, la rândul lor, vă vor ajuta în cadrul testării:
#1) Deoarece avem o mulțime de dispozitive Android disponibile pe piață și toate acestea vin cu rezoluții și dimensiuni diferite ale ecranului, prin urmare, aceasta este una dintre diferențele majore.
De exemplu, dimensiunea Samsung S2 este prea mică în comparație cu Nexus 6. Există șanse mari ca aspectul și designul aplicației dvs. să fie distorsionate pe unul dintre dispozitive. Probabilitatea este scăzută în iOS, deoarece există doar dispozitive numărabile disponibile pe piață, iar dintre acestea multe telefoane au rezoluții similare.
De exemplu, înainte ca iPhone 6 și mai sus să existe, toate versiunile mai vechi aveau doar dimensiunea similară.
#2) Exemplu pentru a afirma punctul de mai sus este că în Android dezvoltatorii trebuie să folosească imagini 1x,2x,3x,4x și 5x pentru a suporta rezoluții de imagine pentru toate dispozitivele, în timp ce iOS folosește doar 1x,2x și 3x. Cu toate acestea, devine responsabilitatea testerului să se asigure că imaginile și celelalte elemente de interfață sunt afișate corect pe toate dispozitivele.
Puteți consulta diagrama de mai jos pentru a înțelege conceptul de rezoluții ale imaginilor:
#3) Având în vedere că avem piața inundată de dispozitive Android, codul trebuie scris în așa fel încât performanța să rămână constantă. Astfel, este foarte probabil ca aplicația dvs. să se comporte lent pe dispozitivele din gama inferioară.
#4) O altă problemă cu Android este că actualizările de software nu sunt disponibile pentru toate dispozitivele în același timp. Producătorii de dispozitive decid când să își actualizeze dispozitivele. Devine o sarcină foarte dificilă să testezi totul atât cu noul sistem de operare, cât și cu cel vechi.
De asemenea, devine o sarcină greoaie pentru dezvoltatori să își modifice codul pentru a suporta ambele versiuni.
De exemplu, când a apărut Android 6.0, a avut loc o schimbare majoră, deoarece acest sistem de operare a început să suporte permisiuni la nivel de aplicație. Pentru a clarifica și mai mult, utilizatorul putea modifica permisiunile (locație, contacte) și la nivelul aplicației.
Acum, echipa de testare are responsabilitatea de a se asigura că afișarea ecranului de permisiuni la lansarea aplicației pe Android 6.0 și mai sus și că nu se afișează ecranul de permisiuni pe versiunile inferioare.
#5) Din perspectiva testării, testarea construcției de pre-producție (adică versiunea beta) este diferită pe ambele platforme. În Android, dacă un utilizator este adăugat în lista de utilizatori beta, atunci el poate vedea versiunea beta actualizată în Play Store numai dacă este conectat în Play Store cu același ID de e-mail cu care este adăugat ca utilizator beta.
Factori cheie în testarea mobilă
Am lucrat în testarea mobilă în ultimii 2 ani atât pe platforma iOS, cât și pe platforma Android și toate punctele cheie menționate mai jos în acest tutorial sunt din experiența mea personală, iar unele au derivat din problemele întâlnite în proiect.
Defineți-vă propriul domeniu de testare
Cineva are propriul stil de testare. Unii testeri se concentrează doar pe ceea ce văd cu ochii lor, iar restul sunt pasionați de tot ceea ce funcționează în spatele scenei oricărei aplicații mobile.
Dacă sunteți un tester iOS/Android, v-aș sugera să vă familiarizați cel puțin cu unele limitări comune/funcționalități de bază ale Android sau iOS, deoarece acestea adaugă întotdeauna valoare stilului nostru de testare. Știu că lucrurile sunt greu de înțeles fără a cita exemple.
Dar mai jos sunt câteva exemple:
- Nu putem schimba permisiunile precum camera, spațiul de stocare etc. la nivel de aplicație în dispozitivele Android care sunt sub versiunea 6.0.1.
- Pentru iOS sub versiunea 10.0, call kit nu a existat. Pentru a vă rezuma în cuvinte simple, kitul de apelare este utilizat de o aplicație de apelare și afișează vizualizarea pe tot ecranul atunci când un utilizator primește un apel de la aplicațiile de apelare, cum ar fi WhatsApp, Skype etc. În timp ce pentru versiunile de iOS mai mici de 10.0 vedem acele apeluri ca un banner de notificare.
- Mulți dintre voi s-ar putea să fi întâmpinat probleme în Paytm, unde aplicația nu vă redirecționează către pagina de plată a băncii în cazul în care doriți să adăugați bani în portofel. Credem că cea de mai sus este o problemă cu banca noastră sau cu serverul Paytm, dar este doar faptul că AndroidSystemWebView nu este actualizat. Puține cunoștințe despre programare sunt întotdeauna utile pentru dvs. și pentru a le împărtăși cu echipa dvs.
- În cuvinte simple, ori de câte ori o aplicație deschide orice pagină web în ea, atunci AndroidSystemWebView ar trebui să fie actualizat.
Nu vă limitați testarea
Testarea nu ar trebui să se limiteze doar la explorarea aplicației mobile și la înregistrarea erorilor. Noi, în calitate de QA, ar trebui să fim conștienți de toate solicitările pe care le trimitem serverului nostru și de răspunsul pe care îl primim de la acesta.
Configurați Putty pentru a vizualiza jurnalele sau verificați logica sumo pentru jurnale, în funcție de ceea ce se utilizează în proiectul dumneavoastră. Nu numai că vă ajută în cunoașterea fluxului End-to-End al aplicației, dar vă face și un tester mai bun, deoarece acum aveți mai multe idei și scenarii.
Motivul: Nimic nu vine în această lume fără un motiv. Orice afirmație ar trebui să aibă un motiv valabil în spatele ei. Motivul din spatele analizei jurnalelor este că multe excepții sunt observate în jurnale, dar ele nu prezintă niciun impact asupra interfeței de utilizator, prin urmare nu le observăm.
Așa că, ar trebui să le ignorăm?
Nu, nu ar trebui. Nu are niciun impact asupra UI, dar poate fi o preocupare futuristă. Am putea eventual să vedem că aplicația noastră se blochează dacă aceste tipuri de excepții continuă să se strecoare. Așa cum am menționat despre App Crash în ultima propoziție, acest lucru îi determină pe cei de la QA să aibă acces la crashlytics ale proiectului.
Crashlytics este un instrument în care crash-urile sunt înregistrate împreună cu ora și modelul dispozitivului.
Acum, întrebarea de aici este că dacă testerul a văzut crash-uri ale aplicației, atunci de ce trebuie să se preocupe de crashlytics?
Răspunsul la această întrebare este destul de interesant. Există unele accidentări care pot să nu fie vizibile pe UI, dar sunt înregistrate pe crashlytics. Ar putea fi un accident de lipsă de memorie sau unele excepții fatale care pot avea un impact asupra performanței mai târziu.
Testarea între platforme
Testarea interacțiunii între platforme este foarte importantă.
Citând un exemplu simplu, să spunem că lucrați la o aplicație de chat precum WhatsApp, care acceptă trimiterea de imagini și videoclipuri, iar aplicația este construită atât pe platformele iOS, cât și Android (dezvoltarea poate sau nu să fie sincronizată)
Asigurați-vă că testați comunicarea dintre Android și iOS, motivul fiind că iOS folosește „Objective C”, în timp ce programarea Android se bazează pe Java și, din cauza faptului că ambele sunt construite pe platforme diferite, uneori trebuie să se facă corecții suplimentare în partea aplicației pentru a recunoaște șirurile de caractere care provin din platforme cu limbaj diferit.
Supravegheați dimensiunea aplicației dvs. mobile
Un alt sfat important pentru testatorii de aplicații mobile – Vă rugăm să continuați să verificați dimensiunea aplicației dvs. după fiecare lansare.
Ar trebui să ne asigurăm că dimensiunea aplicației nu ajunge la un punct în care nici măcar noi, în calitate de utilizator final, nu vom dori să descărcăm această aplicație din cauza dimensiunii sale mari.
Testarea scenariilor de actualizare a aplicației
Pentru testerii de aplicații mobile, testarea actualizării aplicației este foarte importantă. Asigurați-vă că aplicația dvs. nu se blochează la actualizare, deoarece echipa de dezvoltare ar fi putut face o potrivire greșită a unui număr de versiune.
Reținerea datelor este, de asemenea, la fel de importantă, deoarece în orice preferințe pe care utilizatorul le-a salvat în versiunea anterioară ar trebui să fie păstrate atunci când actualizează aplicația.
De exemplu, un utilizator ar fi putut salva detaliile cardului său bancar în aplicații precum PayTm, etc.
Este posibil ca sistemul de operare al dispozitivului să nu suporte aplicația
Sună interesant?
Da, este posibil ca multe dispozitive să nu suporte aplicația dumneavoastră. Mulți dintre voi trebuie să știți că vânzătorii își scriu propriile învelișuri pe partea de sus a US și ar putea fi posibil ca orice interogare SQL a aplicației dvs. să nu fie compatibilă cu dispozitivul și, prin urmare, să arunce o excepție, ceea ce poate duce la imposibilitatea de a lansa aplicația pe acel telefon.
Punctul de aici este – Încercați să vă folosiți aplicația pe propriile dispozitive, cu excepția celor pe care le folosiți la birou. Este foarte posibil să vedeți unele probleme cu aplicația dumneavoastră.
Testarea permisiunilor aplicațiilor
Următorul pe listă este Testarea permisiunilor aplicațiilor mobile. Aproape fiecare a doua aplicație le cere utilizatorilor săi acces la contactul telefonului, la camera foto, la Galerie, la Locație etc. Am văzut câțiva testeri care fac o greșeală prin faptul că nu testează combinațiile adecvate ale acestor permisiuni.
Îmi amintesc un Exemplu în timp real când testam o aplicație de chat care avea toate funcțiile de partajare a imaginilor și a fișierelor audio. Permisiunea pentru stocare a fost setată la NU.
Acum, când un utilizator făcea clic pe opțiunea Camera, aceasta nu se deschidea niciodată până când permisiunea pentru stocare era setată la DA. Scenariul a fost ignorat deoarece Android Marshmallow avea această funcționalitate conform căreia, dacă permisiunea de stocare este setată la NU, camera nu poate fi utilizată pentru acea aplicație.
Scopul se extinde mai mult decât ceea ce am discutat în paragraful de mai sus. Ar trebui să ne asigurăm că aplicația nu solicită permisiuni care nu sunt utilizate.
Care utilizator final familiarizat cu industria software ar putea să nu descarce aplicația în care sunt solicitate prea multe permisiuni. Dacă ați eliminat orice caracteristică din aplicația dvs., atunci asigurați-vă că ați eliminat ecranul de permisiuni pentru aceasta.
Comparați cu aplicații similare și populare de pe piață
Morala poveștii – Dacă vreodată aveți o îndoială, atunci nu o concluzionați singur. Compararea cu alte aplicații similare de pe aceeași platformă vă poate întări argumentul că funcționalitatea testată va funcționa sau nu.
Obțineți o privire de ansamblu asupra criteriului de respingere a construcțiilor Apple
În cele din urmă, este posibil ca majoritatea dintre voi să fi întâlnit situații în care construcțiile dvs. au fost respinse de Apple. Știu că acest subiect nu va interesa o mare parte dintre cititori, dar este întotdeauna bine să cunoaștem politicile de respingere ale Apple.
În calitate de tester, devine dificil pentru noi să ne ocupăm de aspectele tehnice, dar totuși, există un anumit criteriu de respingere de care testerii se pot ocupa.
Pentru mai multe informații în acest sens, vă rugăm să dați click aici.
Întotdeauna fiți pe primul plan
În calitate de tester, nu lăsați lucrurile să treacă în curtea dumneavoastră de la echipa de dezvoltare/manageri. Dacă sunteți pasionat de testare, atunci „Always be on Front Foot”. Încercați să vă implicați în activități care au loc cu mult înainte ca codul să ajungă în găleata dvs. pentru a fi testat.
Cel mai important, continuați să vă uitați la JIRA, QC, MTM sau la oricare dintre acestea este folosit în proiectul dvs. pentru toate ultimele actualizări privind biletele de la clienți și de la analistul de afaceri. De asemenea, fiți gata să vă împărtășiți opiniile dacă aveți nevoie de modificări. Acest lucru este valabil pentru toți testerii care lucrează pe diverse domenii și platforme.
Până când și dacă nu simțim produsul ca fiind al nostru, nu ar trebui niciodată să oferim sugestii pentru noi îmbunătățiri sau modificări ale funcționalității existente.
Păstrați aplicația în fundal pentru o perioadă lungă de timp (12-24 de ore)
Știu că sună ciudat, dar există multă logică în spatele scenei pe care noi toți nu o înțelegem.
Vă împărtășesc acest lucru pentru că am văzut că aplicația se blochează după ce a fost lansată, să zicem după aproximativ 14 ore din starea de fundal. Motivul ar putea fi orice, în funcție de modul în care dezvoltatorii au codificat-o.
Lasă-mă să împărtășesc un exemplu în timp real:
În cazul meu, expirarea token-ului a fost cauza din spatele acestuia. În cazul uneia dintre aplicațiile de chat, dacă era lansată după 12-14 ore, rămânea blocată pe bannerul de conectare și nu se mai conecta până când nu era oprită și relansată. Acest tip de lucruri sunt foarte greu de surprins și, într-un fel, face ca testarea mobilă să fie mai provocatoare și mai creativă.
Testarea performanței aplicației dvs.
În lumea mobilă, performanța aplicației dvs. are un impact asupra măsurii în care aplicația dvs. este recunoscută la nivel mondial. În calitate de echipă de testare, devine prea important să verificați răspunsul aplicației dvs. și, mai ales, modul în care aceasta funcționează atunci când un număr mare de utilizatori o utilizează împreună.
Exemplu:
Să vorbim despre PayTm.
Toți trebuie să fi făcut clic pe opțiunea ADD MONEY din aplicația PayTm, care apoi afișează soldul pe care îl aveți în portofel. Dacă luăm în considerare ceea ce se întâmplă în spatele scenei, atunci este o cerere care merge mai departe către server cu ID-ul de utilizator PayTm, iar serverul trimite înapoi răspunsul cu soldul din contul dumneavoastră.
Cazul de mai sus este doar atunci când un utilizator a lovit serverul. Trebuie să ne asigurăm că, chiar și atunci când 1000 de utilizatori lovesc serverul, aceștia ar trebui să primească înapoi răspunsul bine la timp, deoarece uzabilitatea utilizatorului final este obiectivul nostru principal.
Concluzie
Aș încheia acest tutorial reiterând faptul că testarea mobilă pare a fi foarte ușoară la început, dar pe măsură ce veți continua săpați, veți înțelege că nu este ușor să vă asigurați că tot ceea ce ați dezvoltat va funcționa fără probleme pe mii de dispozitive din întreaga lume.
Vă veți vedea cel mai adesea aplicații care sunt acceptate doar pe cele mai recente și pe ultimele câteva versiuni de sisteme de operare. Cu toate acestea, devine datoria tesatorilor să se asigure că nu ratează niciun scenariu. Sunt multe alte puncte care trebuie luate în considerare, dar nu le-am menționat pe cele deja iterate în alte tutoriale.
Scenarii precum consumul de baterie, testarea întreruperilor, testarea pe diferite rețele (3G, Wi-Fi), testarea în timpul schimbării rețelelor, testarea aplicațiilor mobile cu maimuțe, etc., toate sunt utile atunci când vine vorba de testarea mobilă.
Atitudinea testeriștilor contează foarte mult atunci când vine vorba de mediul real de testare. Până când și dacă nu-ți iubești munca nu te vei deranja să faci lucrurile care sunt menționate în tutorial.
Am lucrat în acest domeniu timp de aproximativ 6 ani și sunt foarte conștient că sarcinile devin monotone uneori, dar există multe alte lucruri pe care le putem face pe cont propriu pentru a face aceste sarcini monotone oarecum interesante.
Proiectarea unei strategii de testare corecte, alegerea simulatoarelor mobile, a dispozitivelor și a instrumentelor de testare mobilă potrivite ne poate asigura că avem o acoperire de testare de 100% și ne ajută să includem în suitele noastre de testare teste bazate pe securitate, uzabilitate, performanță, funcționalitate și compatibilitate.
Ei bine, acesta a fost efortul nostru de a satisface multiplele solicitări ale cititorilor noștri cu privire la un ghid de testare a aplicațiilor mobile.
Autori: Prof.dr: Mulțumim lui Swapna, Hasnet și multor alți experți în testarea aplicațiilor mobile pentru că ne-au ajutat să compilăm această serie!
În următorul nostru articol, vom discuta mai mult despre testarea aplicațiilor iOS.
Ultima actualizare: 18 februarie 2021
februarie 18, 2021