Î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ă.

  • 🔘 Domeniu de aplicare: Tehnica aparține testării aplicațiilor mobile, dar se aplică și software-ului web și celui standalone.
  • ☑️ Surse de întrerupere: Apelurile primite, SMS-urile, alarmele, bateria descărcată, evenimentele de încărcare, actualizările aplicațiilor și modificările rețelei acoperă majoritatea scenariilor reale.
  • Patru rezultate așteptate: Rulează în fundal, afișează alerte, îndemn la acțiune sau nu are impact — fiecare aplicație definește care dintre ele se aplică.
  • 🧪 Design de testare: Testarea prin întreruperi este un subset al testării funcționale, deci se aplică aceleași framework-uri, cazuri de testare și proces de execuție.
  • 🛠️ Simulare: Comenzile extinse ale emulatorului, setările dispozitivului și cloud-ul real al dispozitivului reproduc apeluri, alerte și pierderi de conectivitate la cerere.
  • 📊 Nu se testează recuperarea: Testarea de recuperare validează restaurarea după o defecțiune, în timp ce o întrerupere este doar o întrerupere.tracțiune, nu o vină.

Testarea întreruperilor într-o aplicație mobilă care arată un apel primit care preia controlul asupra unui ecran activ al aplicației

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.

Tipuri de întreruperi într-o aplicație mobilă, inclusiv apeluri, SMS-uri, alarme, evenimente legate de baterie și rețea

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:

  1. 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ă.
  2. 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ă.
  3. 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.
  4. 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ă:

  1. Enumerați parcursul critic al utilizatorilor — autentificare, plată, încărcare, formulare lungi, redare media.
  2. Cartografiați fiecare întrerupere plauzibilă din lista de mai sus în fiecare călătorie.
  3. Stabiliți rezoluția așteptată pentru fiecare asociere cu proprietarul produsului, deoarece nu există o valoare implicită universală.
  4. Executați întreruperea în momentul cel mai riscant, nu într-un moment de inactivitate, apoi reluați.
  5. 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.

Întrebări frecvente

Scenariile sunt aceleași, dar rezultatele nu sunt. Cele două platforme gestionează aplicațiile din fundal și evictarea memoriei în mod diferit și Android Skin-urile furnizorilor adaugă propriile reguli pentru baterie, astfel încât un test identic poate trece pe o familie de dispozitive și poate eșua pe alta.

Modelele de inteligență artificială citesc poveștile utilizatorilor și rapoartele de eroare și propun asocieri de întreruperi pe care un tester s-ar putea să nu le fi enumerat - de exemplu, un apel care sosește exact în timpul reîmprospătării token-ului. Învățarea automată grupează, de asemenea, jurnalele de erori de producție pentru a arăta care întreruperi afectează de fapt utilizatorii reali mai întâi.

Copilot schițează bine schema standard — plasând aplicația în fundal, activând conectivitatea, așteptând, apoi activând ecranul restaurat. Decizia privind momentul întreruperii și ce stare trebuie să supraviețuiască rămâne la latitudinea testerului, așa că tratați scripturile generate ca pe o schiță inițială de revizuire.

Da. Cele două nume descriu aceeași activitate și sunt folosite interschimbabil în cadrul echipelor și instrumentelor. Alegeți o singură ortografie pentru planul dvs. de testare și folosiți-o în mod consecvent, deoarece terminologia mixtă face ca suitele să fie mai dificil de căutat și cazurile duplicate mai ușor de creat.

Folosește ambele. Emulatoarele sunt ideale pentru conectivitate rapidă și repetabilă și cazuri de baterie într-o conductă. Dispozitive reale sunt necesare pentru apeluri autentice, manageri de baterii de la furnizori și evicarea memoriei insuficiente, care sunt tocmai condițiile care expun cele mai dificile defecte de CV.

Blocări ale CV-ului, ecrane goale sau greșite după returnare, pierderea datelor introduse în formular, plăți duplicate dintr-o solicitare reîncercată, sesiuni întrerupte care necesită o nouă conectare, redare media blocată și pierderi de memorie sau baterie care apar numai după ce aplicația este pornită în fundal în mod repetat.

Este ambele. Întreruperile de rețea, baterie și comutare a aplicațiilor sunt create în mod fiabil și aparțin rulării de regresie. Apelurile primite, alarmele și solicitările de alimentare specifice furnizorului sunt de obicei mai rapide de executat manual pe un telefon real, așa că majoritatea echipelor păstrează un mic set manual alături.

Începeți imediat ce o versiune critică este completă, nu în ultima săptămână de consolidare. Defectele de reluare necesită adesea modificări ale ciclului de viață sau ale gestionării stării, iar adaptarea acestora este costisitoare odată ce versiunea candidată la lansare este blocată.

Rezumați această postare cu: