Vodič za testiranje aplikacije za iOS: ručno i automatizacija
Što je testiranje iOS aplikacije?
Testiranje iOS aplikacije je proces testiranja u kojem se iOS aplikacija testira na stvarnim Apple uređajima kako bi se provjerilo radi li prema očekivanjima ili ne za određene radnje korisnika kao što su vrijeme instalacije, korisničko sučelje, korisničko iskustvo, izgled, ponašanje, funkcionalnost, vrijeme učitavanja, performanse, aplikacija Unos u trgovini, podrška za verziju OS-a itd.
Zašto testiranje iOS aplikacija?
Testiranje iOS aplikacije potreban jer je iOS Appleova platforma za mobilne aplikacije koja je objavljena 29. lipnja 2007. Za razliku od Android, Apple ne licencira iOS za instalaciju na hardver koji nije Appleov. iOS i iOS aplikacije mogu se instalirati samo na Apple uređaje, stoga vaša iOS aplikacija mora biti kompatibilna s verzijama iOS-a i iOS uređajima.
Ovo je uobičajeno pitanje kada programer kreira iOS aplikaciju.
Nije važno koliko vremena uložite u dizajn i implementaciju, pogreške su neizbježne, a bugovi će se pojaviti. Postoje neke uobičajene greške u iOS aplikaciji. Kao što je prikazano na slici ispod.
Rušenje aplikacije
Jedan od najfrustrirajućih problema pri korištenju Appleovih uređaja je taj što se aplikacija može često rušiti tijekom izvođenja. Mnogo se puta aplikacija ruši jer postoje pogreške ili curenje memorije u aplikacijama.
Nekompatibilnosti aplikacije
Vaša iOS aplikacija može raditi savršeno na trenutnoj verziji iOS-a, ali ako je iOS nadograđen, možda neće raditi zbog problema s nekompatibilnošću.
Sigurnosna ranjivost
Sigurnosna ranjivost u iOS-u omogućuje hakeru da napadne vaše iOS uređaje i ukrade vaše privatne podatke. Do sada su ozbiljne sigurnosne ranjivosti iPhonea otkrivene u različitim verzijama iOS-a.
Propuštanje memorije
Curenje memorije blokovi su dodijeljene memorije koje program više ne koristi. Curenje memorije uzrokuje rušenje vaše iOS aplikacije.
To su greške i uvijek ih treba popraviti.
iOS testiranje MindMapa
Kao što je prikazano na gornjoj slici, iOS Ispitivanje MindMap prikazuje sve stavke koje ispitivač treba uzeti u obzir kada provodi testiranje na iOS-u.
Kontrolni popis za testiranje iOS aplikacija
Ovaj popis za provjeru posebno je osmišljen za testiranje karakteristika iOS mobilnih aplikacija. Očito, testira samo generičke karakteristike aplikacije, a ne njezinu funkcionalnost.
- Provjerite vrijeme potrebno za instalaciju aplikacije na uređaj. Provjerite je li aplikacija instalirana unutar prihvatljivog vremena.
- Nakon što je aplikacija instalirana, provjerite ima li aplikacija ikonu i naziv aplikacije. Također, provjerite jesu li ikona i naziv sami po sebi jasni i odražavaju temeljnu namjeru aplikacije.
- Pokrenite aplikaciju i provjerite je li prikazan početni zaslon.
- Provjerite vrijeme čekanja početnog zaslona i vrijeme potrebno za učitavanje početnog zaslona. Početni zaslon aplikacije trebao bi se učitati unutar prihvatljivog vremena. Ako samo početnom zaslonu treba više vremena za učitavanje, postoji veća mogućnost da korisnik izađe ili čak deinstalira samu aplikaciju. Također provjerite kako se sadržaj učitava na početnom zaslonu.
- Glavna funkcija aplikacije trebala bi biti vidljiva odmah. Trebao bi govoriti sam za sebe.
- Provjerite podržava li aplikacija i pejzažnu i portretnu orijentaciju. Ako je tako, provjerite aplikaciju u oba usmjerenja. Korisničko sučelje aplikacije trebalo bi se postaviti u skladu s tim.
- Bez internetske veze pokrenite aplikaciju. Pobrinite se da se aplikacija ponaša kako je dizajnirano/željeno. Postoji mogućnost da se aplikacija sruši prilikom pokretanja ili da samo prikaže prazan zaslon.
- Ako aplikacija koristi usluge lokacije, provjerite prikazuje li se upozorenje o dopuštenju lokacije ili ne. Ovo bi se upozorenje korisniku trebalo poslati samo jednom.
- Ako aplikacija šalje push obavijesti, provjerite prikazuje li se upozorenje o dopuštenju push obavijesti ili ne. Ovo bi upozorenje također trebalo biti upućeno korisniku samo jednom.
- Pokrenite aplikaciju, zatvorite je i ponovno pokrenite. Provjerite ponaša li se aplikacija kako je dizajnirano/željeno
- Zatvorite aplikaciju dodirivanjem tipke Home na uređaju i ponovno otvorite aplikaciju. Provjerite radi li aplikacija kako je dizajnirano/željeno.
- Nakon instaliranja, provjerite je li aplikacija navedena u aplikaciji postavki iPhonea.
- Nakon što se aplikacija objavi, provjerite može li se aplikacija pronaći u “App Storeu”. Za aplikaciju će postojati podržana verzija OS-a. Dakle, provjerite može li se aplikacija pronaći u "App Storeu" tih podržanih verzija OS-a. Također, aplikacija ne bi trebala biti navedena u "App Storeu" uređaja s nepodržanom verzijom OS-a.
- Provjerite ide li aplikacija u stanje mirovanja kada radi u pozadini kako biste spriječili pražnjenje baterije.
- Ako je izvedba aplikacije spora ili kad god se sadržaj učitava, provjerite postoji li ikona statusa napretka ("Učitavanje..."), po mogućnosti s određenom porukom.
- Pretražite aplikaciju s njezinim nazivom u traci za pretraživanje uređaja. Provjerite je li aplikacija navedena
- Provjerite nije li u aplikaciji promijenjen izgled gumba koji izvode standardne radnje (na primjer: osvježi, organiziraj, baci u smeće, odgovori, vrati se itd.)
- Provjerite koriste li se standardni gumbi za druge funkcije osim onih za koje se inače koriste
Strategija testiranja iOS-a
Donja slika predstavlja neke uobičajene vrste iOS strategije testiranja.
Automatizirano testiranje
Automatizirano testiranje najveća je prednost iOS testiranja. Omogućuje vam brzo otkrivanje grešaka i problema s performansama. Prednosti automatskog testiranja kao što je prikazano u nastavku:
- Automatizirano testiranje može se izvoditi na više uređaja, štedeći vaše vrijeme
- Automatizirano testiranje može ciljati SDK-ove. Možete pokrenuti test na različitim verzijama SDK-a
- Automatizirano testiranje povećava vašu produktivnost testiranja, štedi troškove razvoja softvera
- Postoje mnogi okviri za testiranje otvorenog koda koji podržavaju automatizirano testiranje na iOS-u
Jedinično testiranje s OCUnitom
Kad je originalni iOS SDK objavljen, nedostajalo je Ispitivanje jedinice mogućnostima. Dakle, Apple je vratio OCUnit jedinično testno rješenje u iOS SDK verziji 2.2.
OCUnit je okvir za testiranje za C-Objective u Mac OS-u. Najveće prednosti OCUnit okvira su uska integracija u Xcode razvojno okruženje kao što je prikazano u nastavku.
Neke od prednosti OCUnita prikazane su na slici ispod.
Testiranje korisničkog sučelja s UIAutomation
Automatizacija korisničkog sučelja je JavaScript biblioteku koju pruža Apple Inc, a koja se može koristiti za izvođenje automatiziranog testa na stvarnim uređajima i na iOS Simulatoru. Ovaj okvir je dodan u iOS SDK4.0. Korištenjem UI automatizacije možete automatizirati testiranje aplikacije ne samo na simulatoru već i na stvarnom uređaju.
UIAutomation vam donosi sljedeće prednosti:
- Smanjite napor na Ručno ispitivanje
- Koristite manje memorije za izvođenje svih vaših testova
- Pojednostavite svoju proceduru testiranja korisničkog sučelja (samo pritisnite jedan ili tri gumba i pokrenite pune pakete testova)
UIAutomation instrument radi iz skripti, koje su napisane u JavaSkripta. Simulira korisničke događaje na ciljnoj iOS aplikaciji.
Protiv UIAutomation naspram prednosti
Prozodija | Cons | |
---|---|---|
1. | Dobra podrška za geste i rotaciju | Nije otvorenog koda, manje podrške od programera |
2. | Može pokrenuti UIAutomation testove na uređaju, ne samo na simulatoru. | Ne može se vrlo dobro integrirati s drugim alatima |
3. | Razvijen od JavaSkripta, to je popularan programski jezik. |
Gornja slika predstavlja neke uobičajene klase u okviru UIAutomation.
- The UIAElement klasa je super klasa za sve elemente korisničkog sučelja u kontekstu automatizacije
- The UIATarget klasa predstavlja elemente korisničkog sučelja visoke razine sustava koji se testira
- The UIALogger klasa pruža informacije o testu i pogrešci o funkciji dohvaćanja
- The UIAActivityViewklasa omogućuje pristup i kontrolu prikaza aktivnosti unutar vaše aplikacije.
- The UIAActionSheet klasa omogućuje pristup i kontrolu akcijskih listova unutar vaše aplikacije.
- korisnik Radnja događaja
- UISlider klasa
- Klasa UIAButton
- Klasa UIAKey
- Klasa tipkovnice UIA
Ostali okviri za automatsko testiranje
- Frank: Automatizirano Prihvaćanje testa okvir za iPhone i iPad
- KAKO : je iOS integracijski test okvir. Omogućuje jednostavnu automatizaciju iOS aplikacija iskorištavanjem atributa pristupačnosti koje OS čini dostupnima osobama s oštećenjima vida.
Ručno testiranje
Istraživačko ispitivanje
To je testiranje bez formalnog plana testiranja. Eksploratorno testiranje je jeftina metoda testiranja, ali može propustiti potencijalne greške u vašoj iOS aplikaciji.
Eksploratorno testiranje Protiv naspram prednosti
Prozodija | Cons | |
---|---|---|
1. | Less potrebna je priprema, rano otkrivanje ozbiljnih grešaka. | Zahtijeva visoku vještinu ispitivača |
2. | Ne treba Plan testiranja ubrzati otkrivanje grešaka. | Pokrivenost testom je niska. Ne jamči da su svi vaši zahtjevi testirani. |
3. | Većina bugova rano se otkrije nekom vrstom istraživačkog testiranja | Nedostatak dokumentacije o ispitivanju |
Testiranje korisnika
Korisničko testiranje je vrsta ručnog testiranja na iOS-u. Svrha ovog testiranja nije samo stvaranje boljih aplikacija bez grešaka aplikacije. Donja slika prikazuje četiri vrste testiranja korisnika
Testiranje koncepta
Procijenite korisnički odgovor na ideju aplikacije prije puštanja na tržište. Postupci testiranja koncepta na iOS-u opisani su u nastavku
Ispitivanje upotrebljivosti
Ispitivanje upotrebljivosti je test koliko je lako koristiti vašu iOS aplikaciju. U testiranju iOS-a, test upotrebljivosti bi mogao biti zabilježio zapamtiti ili podijeliti s drugima.
Postoje neki alati koji podržavaju testiranje upotrebljivosti na iOS-u.
TryMyUI aplikacije za testiranje mobilnih korisnika Android i iOS.
Oduševljenje.io, ovaj alat može snimiti stvarnu interakciju korisnika na vašim iOS aplikacijama.
Beta testiranje
Beta testiranje je integracijsko testiranje sa stvarnim podacima kako biste dobili konačne povratne informacije od korisnika. Da biste distribuirali svoje aplikacije za beta testiranje, morate slijediti korake u nastavku.
-Pre-uređaj: Ako testirate beta verziju konačnog kandidata za izdanje, provjerite valjanost aplikacije prije nego što je distribuirate testerima.
-Pronađite testera putem servisa: prikupljate ID-ove uređaja od testera i dodajete ih u Centar za članove
-Stvorite ad-hoc distribuciju: Ad Hoc distribucija omogućuje testeru pokretanje vaše aplikacije na svom uređaju bez potrebe Xcode. Ovaj korak uključuje 2 pod-koraka
- Stvorite distribucijske certifikate
- Stvorite Ad-hoc profile za pružanje usluga
-Traži povratne informacije od ispitivača: Tester provodi testiranje i šalje vam izvješća o greškama. Nakon što vaša aplikacija bude objavljena, možete dobiti izvješća od iTunes Spojiti.
A / B testiranje
A / B testiranje jedan je od najmoćnijih načina za procijenite učinkovitost vaše iOS aplikacije, Koristi randomizirani eksperimenti s dva uređaja, A i B.
A/B testiranje uključuje tri glavna koraka
- Konfigurirajte test: Pripremili smo 2 verzije vaše iOS aplikacije (A i B) i testnu metriku
- test: Testirajte 2 gore navedene verzije iOS aplikacija na uređajima istovremeno.
- Analizirati: Izmjerite i odaberite bolju verziju za puštanje
Sljedeći alati podržavaju A/B testiranje na iOS-u.
- Ustani: A/B testiranje za iOS i Android. Može se integrirati u vašu iOS aplikaciju i ubrzati proces testiranja.
Najbolje prakse za A/B testiranje
- Definirajte meta vašeg testa. Svaki test je beskoristan bez cilja.
- Gledaj krajnji korisnici koriste vašu aplikaciju prvi put
- trčanje jedan testirati samo po ažuriranju. Štedi vaše vrijeme prilikom provođenja testiranja
- Monitor svoj test pažljivo. Možete naučiti iskustva iz svog testa tako da ga nadgledate.
iOS testiranje Najbolja praksa
Evo nekoliko savjeta koje biste trebali znati kada organizirate testiranje svoje iOS aplikacije
- Testirajte aplikaciju na a pravi uređaj kako bismo shvatili performanse
- Poboljšati svoje metode testiranja, jer tradicionalne metode testiranja više nisu dovoljne za pokrivanje svih testova na iOS testiranju
- Korištenje dnevnik konzole za testiranje iOS aplikacije. Ovo je značajka iOS-a koja uključuje informacije iz svake aplikacije na uređaju.
- dokument korištenje grešaka u aplikaciji ugrađeni zaslon kratki naredba. Pomaže programeru razumjeti kako se greške pojavljuju.
- Izvještavanje o padu je koristan alat za testiranje vaše aplikacije. Oni mogu otkriti padove i zabilježiti detalje tako da možete lako istražiti greške.
MITOVI o iOS testiranju
Ovaj odjeljak ispituje nekoliko popularnih mitova i stvarnosti testiranja iOS-a
Testiranje aplikacije na iOS-u i Android su ista stvar
iOS i Android dvije su platforme koje su razvili Apple Inc i Google. Oni su potpuno drugačiji. Testna okruženja itd., testni okviri, programski jezici.
Dovoljno je testirati aplikaciju na iOS Simulatoru.
iOS Simulator nije dovoljno jak za testiranje aplikacije. Budući da iOS Simulator ima neka ograničenja:
- Hardverska ograničenja (kamera, ulaz za mikrofon, senzor)
- Može se činiti da korisničko sučelje vaše aplikacije radi brže i lakše nego na uređaju
- API ograničenja
- Neki okviri nisu podržani (Media Player, Store Kit, Message UI..)
Svatko će preuzeti moje aplikacije u trgovini aplikacija jer ima mnogo značajki
Što više značajki vaša aplikacija ima, to više grešaka možete dobiti. Nijedan korisnik neće preuzeti vašu aplikaciju ako još uvijek ima mnogo nedostataka.