android app testing tutorial
Colectare de cunoștințe de bază înainte de testarea aplicațiilor Android:
După cum sugerează și titlul, în acest tutorial vom discuta mai multe despre procesul de testare Android.
Dar, înainte de a intra în diferitele detalii ale procesului de testare Android, aș dori să vă pun câteva întrebări.
ai telefon mobil?
Acum, cât de stupidă este această întrebare! Bineînțeles că toți o facem. Toată lumea are un telefon mobil. Telefoanele mobile au devenit o necesitate de bază a existenței umane în zilele noastre.
Îmi puteți spune sistemul de operare care există pe telefonul dvs.?
Dacă ați achiziționat telefonul în perioada 2014-16, atunci șansele ca telefonul dvs. să ruleze pe Android sunt în jur de 80-85%.
Ce veți învăța:
- Creșterea Android
- Introducere aplicație Android
- Lista „De făcut” înainte de începerea procesului de testare
- Tipuri de testare pentru aplicații mobile
- Cele mai bune practici în testarea aplicațiilor Android
- Android Testing Framework
- Concluzie
- Lectură recomandată
Creșterea Android
Statisticile de mai jos descriu mai multe despre creșterea Android într-un mod ușor de înțeles.
- În 2009, Android era un începător și reprezenta doar 3,9% din piața totală.
- Contribuitorul major a fost atunci sistemul de operare Symbian, cu un număr enorm de 47% (Golden days of Nokia).
- Această tendință a început să se schimbe de-a lungul anilor și Android a ajuns acum la 85,2% în 2016.
( sursa imaginii )
- Numerele de mai sus sunt numai pentru telefoanele mobile. Sistemul de operare Android are, de asemenea, un mare impact în industria tabletelor. De la 4,4% din cota de piață în 2011 la 35,7% în 2015, se vorbește despre interesul pe care oamenii l-au dezvoltat față de tabletele cu Android.
( sursa imaginii )
- Magazinul Google Play a înregistrat, de asemenea, o creștere rapidă a numărului de descărcări. Din 2010 până în 2016, cifrele au crescut de la 1 miliard de descărcări pe lună la 65 de miliarde de descărcări pe lună.
- Descărcările de aplicații sunt, de asemenea, foarte afectate de prețurile mici (Medie: 0,06 $ / aplicație) ale aplicațiilor pentru Android, în comparație cu aplicațiile pentru iOS.
De ce te-am condus prin toate aceste numere?
A fost doar pentru a vă conștientiza cât de vast a crescut Android, cât de dificilă a devenit dezvoltarea aplicației și cât de mult a câștigat acest sistem de operare în ultimul deceniu.
Fiecare site web, aplicația Windows și aplicația Mac au acum un frate Android. Toată lumea se străduiește să dezvolte o aplicație pentru Android de îndată ce intenționează să dezvolte o aplicație pentru site / Windows. Acum a devenit necesar, întrucât clienții au început să prefere, de asemenea, aplicațiile mobile în locul aplicațiilor pentru computer sau site-urilor web în ultimii ani.
Unele dintre aplicațiile care sunt foarte frecvent utilizate în activitățile noastre de zi cu zi sunt Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp etc.
Motivul creșterii pe piața Android este că:
- Este un sistem deschis, prin urmare este ușor de personalizat, ușor de învățat și chiar dezvoltarea aplicațiilor este mai ușoară.
- Publicarea unei aplicații pe Google Play Store este destul de ușoară în comparație cu celelalte magazine Play.
- Există mai mulți producători pe piață pentru telefoane Android precum Sony, HTC, Samsung, Motorola etc.
- Există un număr mare de caracteristici pe Android, cum ar fi DualSIM, microSD, baterie detașabilă etc., ceea ce reprezintă un avantaj suplimentar.
- Prețurile telefoanelor Android nu sunt prea mari și sunt accesibile etc.
Împreună cu cerința de dezvoltare a aplicațiilor Android, a existat, de asemenea, o creștere a cerinței pentru testerii care sunt cunoscuți în testarea Android.
În calitate de tester, înainte de a începe să testați orice aplicație Android, trebuie să faceți o mulțime de teme. Primul lucru de făcut este să studiezi sistemul de operare și istoria acestuia. Dacă nu cunoașteți sistemul de operare, nu puteți testa aplicația împotriva diferitelor versiuni. Funcționalitatea de bază a versiunii sistemului de operare, UI, GPS, suport pentru tipul de rețea, durata de viață a bateriei etc., sunt câteva dintre fațetele importante care afectează o aplicație.
Cu Android, nu este doar sistemul de operare, ci și pletora de dispozitive care necesită, de asemenea, un studiu.
Un număr mare de dispozitive sunt disponibile pe piață, prin urmare, înainte de a finaliza și a îngheța patul de testare, trebuie să aflați cota de dispozitiv destinat publicului țintă. Diferitele dispozitive care oferă funcții diferite, cum ar fi DualSIM, cameră duală, rezoluția ecranului, teme etc., afectează o aplicație și trebuie testate.
Prin urmare, este foarte important ca un QA să adune cunoștințe cuprinzătoare despre ecosistemul Android complet.
Introducere aplicație Android
Există diferite metode de testare care sunt urmate de certificarea cu succes a unei aplicații Android.
O arhitectură tipică de aplicație Android ar arăta similar cu diagrama prezentată mai jos:
software gratuit pentru a copia DVD pe mp4
Pe baza figurii de mai sus, există 2 posibilități pentru o aplicație:
1) Aplicație mobilă pentru aplicația web: Este posibil ca clientul să aibă o aplicație web și să dorească să creeze o aplicație mobilă pentru aceeași aplicație. Amazon, Jabong, Myntra etc., au făcut același lucru, iar în momentul în care aplicațiile mobile au început să creeze un boom pe piață, aceste companii comerciale și-au dat seama că în curând oamenii vor trece de la aplicații web la aplicații mobile.
2) Aplicația mobilă ca entitate comercială separată: Am testat o aplicație logistică similară, pentru a crește afacerea, a creat o aplicație separată pentru șoferii săi pentru a facilita livrarea fără probleme și a eliminat documentele.
Șoferii au instalat aplicația pe telefoanele lor pentru a muta livrarea în diferite etape de livrare și starea lor corespunzătoare, iar actualizările de livrare au fost reflectate în aplicația lor web existentă.
Alte asemenea Exemple unde aplicația mobilă este o entitate separată sunt WhatsApp, aplicații de urmărire a sănătății, cum ar fi S Health etc.
Lista „De făcut” înainte de începerea procesului de testare
Spre deosebire de un ciclu normal de testare, pentru prima versiune a unei aplicații mobile, există câteva elemente care necesită unele cercetări suplimentare și planificare pentru o livrare cu succes a aplicației.
Următoarele sunt câteva dintre activitățile importante pentru un QA de efectuat înainte de începerea testării efective:
# 1) Cercetări privind sistemul de operare și dispozitive:
În afară de înțelegerea cerinței aplicației, trebuie să înțelegeți și impactul diferitelor versiuni ale sistemului de operare și ale modelelor de dispozitive. Trebuie să creați cazuri de testare sau scenarii cu modelele de sistem de operare și dispozitive.
#Două) Pat de testare:
Spre deosebire de aplicațiile desktop, web și iOS, crearea patului de testare pentru aplicațiile Android este foarte dificilă din cauza sistemului Android deschis. Decizia ar trebui luată după discuții cu BA, dezvoltatorii și proprietarii de produse pentru a găsi publicul țintă.
# 3) Planul de testare:
Deoarece este prima versiune, ar trebui să existe un plan aprobat cu pat de testare aprobat, tipuri de testare etc. Dacă este necesar un timp separat pentru cercetarea funcționalităților sau regulilor de afaceri sau dacă testarea va fi dificilă etc., totul ar trebui să fie acoperit în plan.
# 4) Instrumente de automatizare:
Instrumentele de automatizare necesare pentru aplicațiile mobile sunt foarte diferite de cele ale aplicațiilor desktop sau web. Prin urmare, poate fi necesar să cheltuiți timp și efort suplimentar pentru a învăța instrumentul. Timpul și efortul necesar pentru acestea ar trebui aprobate de proprietarul produsului sau de client.
# 5) Tehnici sau metode de testare:
Spre deosebire de testele convenționale pe care le facem în mod normal, există puține teste care sunt foarte specifice aplicațiilor mobile. Anume test de câmp, test GPS, test de captare a imaginilor etc. Acestea trebuie documentate în cazurile de testare împreună cu modul în care vor fi testate aceste tipuri.
Tipuri de testare pentru aplicații mobile
Următoarele tipuri de testare sunt efectuate pentru a certifica o aplicație Android:
1) Testarea funcțională:
Testarea se realizează în mod normal prin fluxurile de test inițiate de interfața cu utilizatorul. Nu doar fluxul unui caz de utilizare este testat, ci și diferite reguli de afaceri. Testarea se face prin certificarea cerințelor. adică dacă aplicația funcționează pe baza cerințelor.
Să luăm Exemplu din aplicația Zomato.
Când lansați aplicația, în funcție de locație, apare lista restaurantelor. Acum, în calitate de QA, trebuie să testați lista de restaurante.
Aceasta este testarea funcționalității și aici veți testa funcționalități precum:
- Verificați dacă cardurile restaurantului sunt afișate în locație.
- Verificați dacă restaurantele afișate se află în intervalul dat (km) al locației.
- Verificați dacă numărul de recenzii pentru fiecare card este sincronizat cu recenziile date.
- Verificați dacă adăugarea unui restaurant nou pentru o locație se reflectă în listă.
- Verificați dacă restaurantele sunt listate pe baza regulii de filtrare a Zomato etc.
2) Testarea interfeței Android:
Aceasta este o testare centrată pe utilizator a aplicației. În această fază de testare, elemente precum vizibilitatea textului în diferite ecrane ale aplicației, mesaje interactive, alinierea datelor, aspectul aplicației pentru diferite ecrane, dimensiunea câmpurilor etc. sunt testate în acest sens.
Pentru același exemplu de Zomato de mai sus, testele UI ar fi:
- Verificați dacă cardurile sunt afișate corect aliniate cu dimensiunea ecranului mobilului.
- Verificați dacă imaginea restaurantului este afișată conform așteptărilor.
- Verificați dacă detaliile cardului, ratingul restaurantului, tipul bucătăriei, adresa etc. sunt afișate corect.
- Verificați dacă derularea listei este fără erori și dacă cărțile nu sunt afișate nealiniat atunci când o listă lungă de cărți este derulată etc.
3) Testarea compatibilității:
Această testare se face mai ales sub forma a două matrice ale aplicației OS Vs și ale aplicației Modelul dispozitivului Vs. De obicei, o listă de sisteme de operare acceptate (și uneori dispozitive) este furnizată de proprietarul produsului sau de client.
Necesitatea acestei testări este:
- Când se ia în considerare un sistem de operare precum Android, se găsesc 7 versiuni de bază neglijând numărul de versiuni de patch-uri / EP-uri.
- Puteți ghici tipurile de dispozitive Android care funcționează în prezent pe tot globul? 1000? 2000? Gresit! Răspunsul corect este 24000. Există 24000 de tipuri de dispozitive Android unice care sunt prezente și active în lume.
- Cu variații precum acestea, testarea compatibilității joacă un rol vital în certificarea unei aplicații Android.
- Nu trebuie doar să validăm sistemul de operare și tipul dispozitivului, ci și alte câteva caracteristici care intră în testele de compatibilitate. Caracteristicile includ:
- Marimea ecranului
- Rezolutia ecranului
- Conectivitate la rețea
4) Testarea interfeței:
Cu alte cuvinte, este denumit și testarea integrării. Această testare se face după ce toate modulele aplicației sunt complet dezvoltate, testate individual și toate erorile sunt remediate verificate.
Testarea interfeței include teste precum testarea completă a aplicației, interacțiunea cu alte aplicații precum Hărți, aplicații sociale etc., utilizarea microfonului pentru a introduce text, utilizarea camerei pentru a scana un cod de bare sau pentru a face o fotografie etc.
Din nou având în vedere Zomato, testele de integrare ar fi ca:
- Verificați dacă utilizatorul este capabil să rezerve o masă pentru un restaurant.
- Verificați dacă utilizatorul este capabil să vizualizeze meniul și să comande mâncare online.
- Verificați dacă utilizatorul este capabil să beneficieze de un cupon PayTM în timp ce comandă alimente.
- Verificați dacă utilizatorul poate vizualiza locația restaurantului pe Google Maps.
- Verificați dacă utilizatorul este capabil să deschidă telefonul și să sune la restaurant etc.
5) Testarea rețelei:
Caracteristicile cheie ale testării în rețea includ:
- Aplicația ar trebui să vorbească cu serviciul intermediar pentru a efectua procesul.
- În timpul acestei testări, cererea / răspunsul la / de la serviciu este testat pentru diferite condiții.
- Acest test se face în principal pentru a verifica timpul de răspuns în care se desfășoară activitatea, cum ar fi reîmprospătarea datelor după sincronizare sau încărcarea datelor după autentificare etc.
- Acest lucru se face atât pentru conexiunea WiFi puternică, cât și pentru rețeaua de date mobile.
- Acesta este un test intern.
6) Testarea performanței:
Performanța aplicației în anumite condiții speciale este verificată.
Aceste condiții includ:
- Memorie redusă în dispozitiv.
- Bateria este extrem de scăzută.
- Recepție de rețea slabă / proastă.
Performanța este practic testată de la 2 capete, capătul aplicației și capătul serverului de aplicații
7) Testarea instalării:
Există două tipuri de aplicații pe un dispozitiv Android, adică aplicații preinstalate și aplicațiile care sunt instalate ulterior de către utilizator.
Pentru ambele de mai sus, trebuie efectuate teste de instalare. Acest lucru este pentru a asigura instalarea fără probleme a aplicației fără a ajunge la erori, instalare parțială etc.
Testele de actualizare și dezinstalare sunt efectuate ca parte a testelor de instalare.
8) Testarea securității:
Confidențialitatea și securitatea sunt cele două cerințe majore ale unei aplicații. Cu toate acestea, în domeniul bancar, asistența medicală, aceasta devine cerința principală.
Testarea fluxului de date pentru mecanismul de criptare și decriptare urmează să fie testată în această fază. Accesul la datele stocate este, de asemenea, testat în această fază.
9) Testarea pe teren:
Testarea pe teren se face special pentru rețeaua de date mobile și nu internă, ci prin ieșire și folosind aplicația ca utilizator normal. Această testare se face „numai” după ce întreaga aplicație este dezvoltată, testată și regresată (pentru erori și cazuri de testare).
Practic se face pentru a verifica comportamentul aplicației atunci când telefonul are o conexiune 2G sau 3G. Testarea pe teren verifică dacă aplicația se blochează în cazul unei conexiuni de rețea lentă sau dacă durează prea mult timp pentru a încărca informațiile.
Puteți citi mai multe despre testarea pe teren în articolul nostru „Importanța și necesitatea testării pe teren pentru aplicații mobile”
10) Testarea întreruperii:
Acest tip de testare este, de asemenea, cunoscut sub numele de verificare a scenariului offline. Condițiile în care comunicarea se întrerupe la mijloc sunt numite condiții offline.
Unele dintre condițiile în care întreruperile unei rețele pot fi testate sunt următoarele:
- Eliminarea cablului de date în timpul procesului de transfer de date.
- Pană de rețea în timpul fazei de înregistrare a tranzacției.
- Recuperarea rețelei după o întrerupere.
- Scoaterea bateriei sau pornirea / oprirea când se află în faza tranzacțională.
Cele mai bune practici în testarea aplicațiilor Android
Există anumiți factori care trebuie luați în considerare atunci când puneți o strategie pentru testarea aplicațiilor mobile.
Sunt:
1) Selectarea dispozitivului:
- Acesta este unul dintre cei mai critici pași înainte de a începe procesul de testare a aplicației Android.
- Decideți ce dispozitive trebuie luate în considerare pentru procesul de testare.
- Selecția se face astfel încât să maximizeze numărul de clienți țintă.
- Factori precum versiunea sistemului de operare, rezoluțiile ecranului și factorii de formă (Tabletă sau telefoane inteligente) joacă un rol vital în faza de selecție.
- Dacă este necesar, chiar și ajutorul emulatorilor poate fi luat în considerare.
- Dar emulatoarele nu ar trebui să înlocuiască procesul de testare a dispozitivului fizic.
- Emulatoarele de dispozitive sunt rentabile și sunt utile la faza inițială de dezvoltare.
- Dar, pentru a testa scenariile din viața reală, dispozitivele fizice sunt obligatorii. Atât emulatoarele, cât și dispozitivele fizice trebuie utilizate în mod echilibrat pentru un rezultat optimizat.
2) Testarea beta a aplicației:
- Testarea beta este foarte eficientă în testarea cu utilizatorii din lumea reală, dispozitivele reale, rețelele reale și aplicațiile instalate într-o geografie largă.
- Aceasta oferă o imagine clară a densității rețelei, a variațiilor rețelei (Wi-Fi, 4G, 3G și 2G) și a impactului asupra aplicației.
- Testarea beta în lumea reală este una de acest fel și nu poate fi reprodusă într-un mediu controlat.
3) Conectivitate:
- În mod normal, aplicațiile Android sunt conectate la internet pentru diverse cerințe.
- Conectivitatea pe diferite dispozitive joacă un rol-cheie în elaborarea strategiei.
- În principal, conectivitatea este controlată de un software de simulare care ajută la reglarea vitezei rețelei, a latenței și a conectivității limitate în timpul testării.
- Se spune că testarea sub conexiuni de rețea reale este întotdeauna recomandabilă pentru rezultate / date în timp real.
4) Testare manuală sau automată:
- Deși testarea automatizării necesită mult timp pentru prima rundă, este utilă atunci când testarea trebuie repetată. Acest lucru reduce, de asemenea, durata generală de testare în timpul diferitelor etape de dezvoltare.
- Android Automation ar trebui să fie echipat cu testare manuală atunci când repetarea testelor de regresie este mare în faza de dezvoltare a aplicației, testarea compatibilității trebuie făcută pentru aceeași aplicație pe versiuni diferite de sisteme de operare, puncte de control de compatibilitate inversă etc.
Android Testing Framework
Există o mână de cadre de testare Android disponibile.
În acest tutorial, vom discuta 3 tipuri diferite de cadre utilizate cel mai frecvent:
- Cadrul de testare a robotului
- Cadrul de testare robo-electric
- Cadrul de testare Appium
1) Cadrul de testare a robotului:
- Acest cadru este utilizat pentru a scrie cazuri de testare sofisticate și robuste ale cutiei negre pentru aplicații Android.
- Suportă atât clienți nativi, cât și clienți hibrizi.
- Funcțiile, cazurile de testare a sistemului și cazurile de testare a acceptării utilizatorilor pot fi scrise folosind acest cadru.
- Robotium acceptă Android 1.6 și versiuni ulterioare și, de asemenea, suport pentru dialoguri, meniuri, activități etc.
- Acest cadru gestionează automat mai multe activități Android.
- O mână de metode sunt date ca parte a Robotium pentru interacțiunea cu diferite componente grafice ale aplicației Android. Unele dintre ele sunt după cum urmează:
- întoarce-te();
- getButton ();
- isRadioButtonChecked ();
- searchText („Utilizator”);
- faceți clic pe buton („Deconectare”);
2) Cadrul de testare robo-electric:
- Acest cadru ajută la testarea aplicațiilor Android pe JVM pe baza cadrului JUnit4.
- Folosește Android API.
- Acest lucru ajută la scrierea cazurilor de testare și rularea lor pe JVM.
- Sub aceasta, toate clasele sunt înlocuite de ceva numit obiecte umbră.
- Ori de câte ori este implementată o metodă, Robo-electric trimite intern apelul către obiectul umbră.
- Pe baza implementării, dacă o metodă este implementată de un obiect shadow, atunci se returnează o valoare. Altfel, NULL este returnat.
- Datorită obiectelor din umbră și JVM, execuția devine mai rapidă.
3) Testarea perioadelor cadru;
- Acest cadru funcționează pentru aplicații native, hibride și mobile - web pentru dispozitive Android.
- Appium este gratuit să utilizeze utilitarul.
- API-ul unic funcționează atât pentru Android, cât și pentru platforma iOS. Acesta este unul dintre cadrele care acceptă testarea pe mai multe platforme.
- Folosește driverul Selenium Web pentru a interacționa cu aplicația Android.
- Appium acceptă scrierea de scripturi folosind o mulțime de limbaje de programare precum Java, C #, Python, PHP, Ruby etc.
Concluzie
Automatizarea aplicațiilor Android poate fi folosită manual, în funcție de necesități. Cu toate acestea, dacă testarea Androind Automation este adăugată strategiei, selectarea instrumentului corect este o sarcină importantă. În timp ce selectați factorii instrumentului de automatizare, cum ar fi asistența pe mai multe platforme, testarea fluxului de lucru, prețul instrumentului, service / asistență etc. ar trebui să fie luate în considerare.
Există mai multe provocări implicate în testarea aplicațiilor Android. Există diferiți factori care trebuie luați în considerare înainte ca procesul de testare Android să poată fi implementat într-adevăr, dar odată făcut acest lucru devine o sarcină foarte interesantă.
youtube to mp3 mai mult de 20 min
Urmăriți următorul nostru tutorial pentru a afla mai multe despre Provocări și soluții de testare mobilă.
Lectură recomandată
- Cele mai bune 11 instrumente de automatizare pentru testarea aplicațiilor Android (instrumente de testare a aplicațiilor Android)
- Servicii de testare beta pentru aplicații mobile (instrumente de testare beta pentru iOS și Android)
- Creați teste Appium pentru o aplicație Android
- Testarea funcțională Vs testarea non-funcțională
- Tutoriale pentru testarea aplicațiilor mobile (un ghid complet cu peste 30 de tutoriale)
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Testarea alfa și testarea beta (un ghid complet)
- Tutoriale detaliate pentru eclipsă pentru începători