Testarea pe Android Care sunt opțiunile dvs.?

Introducere

Testarea unei aplicații pe Android sau iOS nu este diferită. Scopul este același, rezultatul dorit este același, iar procesul este similar. Diferența majoră vine atunci când începem să ne uităm la detalii. Asta intenționez să fac în acest articol.

1. Fundamentele

Înainte de a ne scufunda, hai să vorbim despre câteva fundamente de testare. Este imposibil să examinați opțiunile noastre dacă nu cunoaștem și nu înțelegem imaginea completă.

Provocări pe Android

Ceea ce face ca Android să iasă în evidență este nenumăratele posibilități. Pe iOS, există iPhone, iPad și iPod Touch. Ele sunt diferite, dar factorul comun între dispozitivele iOS este densitatea pixelilor, rezoluția ecranului, vitezele procesorului, dimensiunea memoriei etc..

În cazul Android, există mii de combinații atunci când ne uităm la aceiași factori, rezoluția și dimensiunea ecranului, vitezele procesoarelor, dimensiunea memoriei și cireșul pe tort, fragmentarea sistemului de operare.

Vorbind despre versiunile sistemului de operare, nu este neobișnuit ca producătorii de telefoane mobile și de operatori să nu mai împingă actualizările prea târziu după lansarea produsului. Este o problemă? Da. Aruncati o privire la statisticile oficiale ale Google privind cota de piata pentru Google pentru a obtine o idee despre scara problemei.

În ordinea descrescătoare a cotei de piață, avem Jelly Bean (4.1-4.3), Turtă dulce (2.3) și Ice Cream Sandwich (4.0).

Comparați acest lucru cu rata de adoptare a iOS 7. La sfârșitul lunii ianuarie a acestui an, 80% dintre dispozitivele iOS rulează iOS 7. Vă amintiți că iOS 7 a fost lansat în septembrie 2013. Aceasta este o diferență majoră.

Studiu, contrast și comparație

Ați folosit o aplicație Android foarte rea? Mai rău decât o aplicație directă proastă este una foarte mare, care are câteva bug-uri persistente.

Mă simt un factor important în testarea bună este acordarea atenției la ceea ce utilizați, cum ar fi, și ura. Ura este un cuvânt puternic, dar sunt sigur că există ceva care întotdeauna iese în evidență.

Întrebați-vă următoarele întrebări:

  • Care sunt unele dintre aplicațiile mele preferate? De ce este asta?
  • Care sunt unele aplicații rău pe care le folosesc?
  • Ce face o aplicație grozavă? Este atenția la detalii?
  • Apelul rău îngheață din când în când? Se prăbușește constant? Sau nu este bun designul său?

Aflați cu ce lucrați

Să facem referire la graficul de partajare a pieței Android OS pe care l-am văzut mai devreme. Este nerealist să abordați testarea gândindu-vă că veți sprijini fiecare dispozitiv și fiecare aromă de Android.

Ideea mea este că trebuie să ne gândim la distribuție. Ce face aplicația noastră și cum arată piața țintă? Este un joc sau o aplicație de utilitate?

Dacă este un joc, focalizarea ar putea fi probabil numai pe dispozitive noi și de vârf. Cu toate acestea, o aplicație utilitară poate fi utilizată de o audiență mai largă și trebuie să funcționeze pe o gamă mai largă de dispozitive.

2. Abordarea

O problemă la care mă simt cel mai mult dintre noi este că suntem prea aproape de proiectele noastre. Știm cum putem face ca aplicația noastră să nu reușească și cum să o facem să funcționeze. Din acest motiv, încerc în mod intenționat să îmi pun mintea în rolul unui utilizator. Am pus utilizatorii în două mari categorii: Button Masher si Utilizator.

Button Masher

Butonul Maser este tipul de utilizator care va începe să atingă ecranul, un buton aici, un buton acolo. - Ultimul buton nu a făcut nimic, am să-l lovesc pe altul.

Ceea ce putem învăța de la acest tip de utilizator este locul în care avem procese intense în aplicația noastră. Dacă se întâmplă ceva și se întâmplă o altă solicitare sau acțiune, facem procesorul sau umplem memoria dispozitivului? Cauzează ca aplicația să se prăbușească?

Cealaltă întrebare că suprafețele este "Cât de bine informăm utilizatorul despre ce se întâmplă". De ce au lovit un alt buton în loc să aștepte? Putem remedia acest lucru prin afișarea unui ecran de încărcare?

Utilizator

Utilizatorul are intenția. O modalitate mai bună de a explica acest tip de utilizator ar fi să se uite la cazurile de utilizare. Există o sarcină specifică pe care vor să o realizeze și un flux specific pe care vor încerca să-l urmeze.

Putem să aflăm cât de clar este ca aplicația să conducă o persoană printr-un proces sau o acțiune. Aceasta ne va arăta unde se pierde un utilizator și ce zone necesită mai multă atenție sau rafinare.

