Tutorial de testare a aplicațiilor iOS
⚡ Rezumat inteligent
Testarea aplicațiilor iOS verifică dacă o aplicație se instalează, funcționează și se comportă corect pe dispozitivele Apple. Aceasta combină tehnici manuale cu framework-uri automate precum XCTest și XCUITest pentru a detecta din timp blocările, incompatibilitățile și pierderile de memorie.

Ce este testarea aplicațiilor iOS?
Testarea aplicației iOS este un proces de testare în care o aplicație iOS este testată pe dispozitive Apple reale pentru a verifica dacă funcționează conform așteptărilor sau nu pentru anumite acțiuni ale utilizatorului, cum ar fi timpul de instalare, interfața cu utilizatorul, experiența utilizatorului, aspectul, comportamentul, funcționalitatea, timpul de încărcare, performanța, aplicația Lista în magazin, suport pentru versiunea sistemului de operare etc.
De ce testarea aplicației iOS?
Testarea aplicației iOS este necesar deoarece iOS este platforma Apple pentru aplicații mobile, lansată pentru prima dată pe 29 iunie 2007. Spre deosebire de AndroidApple nu acordă licențe pentru instalarea iOS pe hardware non-Apple. iOS și aplicațiile iOS pot fi instalate numai pe dispozitive Apple; prin urmare, aplicația iOS trebuie să fie compatibilă cu versiunile iOS și dispozitivele iOS deținute de utilizatorii dvs.
Figura de mai jos prezintă întrebări frecvente cu care se confruntă dezvoltatorii atunci când creează o aplicație iOS.
Nu contează cât timp investești în design și implementare; greșelile sunt inevitabile, iar erorile vor apărea. Figura de mai jos prezintă câteva erori comune în aplicațiile iOS.
Aplicația se prăbușește
Una dintre cele mai frustrante probleme atunci când se utilizează dispozitivele Apple este că o aplicație se poate bloca frecvent în timpul execuției. Adesea, aplicația se blochează din cauza unor erori sau a unor scurgeri de memorie în cod.
Incompatibilități de aplicație
Aplicația ta iOS poate rula perfect pe versiunea actuală de iOS, dar dacă iOS este actualizat, este posibil să nu funcționeze din cauza unor probleme de incompatibilitate.
Vulnerabilitatea de securitate
O vulnerabilitate de securitate în iOS permite unui hacker să atace dispozitivele iOS și să vă fure informațiile private. De-a lungul anilor, au fost descoperite vulnerabilități severe de securitate ale iPhone-urilor în diferite versiuni de iOS.
Scurgeri de memorie
Scurgerile de memorie sunt blocuri de memorie alocată pe care programul nu le mai folosește. Scurgerile de memorie fac ca aplicația dvs. iOS să se blocheze.
Sunt erori și ar trebui să fie întotdeauna remediate.
iOS testează MindMap
După cum se arată în figura de mai sus, iOS Testarea MindMap prezintă toate elementele pe care un tester ar trebui să le ia în considerare atunci când efectuează teste pe iOS.
Lista de verificare pentru testarea aplicației iOS
Această listă de verificare este concepută special pentru a testa caracteristicile aplicațiilor mobile iOS. Evident, testează doar caracteristicile generice ale aplicației și nu funcționalitatea acesteia.
- Verificați timpul de instalare necesar aplicației pe dispozitiv. Asigurați-vă că aplicația este instalată într-un interval de timp acceptabil.
- După ce aplicația este instalată, verificați dacă are o pictogramă și un nume. De asemenea, asigurați-vă că atât pictograma, cât și numele sunt explicite, reflectând intenția principală a aplicației.
- Lansați aplicația și verificați dacă se afișează o fereastră de pornire.
- Verificați timpul de așteptare pentru ecranul de pornire și timpul necesar pentru încărcarea ecranului principal. Ecranul principal al aplicației ar trebui să se încarce într-un timp acceptabil. Dacă ecranul principal durează prea mult să se încarce, există șanse mai mari ca utilizatorul să închidă sau chiar să dezinstaleze aplicația. De asemenea, verificați modul în care este încărcat conținutul pe ecranul principal.
- Funcția principală a aplicației ar trebui să fie vizibilă imediat. Ar trebui să vorbească de la sine.
- Verificați dacă aplicația acceptă atât orientarea peisaj, cât și cea portret. Dacă da, verificați aplicația în ambele orientări. Interfața cu utilizatorul a aplicației ar trebui să se ajusteze în mod corespunzător.
- Lansați aplicația fără conexiune la internet. Asigurați-vă că aplicația se comportă conform proiectării/doririi. Există posibilitatea ca aplicația să se blocheze la lansare sau să afișeze pur și simplu un ecran gol.
- Dacă aplicația utilizează servicii de localizare, verificați dacă este afișată sau nu alerta de permisiune pentru locație. Această alertă ar trebui să fie afișată utilizatorului o singură dată.
- Dacă aplicația trimite notificări push, verificați dacă alerta de permisiune pentru notificări push este afișată sau nu. Această alertă ar trebui, de asemenea, să fie solicitată utilizatorului o singură dată.
- Lansați aplicația, închideți-o și relansați-o. Verificați dacă aplicația se comportă conform proiectării/doririi.
- Închideți aplicația prin atingereping Apăsați butonul Acasă al dispozitivului și deschideți din nou aplicația. Verificați dacă aplicația funcționează conform proiectării/doririi.
- După instalare, verifică dacă aplicația este listată în setările iPhone-ului.
- După ce aplicația este lansată, verificați dacă aceasta poate fi găsită în „App Store”. Vor exista versiuni de sistem de operare acceptate pentru aplicație. Așadar, asigurați-vă că aplicația poate fi găsită în „App Store” pentru dispozitivele cu versiuni de sistem de operare acceptate. De asemenea, aplicația nu ar trebui să fie listată în „App Store” pentru dispozitivele cu versiuni de sistem de operare neacceptate.
- Verificați dacă aplicația intră în modul de repaus când rulează în fundal pentru a preveni descărcarea bateriei.
- Dacă performanța aplicației este lentă sau ori de câte ori se încarcă conținutul, verificați dacă există o pictogramă de stare de progres („Se încarcă…”), de preferință cu un mesaj specific.
- Căutați aplicația cu numele acesteia în bara de căutare a dispozitivului. Verificați dacă aplicația este listată.
- Verificați dacă aspectul butoanelor care efectuează acțiuni standard nu este modificat în aplicație (de exemplu: actualizare, organizare, coș de gunoi, răspuns, înapoi etc.)
- Verificați dacă butoanele standard nu sunt folosite pentru alte funcții decât cele pentru care sunt utilizate în mod normal
Strategia de testare iOS
Odată ce știi ce să verifici, următorul pas este cum să testezi acel lucru. Figura de mai jos prezintă câteva tipuri comune de strategii de testare iOS.
Testarea automată
Testarea automată este unul dintre cele mai mari avantaje în testarea iOS. Vă permite să detectați rapid erorile și problemele de performanță. Beneficiile testării automate sunt prezentate mai jos:
- Testarea automată poate rula pe mai multe dispozitive, economisindu-vă timp
- Testarea automată poate viza SDK-uri. Puteți rula teste pe diferite versiuni de SDK.
- Testarea automată crește productivitatea testării și economisește costurile de dezvoltare software
- Există multe framework-uri de testare open source care acceptă testarea automată pe iOS
Testarea unitară cu OCUnit
Când a fost lansat SDK-ul original pentru iOS, acesta a lipsit Testarea unității capacități. Așadar, Apple a adus OCUnit soluție de testare unitară în iOS SDK versiunea 2.2.
OCUnit a fost un framework de testare pentru Objective-C pe Mac (acum macOSCel mai mare avantaj al framework-ului OCUnit a fost integrarea sa strânsă în Xcode mediul de dezvoltare, așa cum se arată mai jos.
Notă: OCUnit (SenTestingKit) este depreciat; deoarece Xcode 5, Apple XCTest framework-ul l-a înlocuit ca standard — consultați secțiunea XCTest de mai jos. Capturile de ecran de aici arată o versiune mai veche Xcode versiune.
Unele dintre beneficiile OCUnit sunt prezentate în figura de mai jos.
Testarea UI cu UIAutomation
Automatizarea interfeței utilizator a fost o JavaScenariu bibliotecă furnizată de Apple Inc., care putea fi utilizată pentru a efectua teste automate pe dispozitive reale și pe Simulatorul iOS. Acest framework a fost adăugat în iOS SDK 4.0. Folosind Automatizarea UI, ați putea automatiza testarea aplicației nu numai pe simulator, ci și pe un dispozitiv real.
Notă: Apple a depreciat automatizarea interfeței utilizator în Xcode 8 (2016) și ulterior a fost eliminată. Folosiți XCUITest pentru proiecte noi de testare a interfeței utilizator; clasele și capturile de ecran de mai jos reflectă lanțul de instrumente mai vechi.
UIAutomation a adus următoarele beneficii:
- Efort redus pe Testarea manuală
- Necesită mai puțin efort pentru a executa toate testele
- Procedura de testare a interfeței utilizator simplificată (apăsați câteva butoane și rulați suite complete de teste)
Instrumentul UIAutomation a funcționat pe baza unor scripturi scrise în JavaScript. Acesta simula evenimentele utilizatorului în aplicația iOS țintă.
Contra vs. Pro UIAutomation
| Pro | Contra | |
|---|---|---|
| 1. | Suport bun pentru gest și rotație | Nu este open source, mai puțin suport din partea dezvoltatorului |
| 2. | Poate rula teste UIAutomation pe dispozitiv, nu doar pe simulator. | Nu se poate integra extrem de bine cu alte instrumente |
| 3. | Dezvoltat în JavaScript, un limbaj de programare popular. |
Figura de mai sus reprezintă câteva clase comune în framework-ul UIAutomation.
- UIAElement clasa este super-clasa pentru toate elementele interfeței cu utilizatorul în contextul automatizării
- UIATarget clasa reprezintă elementele de interfață cu utilizatorul de nivel înalt ale sistemului testat
- UIALogger clasă oferă informații de testare și eroare privind funcționalitatea de recuperare
- UIAActivityView clasa permite accesul și controlul vizualizărilor activității din aplicația dvs.
- UIAActionSheet clasa permite accesul și controlul foilor de acțiune din aplicația dvs.
- Utilizator Eveniment Acțiune
- Clasa UISlider
- Clasa UIAButton
- Clasa UIAkey
- Clasa UIAKeyboard
Alte cadre de testare automată
- Sincer: Automatizat Test de acceptare framework pentru iPhone și iPad (nu mai este întreținut activ)
- KIF: este un iOS test de integrare cadru. Permite automatizarea ușoară a aplicațiilor iOS prin valorificarea atributelor de accesibilitate pe care sistemul de operare le pune la dispoziție pentru cei cu dizabilități de vedere.
- Appium: o sursă deschisă populară, cross-platform framework care automatizează aplicațiile iOS prin driverul XCUITest de la Apple
XCTest și XCUITest: Cadrele de testare moderne de la Apple
OCUnit și UIAutomation sunt deja importante din istorie, dar ambele sunt acum retrase. Apple a înlocuit OCUnit cu XCTest in Xcode 5 (2013) și UIAutomation depreciat în Xcode 8 (2016) în favoarea Testul XCUIT, componenta de testare a interfeței utilizator din XCTest. Acestea sunt framework-urile de testare pe care Apple le livrează și le acceptă în fiecare versiune actuală a Xcode.
Cu XCTest, scrii teste unitare în Swift sau Objective-C și să le rulați din Xcode Navigator de teste xcodebuild linia de comandă, în Simulator sau pe dispozitive reale. XCUITest ghidează aplicația prin stratul de accesibilitate, astfel încât testele UI se comportă la fel ca un utilizator real.
| Cadrul vechi | Înlocuire modernă | Ce s-a schimbat |
|---|---|---|
| OCUnit (SenTestingKit) | XCTest | Aceleași concepte de testare unitară, acum integrate în fiecare Xcode șablon de proiect |
| Automatizare UI (Javascenariu) | Testul XCUIT | Testele UI sunt scrise în Swift sau Objective-C în loc de JavaScenariu |
👍 Sfat: Instrumente multiplatformă, cum ar fi Appium automatizați iOS prin XCUITest, astfel încât aceste abilități să fie transferate direct.
Testarea manuală
Automatizarea aduce viteză, dar tehnicile manuale de mai jos adaugă o judecată umană pe care scripturile nu o pot oferi.
Testarea exploratorie
Este vorba de testare fără un plan de testare formal. Testarea exploratorie este o metodă de testare ieftină, dar poate rata potențiale erori din aplicația iOS.
Testarea exploratorie Contra vs. Pro
| Pro | Contra | |
|---|---|---|
| 1. | Less este necesară pregătire; erorile grave sunt detectate din timp. | Necesită abilități înalte ale testatorului |
| 2. | Nu Planul de testare este necesar, ceea ce accelerează detectarea erorilor. | Acoperirea testului este scăzută. Nu garantează că toate cerințele dumneavoastră sunt testate. |
| 3. | Majoritatea erorilor sunt descoperite devreme printr-un fel de testare exploratorie | Lipsa documentației de testare |
Testarea utilizatorilor
Testarea utilizatorului este un tip de testare manuală pe iOS. Scopul acestei teste este de a crea aplicații mai bune, nu numai fără bug-uri aplicații. Figura de mai jos prezintă patru tipuri de testare a utilizatorilor.
Testarea conceptului
Evaluați reacția utilizatorului la o idee de aplicație înainte de a o lansa pe piață. Procedurile de testare a conceptului pe iOS sunt descrise în figura de mai jos.
Testarea utilizabilității
Testarea utilizabilității este un test al ușurinței utilizării aplicației iOS. În testarea iOS, un test de utilizabilitate poate fi inregistrata pentru a-și aminti sau pentru a împărtăși altora.
Câteva instrumente care acceptă testarea utilizabilității pe iOS sunt:
Trymata aplicații de testare pentru utilizatorii mobili pentru Android și iOS.
Încântare.io, acest instrument poate capta interacțiunea reală a utilizatorului în aplicațiile dvs. iOS.
Testare beta
Testarea beta este testarea de integrare cu date reale pentru a obține feedback final de la utilizatori. Pentru a distribui aplicațiile pentru testare beta, trebuie să urmați pașii de mai jos.
-Pre-condiționare: Dacă testați un candidat final pentru o versiune beta, asigurați-vă că validați aplicația înainte de a o distribui testerilor.
-Găsiți tester prin intermediul serviciuluiColectezi ID-urile dispozitivelor de la testeri și le adaugi în contul tău de dezvoltator Apple
-Creați distribuție ad-hocDistribuția ad-hoc permite testerului să ruleze aplicația pe dispozitivul său fără a fi nevoie Xcode. Acest pas include 2 sub-pași
- Creați certificate de distribuție
- Creați profiluri de furnizare ad-hoc
-Solicitați feedback de la testator: Testerii efectuează teste și vă trimit rapoarte de erori. După ce aplicația dvs. este lansată, puteți obține rapoartele de la App Store Connect (anterior iTunes conectați).
Notă: Astăzi, majoritatea echipelor distribuie versiuni beta cu TestFlight, care vă permite să invitați până la 10,000 de testeri externi fără a colecta manual ID-urile dispozitivelor.
A / B de testare
A / B de testare este una dintre cele mai puternice căi de a evaluați eficacitatea aplicației dvs. iOS. Folosește experimente randomizate cu două dispozitive, A și B.
Testarea A/B include trei pași principali
- Configurați un testPregătește 2 versiuni ale aplicației tale iOS (A și B) și o metrică de testare
- TestareTestați simultan cele 2 versiuni ale aplicației iOS de mai sus pe dispozitive.
- AnalizaMăsurați și selectați versiunea mai bună pentru lansare
Următoarele instrumente acceptă testarea A/B pe iOS.
- ridica: testare A/B atât pentru iOS, cât și AndroidPoate fi integrat în aplicația iOS și accelerează procesul de testare.
Cele mai bune practici pentru testarea A/B
- Definiți ţintă a testului dumneavoastră. Orice test este inutil fără o țintă.
- Ceas utilizatorii finali folosesc aplicația dvs. prima dată
- Alerga unu testare doar per actualizare. Vă economisește timp la efectuarea testelor
- monitor cu atenție testul. Poți învăța din test monitorizându-l.
Testare iOS Cele mai bune practici
Iată câteva sfaturi pe care ar trebui să le cunoașteți atunci când organizați testarea aplicației dvs. iOS
- Testați aplicația pe a dispozitiv real pentru a obține o imagine realistă asupra performanței
- Îmbunătăți metodele dvs. de testare, deoarece metodele tradiționale de testare nu mai sunt suficiente pentru a acoperi toate testele din testarea iOS
- Folosește jurnalul consolei pentru a testa aplicația iOS. Această funcție iOS include informații din fiecare aplicație de pe dispozitiv.
- Document erori de aplicație folosind captură de ecran încorporată comandă. Ajută dezvoltatorul să înțeleagă cum apar erorile.
- Raportarea accidentelor Instrumentele sunt utile atunci când testezi aplicația. Acestea pot detecta erori și pot înregistra detalii, astfel încât să poți investiga cu ușurință erorile.
MITURILE despre testarea iOS
Această secțiune examinează câteva mituri și realități populare ale testării iOS
Testarea aplicațiilor pe iOS și Android este același lucru.
iOS și Android sunt două platforme dezvoltate de Apple Inc. și Google respectiv. Acestea sunt total diferite în mediile de testare, cadrele de testare și limbajele de programare.
Testarea aplicației pe Simulatorul iOS este suficientă.
Simulatorul iOS nu este suficient de puternic pentru testarea unei aplicații, deoarece are unele limitări:
- Limitări hardware (cameră foto, intrare microfon, senzor)
- Interfața de utilizare a aplicației dvs. poate părea să ruleze atât mai rapid, cât și mai fluid decât pe un dispozitiv
- Limitări API
- Unele cadre neacceptate (Media Player, Store Kit, Message UI..)
Toată lumea va descărca aplicațiile mele din App Store pentru că au multe funcții.
Cu cât aplicația dvs. are mai multe caracteristici, cu atât puteți obține mai multe erori. Niciun utilizator nu va descărca aplicația dvs. dacă are încă multe defecte.

.png)











