Întreruperea testării în aplicația mobilă
⚡ Rezumat inteligent
Testarea întreruperilor verifică cum se comportă o aplicație mobilă atunci când este preluată de un apel, o alarmă, o notificare sau o întrerupere a rețelei și dacă aplicația revine la starea anterioară exactă odată ce întreruperea se termină.
Ce este testarea întreruperilor?
Întreruperea testării este o ramură a testării aplicațiilor mobile care se ocupă de modul în care o aplicație reacționează la o întrerupere și revine la starea sa anterioară. Întreruperea provine din afara aplicației - sistemul de operare, hardware-ul sau o altă aplicație - iar testul verifică dacă nu se pierd date, starea ecranului sau tranzacția în curs atunci când se revine controlul.
Testarea întreruperilor se aplică oricărui tip de aplicație - web, mobilă, independentă și așa mai departe. Varietatea dispozitivelor, rețelelor și configurațiilor o face mult mai importantă pentru mobil aplicații decât pentru celelalte.
De ce aveți nevoie de testarea întreruperii?
Care este singurul lucru care se întâmplă aproape întotdeauna când ești într-o ședință? Ești întrerupt, nu-i așa? Când se întâmplă, unii oameni nici măcar nu clipesc, unii au nevoie de un minut pentru a reveni, iar alții își pierd complet șirul gândurilor. Cu alte cuvinte, testarea întreruperilor încearcă să afle ce comportament prezintă aplicația ta.
Lăsați deoparte orice formulare pentru o secundă și priviți o altă situație din lumea reală. Să presupunem că dețineți o lanternă și o porniți. Bateria se descarcă, ceea ce reprezintă o întrerupere a stării sale actuale de activitate. Înlocuiți bateriile și reporniți-le. Lanterna ar trebui să se aprindă din nou ca de obicei. Acesta este cazul de utilizare. O disciplină de testare care se concentrează asupra faptului dacă acest lucru se întâmplă sau nu este testarea prin întrerupere.
Studiul de piață este simplu. O întrerupere apare în cel mai nepotrivit moment posibil — în mijlocul plății, în mijlocul încărcării, în mijlocul unui formular — iar un utilizator care pierde acel lucru rareori încearcă din nou. Blocările CV-ului, ecranele goale, tranzacțiile duplicate și pierderea datelor introduse în formulare sunt defecte pe care doar o întrerupere le expune, motiv pentru care acestea supraviețuiesc unei treceri funcționale care nu întrerupe niciodată nimic.
Tipul de întreruperi în aplicația mobilă
Întreruperile se împart într-o serie de grupuri familiare, rezumate în ilustrația de mai jos.
Cu toții suntem familiarizați cu întreruperile comune care apar în mod normal. Iată câteva dintre ele:
- Baterie descărcată
- Baterie plină — la încărcare
- Apel telefonic primit
- SMS primit
- Alertă primită de la o altă aplicație mobilă
- Conectat pentru încărcare
- Deconectat de la încărcare
- Dispozitivul oprit
- Mementouri pentru actualizarea aplicației
- Alarma
- Pierderea conexiunii la rețea
- Restaurarea conexiunii la rețea
Această listă nu este exhaustivă, dar include cele mai frecvente scenarii. O modalitate practică de a o organiza este în funcție de origine: evenimente dependente de dispozitiv, cum ar fi bateria și încărcarea, evenimente inițiate de utilizator, cum ar fi răspunsul la un apel sau comutarea aplicațiilor, și evenimente externe, cum ar fi pierderea semnalului într-un lift sau într-un tunel.
Rezolvare în caz de întrerupere
Comportamentul așteptat în cazul acestor întreruperi este unul dintre următoarele patru:
- Rulează în fundal: Întreruperea preia controlul, în timp ce aplicația trece pe plan secund. Aceasta preia controlul după ce întreruperea se termină. De exemplu, un apel telefonic sau un apel FaceTime la care participați în timp ce citiți o carte digitală pe iBooks (sau o aplicație similară). Când utilizatorul răspunde la telefon, iBooks așteaptă până când apelul este finalizat și apoi reia activitatea când acesta se termină.
- Afișați alerta: Alerta dispare și lucrezi ca de obicei. În antet apare un mesaj „SMS primit”. Utilizatorul nu se mai preocupă de asta și continuă să lucreze cu aplicația în mod normal. Alte alerte din aplicațiile mobile, cum ar fi o nouă cerere de prietenie pe Facebook sau un mesaj WhatsApp, se încadrează și ele în această categorie. Dar dacă utilizatorul decide să citească mesajul, se respectă comportamentul descris la punctul 1. Dacă alerta este ignorată, starea aplicației rămâne neschimbată.
- Apel la acțiune: Alarmele trebuie oprite sau amânate înainte de a continua lucrul. Același lucru este valabil și pentru mesajele de actualizare a aplicațiilor. Trebuie fie să anulați, fie să acceptați modificările înainte de a continua. Un alt exemplu este alerta de baterie descărcată - puteți alege să continuați ca de obicei sau să intrați într-un mod de consum redus de energie, dacă dispozitivul permite acest lucru.
- Fara impact: Un exemplu este o conexiune la rețea care devine disponibilă și dispozitivul dvs. se conectează la aceasta. De asemenea, atunci când conectați dispozitivul pentru încărcare, nu este necesară nicio alertă sau niciun îndemn la acțiune. Probabil că își va face treaba în timp ce continuați să utilizați aplicația.
Prin urmare, în funcție de întreruperea pe care o testați, înțelegeți comportamentul și vedeți dacă aplicația dvs. o satisface. De asemenea, comportamentul descris mai sus nu trebuie să fie același pentru toate aplicațiile și dispozitivele. Asigurați-vă că aflați detaliile specifice pentru aplicația dvs. mobilă.
Cazuri de testare cu întreruperi și rezultate așteptate
Odată ce rezoluția așteptată este convenită, fiecare întrerupere devine un caz de testare obișnuit, cu un factor declanșator, o acțiune și un rezultat verificabil. Tabelul de mai jos arată modul în care cele patru rezoluții de mai sus se traduc în scenarii concrete.
| Întrerupere | Scenariu de testare | Rezultat asteptat |
| Apel telefonic primit | Declanșați un apel în timp ce un formular este pe jumătate completat, răspundeți la el, apoi terminați apelul | Aplicația se mută în fundal și se reia pe același ecran cu datele introduse intacte |
| SMS primit sau alertă push | Trimiteți un mesaj în timp ce un videoclip sau o încărcare este în desfășurare și ignorați bannerul | Bannerul apare și dispare; starea aplicației rămâne neschimbată |
| Alarma | Permiteți declanșarea unei alarme programate în timpul unei sesiuni active și închideți-o | Alarma solicită mai întâi un apel la acțiune, apoi aplicația se reia de unde s-a oprit |
| avertizare baterie slaba | Goliți dispozitivul până la pragul de avertizare în timpul unei tranzacții | Se afișează un avertisment, tranzacția nu este anulată și modul de consum redus de energie nu întrerupe afișajul. |
| Pierderea conexiunii la rețea | Dezactivați conectivitatea în timpul solicitării, apoi restaurați-o | Se afișează un mesaj clar, nu se produce nicio eroare, iar solicitarea se finalizează sau eșuează în siguranță la restaurare. |
| Încărcare conectată sau deconectată | Conectarea și deconectarea încărcătorului în timpul unei sesiuni active | Fără impact — aplicația continuă fără o modificare vizibilă |
| Memento de actualizare a aplicației | Declanșează o solicitare de actualizare în timp ce aplicația este în uz | Utilizatorul poate anula sau accepta, iar ecranul subiacent rămâne valabil în cazul oricăreia dintre opțiuni. |
Păstrați un rând per întrerupere per ecran critic, în loc de un rând per întrerupere pentru întreaga aplicație. Ecranul de plată, ecranul de conectare și un formular lung eșuează fiecare diferit, iar un singur caz generic ascunde acest lucru.
Acum că înțelegem ce este Testarea întreruperilor și ce să validăm atunci când o desfășurăm, este timpul să vorbim despre cum să o facem.
Cum se face testarea întreruperii
Priviți această afirmație: iBooks trebuie să ruleze în fundal atunci când utilizatorul primește un apel telefonic.
Nu ai numi asta o cerință funcțională a aplicației iBooks? Știu că da.
Deci, Testarea întreruperii este un subset al Functional Testing pentru o aplicație mobilă. Pentru a efectua testarea întreruperilor, urmați aceleași cadre și instrumente de testare pentru aplicații mobile. Este de competența testerilor să conceapă aceste scenarii. Odată ce acest lucru este făcut, proiectați cazurile de testare și le executați exact în același mod ca orice alt test.
În practică, secvența este scurtă și repetabilă:
- Enumerați parcursul critic al utilizatorilor — autentificare, plată, încărcare, formulare lungi, redare media.
- Cartografiați fiecare întrerupere plauzibilă din lista de mai sus în fiecare călătorie.
- Stabiliți rezoluția așteptată pentru fiecare asociere cu proprietarul produsului, deoarece nu există o valoare implicită universală.
- Executați întreruperea în momentul cel mai riscant, nu într-un moment de inactivitate, apoi reluați.
- Verificați starea, datele, sesiunea și memoria după reluare, nu doar dacă aplicația este încă deschisă.
Pentru mai multe informații despre disciplina mai largă, consultați Testare mobilă tutorial și exemplele de cazuri din Testarea aplicațiilor mobile.
Instrumente și tehnici pentru simularea întreruperilor
Scenariile de mai sus trebuie produse la cerere, nu așteptate, iar fiecare platformă oferă o modalitate de a face acest lucru.
- Android Comenzi extinse ale emulatorului: Panoul lateral al emulatorului simulează un apel primit, un SMS, nivelul bateriei și starea încărcătorului, precum și puterea semnalului celular, astfel încât cea mai mare parte a listei de întreruperi poate fi accesată fără un al doilea receptor.
- Simulator iOS și Xcode: Stările de conectivitate și hardware pot fi modificate din simulator și din setările dispozitivului, în timp ce un dispozitiv fizic asociat acoperă scenariile de apel pe care un simulator nu le poate genera.
- Un al doilea dispozitiv fizic: Apelarea sau trimiterea de mesaje către dispozitivul testat de pe un alt telefon rămâne cea mai fidelă modalitate de a reproduce o întrerupere reală, în special în cazurile sensibile la timp.
- Setări dispozitiv: Modul avion, comutatoarele Wi-Fi, funcția Nu deranja, economisirea bateriei și alarmele programate acoperă conectivitatea și întreruperile de curent pe hardware real.
- Cadre de automatizare: Aceeași stivă de automatizare utilizată pentru restul suitei funcționale poate controla aplicația înainte și după întrerupere, astfel încât verificarea CV-ului este activată, nu observată.
- Cloud-uri pentru dispozitive reale: O fermă de dispozitive găzduite lărgește acoperirea pentru mai mulți producători și versiuni de sisteme de operare, ceea ce este important deoarece gestionarea întreruperilor este una dintre domeniile în care personalizările furnizorilor diferă cel mai mult.
Indiferent de mecanism, înregistrați momentul exact al întreruperii în cazul de testare. „Întreruperea în timpul încărcării” și „întreruperea după încărcare” sunt teste diferite cu moduri de defecțiune diferite.
Cele mai bune practici pentru testarea întreruperilor
Câteva obiceiuri separă o suită utilă de întreruperi de un exercițiu de bifare a căsuțelor.
- Întrerupe în cel mai nepotrivit moment: Target în momentul în care o tranzacție este validată sau un fișier este scris, deoarece acolo starea este cea mai fragilă.
- Testează CV-ul, nu întreruperea: Defectul apare aproape întotdeauna după revenirea controlului, așa că aserțiunile aparțin ecranului restaurat.
- Acoperă ambele direcții ale unei schimbări de rețea: Pierderea unei conexiuni și recâștigarea acesteia sunt cazuri separate, iar al doilea este omis mai des.
- Variați durata: O alertă de două secunde și un apel de zece minute împing aplicația prin diferite cicluri de viață, inclusiv eliminarea din memorie.
- Răspândit pe versiuni de sistem de operare și hardware low-end: Eliminarea în fundal este mult mai agresivă pe dispozitivele cu restricții, ceea ce scoate la iveală defectele pe care le ascunde un telefon emblematic.
- Automatizați-le pe cele repetabile: Conectivitatea și întreruperile bateriei se automatizează ușor, eliberând efortul manual pentru scenarii de apeluri și alarme.
- Urmăriți utilizarea resurselor și precizați: O întrerupere care consumă memorie sau bateria la reluare este un defect chiar și atunci când ecranul arată corect, ceea ce leagă această funcționare de testarea performanței aplicației mobile.
Testarea întreruperii nu este aceeași cu testarea de recuperare?
Nu Nu este. Testare de recuperare validează restaurarea după o eroare. O întrerupere nu este neapărat o eroare - este o simplă întreruperetracTION.
Este ca diferența dintre o virgulă și un punct în engleză. Distincția este doar tehnică, dar imaginea este clară. Testarea de recuperare întreabă dacă aplicația poate reveni după ce ceva s-a defectat; Testarea de întrerupere întreabă dacă ceva se defectează când altceva intră în prim-plan.
Asta este tot ce trebuie să știi pentru a începe cu testarea întreruperilor — o ramură importantă și intuitivă a testării aplicațiilor mobile.