Am vorbit prin scopul nostru și diferite tipuri de utilizatori, dar ce sunteți opțiunile noastre și cum ar trebui să le testați? Din fericire, sunt multe. Și vă recomand să faceți cât mai multe posibil.

3. Opțiuni

Suna un prieten

Dacă nu aveți luxul de a putea merge la departamentul de QA sau într-un laborator de testare, puteți apela un prieten. Aveți nevoie de ochi și aveți nevoie de dispozitive.

Când vine vorba de testarea aplicațiilor mobile, volumul poate avea o diferență, mai ales dacă puteți obține o varietate de dispozitive.

Instrumente și testarea unităților

Testarea automată este prietenul tău. În timp ce nimic nu va învinge timpul cu o aplicație completă, este de asemenea important să vedem ce se întâmplă sub capota și modul în care aplicația dvs. va reacționa programabil în anumite situații sau atunci când este pusă sub stres.

Mai important, testarea unității vă permite să vă testați în timp ce mergeți, ceea ce poate economisi mult timp în timpul testelor și QA, înainte de lansare.

Android SDK

SDK-ul Android vine cu cadrul de testare Android, care constă într-un API de testare bazat pe JUnit și monkeyrunner.

Extensia Android JUnit permite dezvoltatorilor să scrie teste de unitate împotriva componentelor Android și API-ul Android cu clase de cazuri testate pentru componente specifice.

Monkeyrunner este un API bazat pe Python, care vă permite să scrieți programe care controlează un dispozitiv din perspectiva utilizatorului. Aceasta înseamnă că puteți crea teste pentru a fi difuzate pe numeroase dispozitive sau emulatori care vor interacționa cu aplicația dvs., trimițând apăsările de la tastatură și capturați capturi de ecran.

Alte cadre de testare

Există o mulțime de cadre de testare disponibile. Câteva dintre cele mai populare sunt Robolectric și Robotium.

Robolectric este un cadru de testare unitar care rulează în IDE. Acest lucru este excelent pentru auditarea pre-construirii codului. Robotiul rulează teste împotriva aplicației Android API în emulatori. Deși durează mai mult timp pentru a finaliza testele, codul dvs. de aplicație va fi pus în aplicare cu mult mai mult decât un test din lumea reală împotriva dispozitivelor și API.

O altă opțiune interesantă este Espresso. Acesta servește un scop foarte specific în comparație cu cele două opțiuni anterioare. Este un API pentru a rula testele împotriva interfeței UI.

Toate opțiunile de mai sus sunt excelente, dar dacă construiți o aplicație hibridă, este posibil să nu le puteți utiliza. Appium este un cadru de automatizare cross-platform care vă permite să construiți teste cu orice limbă doriți pentru ambele platforme mobile majore.

Raportarea și analiza

De asemenea, este foarte util să puteți vedea unele statistici și, mai important, să colectați jurnale de eroare și de blocare. Acest lucru este util în special dacă aveți mulți oameni care testează aplicația dvs., deoarece poate deveni dificil să colectați jurnale de la fiecare utilizator.

Pe lângă urmărirea utilizării aplicațiilor, Google Analytics vă poate trimite și excepții. Flurrea este o altă opțiune testată. Au fost în jur de mult timp, iar rapoartele lor de raportare și de accidente sunt puțin mai detaliate.

Deși nu ajută în faza de dezvoltare a aplicației dvs., Google colectează, de asemenea, rapoarte de eroare pentru aplicații din Magazinul Play.

4. Opțiuni ale terților

Am vrea toți să dispunem de 400 de dispozitive, cum ar fi laboratoarele masive de testare pe care le-am văzut online. Cu toate acestea, acest lucru nu este realist. Pentru a răspunde la această problemă, există multe servicii disponibile dacă sunteți dispus să investiți în teste.

Aceste servicii variază de la testele real-umane individuale la testările complet automatizate pe sute de dispozitive. Dacă sunteți dispus să plătiți pentru el, este disponibil.

Nu am experiență cu cele mai multe dintre acestea, dar cel pe care l-am folosit este Testarea utilizatorilor. Este foarte util să vedeți o persoană care să urmeze scriptul dvs. de testare pe măsură ce atinge aplicația dvs. și vă dă gândurile.

Acestea sunt câteva servicii care trebuie luate în considerare:

  • AppThwack
  • uTest / Aplauze
  • TestObject
  • testdroid

Concluzie

De prea multe ori am întâlnit situația în care QA și testarea păreau o idee ulterioară. În realitate, este probabil cea mai importantă parte a procesului de dezvoltare.

Android, cu numeroasele sale arome, poate părea intimidant, dar atunci când a fost abordat aproape în mod programatic, chiar devine parte a procesului. Merită mai mult timp și efort. Aplicațiile de calitate nu se întâmplă.

Cod