iOS-i rakenduste testimise õpetus
⚡ Nutikas kokkuvõte
iOS-i rakenduste testimine kontrollib, kas rakendus installitakse, toimib ja käitub Apple'i seadmetes õigesti. See ühendab käsitsi tehnikaid automatiseeritud raamistikega nagu XCTest ja XCUITest, et varakult tuvastada krahhe, ühildumatusi ja mälulekkeid.

Mis on iOS-i rakenduste testimine?
iOS-i rakenduste testimine on testimisprotsess, mille käigus testitakse iOS-i rakendust päris Apple'i seadmetes, et kontrollida, kas see töötab ootuspäraselt või mitte teatud kasutajatoimingute puhul, nagu installiaeg, kasutajaliides, kasutajakogemus, välimus, käitumine, funktsionaalsus, laadimisaeg, jõudlus, rakendus Poe kirje, OS-i versiooni tugi jne.
Miks iOS-i rakenduste testimine?
iOS-i rakenduste testimine on vajalik, kuna iOS on Apple'i mobiilirakenduste platvorm, mis ilmus esmakordselt 29. juunil 2007. Erinevalt AndroidApple ei litsentsi iOS-i installimiseks mitte-Apple'i riistvarale. iOS-i ja iOS-i rakendusi saab installida ainult Apple'i seadmetesse; seega peab teie iOS-i rakendus olema ühilduv teie kasutajate iOS-i versioonide ja iOS-seadmetega.
Allolev joonis näitab levinud küsimusi, millega arendajad iOS-i rakenduste loomisel kokku puutuvad.
Pole tähtis, kui palju aega disaini ja rakendamisse investeerite; vead on vältimatud ja vead ilmnevad. Allolev joonis näitab mõningaid iOS-i rakenduste levinud vigu.
Rakendus jookseb kokku
Üks Apple'i seadmete kasutamisel kõige frustreerivamaid probleeme on see, et rakendus võib täitmise ajal sageli kokku kukkuda. Sageli jookseb rakendus kokku koodivigade või mälulekete tõttu.
Rakenduste kokkusobimatus
Teie iOS-i rakendus võib praeguses iOS-i versioonis laitmatult töötada, kuid iOS-i uuendamisel ei pruugi see ühilduvusprobleemide tõttu töötada.
Turvahaavatavus
iOS-i turvaauk võimaldab häkkeril rünnata teie iOS-seadmeid ja varastada teie privaatset teavet. Aastate jooksul on erinevates iOS-i versioonides avastatud tõsiseid iPhone'i turvaauke.
Mälu lekib
Mälulekked on eraldatud mälu plokid, mida programm enam ei kasuta. Mälulekked põhjustavad teie iOS-i rakenduse krahhi.
Need on vead ja need tuleks alati parandada.
iOS testimine MindMap
Nagu ülaltoodud joonisel näidatud, iOS Testimine MindMap näitab kõiki aspekte, mida testija peaks iOS-is testimisel arvestama.
iOS-i rakenduste testimise kontroll-loend
See kontroll-leht on spetsiaalselt loodud iOS-i mobiilirakenduste omaduste testimiseks. Loomulikult testib see ainult rakenduse üldisi omadusi, mitte rakenduse funktsionaalsust.
- Kontrollige rakenduse seadmesse installimiseks kuluvat aega. Veenduge, et rakendus installitakse vastuvõetava aja jooksul.
- Kui rakendus on installitud, kontrollige, kas rakendusel on rakenduse ikoon ja nimi. Samuti veenduge, et nii ikoon kui ka nimi oleksid iseenesestmõistetavad ja kajastaksid rakenduse põhieesmärki.
- Käivitage rakendus ja kontrollige, kas kuvatakse avakuva.
- Kontrollige avakuva ajalõppu ja avakuva laadimisele kuluvat aega. Rakenduse avakuva peaks laadima vastuvõetava aja jooksul. Kui avakuva laadimine võtab liiga kaua aega, on suurem tõenäosus, et kasutaja rakendusest väljub või isegi desinstallib selle. Samuti kontrollige, kuidas sisu avakuvale laaditakse.
- Rakenduse põhifunktsioon peaks koheselt ilmnema. See peaks rääkima enda eest.
- Kontrolli, kas rakendus toetab nii horisontaal- kui ka vertikaalpaigutust. Kui jah, siis kontrolli rakendust mõlemas orientatsioonis. Rakenduse kasutajaliides peaks vastavalt kohanduma.
- Käivitage rakendus ilma internetiühenduseta. Veenduge, et rakendus käitub ettenähtud/soovitud viisil. On võimalus, et rakendus võib käivitamisel kokku kukkuda või kuvada lihtsalt tühja ekraani.
- Kui rakendus kasutab asukohateenuseid, siis kontrollige, kas asukohaloa hoiatus kuvatakse või mitte. See hoiatus peaks kasutajale ilmuma ainult üks kord.
- Kui rakendus saadab tõuketeateid, siis kontrollige, kas tõuketeatiste loahoiatus kuvatakse või mitte. See hoiatus peaks kasutajale ilmuma ainult üks kord.
- Käivitage rakendus, sulgege see ja käivitage uuesti. Kontrollige, kas rakendus käitub ettenähtud/soovitud viisil.
- Sulgege rakendus puudutusegaping seadme avakuvanuppu ja avage rakendus uuesti. Kontrollige, kas rakendus töötab ettenähtud/soovitud viisil.
- Pärast installimist kontrollige, kas rakendus on iPhone'i seadete rakenduses loetletud.
- Pärast rakenduse avaldamist kontrollige, kas see on leitav rakenduste poest (App Store). Rakendusel on toetatud operatsioonisüsteemi versioonid. Seega veenduge, et rakendus oleks leitav toetatud operatsioonisüsteemi versioonidega seadmete rakenduste poest (App Store). Samuti ei tohiks rakendus olla loetletud toetamata operatsioonisüsteemi versioonidega seadmete rakenduste poes (App Store).
- Kontrollige, kas rakendus läheb taustal töötades unerežiimile, et vältida aku tühjenemist.
- Kui rakenduse jõudlus on aeglane või sisu laadimisel, kontrollige, kas kuvatakse edenemise oleku ikoon (“Laadimine…”), eelistatavalt konkreetse sõnumiga.
- Otsi rakendust selle nime järgi seadme otsinguribalt. Kontrolli, kas rakendus on loendis.
- Kontrollige, kas rakenduses pole muudetud standardtoiminguid tegevate nuppude välimust (näiteks: värskenda, korralda, prügikast, vasta, tagasi jne).
- Kontrollige, kas standardseid nuppe ei kasutata muude funktsioonide jaoks peale nende, milleks neid tavaliselt kasutatakse.
iOS-i testimisstrateegia
Kui teate, mida kontrollida, on järgmine samm selle testimine. Allolev joonis tutvustab mõningaid levinud iOS-i testimisstrateegiaid.
Automatiseeritud testimine
Automaattestimine on iOS-i testimise üks suurimaid eeliseid. See võimaldab teil kiiresti tuvastada vigu ja jõudlusprobleeme. Automaattestimise eelised on toodud allpool:
- Automaattestimine võib töötada mitmes seadmes, mis säästab teie aega
- Automaattestimine saab sihtida SDK-sid. Teste saab käivitada erinevate SDK versioonidega.
- Automatiseeritud testimine suurendab teie testimise tootlikkust ja säästab tarkvaraarenduskulusid
- iOS-is on palju avatud lähtekoodiga testimisraamistikke, mis toetavad automatiseeritud testimist.
Seadme testimine OCUnitiga
Kui algne iOS SDK välja anti, puudus see Üksuse testimine võimed. Seega tõi Apple turule OCUnit ühiktesti lahendus iOS SDK versiooni 2.2.
OCUnit oli Objective-C testimisraamistik Macis (nüüd macOS). OCUnit raamistiku suurim eelis oli selle tihe integreeritus Xcode arenduskeskkond, nagu allpool näidatud.
Märge: OCUnit (SenTestingKit) on aegunud; alates Xcode 5, Apple'i XCTest raamistik on selle standardina asendanud – vaadake allpool olevat XCTesti jaotist. Siinsed ekraanipildid näitavad vanemat Xcode versiooni.
Mõned OCUniti eelised on näidatud alloleval joonisel.
UI testimine UIAutomationiga
Kasutajaliidese automatiseerimine oli JavaScript Apple Inc. pakutav teek, mida saab kasutada automatiseeritud testide tegemiseks nii reaalsetes seadmetes kui ka iOS Simulatoris. See raamistik lisati iOS SDK 4.0-sse. Kasutajaliidese automatiseerimise abil saab rakenduse testimist automatiseerida mitte ainult simulaatoris, vaid ka reaalses seadmes.
Märge: Apple'i aegunud kasutajaliidese automatiseerimine Xcode 8 (2016) ja hiljem eemaldas selle. Uute kasutajaliidese testimisprojektide jaoks kasutage XCUITesti; allolevad klassid ja ekraanipildid kajastavad vanemat tööriistaketti.
UIAutomation tõi kaasa järgmised eelised:
- Väiksem pingutus Käsitsi testimine
- Kõigi testide tegemiseks on vaja vähem pingutusi
- Kasutajaliidese testimise protseduuri lihtsustamine (vajutage vaid paarile nupule ja käivitage täielikud testimiskomplektid)
UIAutomationi tööriist töötas skriptide abil, mis on kirjutatud keeles JavaSkript. See simuleeris kasutajasündmusi iOS-i sihtrakenduses.
UIAutomationi miinused vs. plussid
| Plusse | Miinused | |
|---|---|---|
| 1. | Hea tugi žestile ja pööramisele | See pole avatud lähtekoodiga, vähem arendaja tuge |
| 2. | Saab UIAutomationi teste käivitada seadmes, mitte ainult simulaatoris. | Ei saa eriti hästi integreerida teiste tööriistadega |
| 3. | Välja töötatud aastal JavaScript, populaarne programmeerimiskeel. |
Ülaltoodud joonis kujutab mõningaid UIAutomation raamistiku levinud klasse.
- . UIAElement klass on kõigi kasutajaliidese elementide superklass automatiseerimise kontekstis
- . UIATarget klass esindab testitava süsteemi kõrgetasemelisi kasutajaliidese elemente
- . UIALogger klass pakub otsingufunktsioonide testi- ja veateavet
- . UIAActivityView klass võimaldab juurdepääsu teie rakenduse tegevusvaadetele ja nende kontrolli.
- . UIAA tegevusleht klass võimaldab juurdepääsu teie rakenduse tegevuslehtedele ja nende kontrolli.
- Kasutaja Sündmuse tegevus
- UISlider klass
- UIAButoni klass
- UIAKey klass
- UIAKlaviatuuri klass
Muud automatiseeritud testimise raamistikud
- Avameelne: Automatiseeritud Vastuvõtutest iPhone'i ja iPadi raamistik (enam aktiivselt ei hooldata)
- KIF: on iOS integratsiooni test raamistik. See võimaldab iOS-i rakendusi hõlpsalt automatiseerida, kasutades juurdepääsetavuse atribuute, mille OS teeb nägemispuudega inimestele kättesaadavaks.
- Appium: populaarne avatud lähtekoodiga tarkvara platvormiülene raamistik, mis automatiseerib iOS-i rakendusi Apple'i XCUITest draiveri kaudu
XCTest ja XCUITest: Apple'i kaasaegsed testimisraamistikud
OCUnit ja UIAutomation on olulised ajalooallikad, kuid mõlemad on nüüdseks pensionil. Apple asendas OCUniti järgmisega: XCTest in Xcode 5 (2013) ja aegunud UIAutomation Xcode 8 (2016) poolt XCUITest, XCTesti kasutajaliidese testimise komponent. Need on testimisraamistikud, mida Apple pakub ja toetab igas praeguses versioonis Xcode.
XCTesti abil kirjutate ühikteste Swift või Objective-C-s ja käivitage need Xcode Test Navigator xcodebuild käsureal, simulaatoris või päris seadmetes. XCUITest juhib teie rakendust läbi ligipääsetavuse kihi, seega käituvad kasutajaliidese testid sarnaselt päris kasutajaga.
| Pärandraamistik | Kaasaegne asendamine | Mis muutus |
|---|---|---|
| OCUnit (SenTestingKit) | XCTest | Samad ühiktestimise kontseptsioonid, nüüd igasse sisse ehitatud Xcode projekti mall |
| UIAutomation (JavaSkript) | XCUITest | Kasutajaliidese testid on kirjutatud Swift või Objective-C asemel JavaScript |
👍 Vihje: Platvormideülesed tööriistad, näiteks Appium automatiseerida iOS-i XCUITesti abil, nii et need oskused kanduvad otse üle.
Käsitsi testimine
Automatiseerimine toob kiirust, kuid allpool toodud käsitsi tehtud tehnikad lisavad inimliku otsustusvõime, mida skriptid pakkuda ei suuda.
Uurimuslik testimine
See on testimine ilma ametliku testimisplaanita. Uuriv testimine on odav testimismeetod, kuid see võib teie iOS-i rakenduses potentsiaalseid vigu märkamata jätta.
Uurimusliku testimise miinused vs plussid
| Plusse | Miinused | |
|---|---|---|
| 1. | Less Vajalik on ettevalmistus; tõsised vead avastatakse varakult. | Nõuab testija kõrget oskust |
| 2. | Ei Katseplaan on vajalik, mis kiirendab vigade tuvastamist. | Testi katvus on madal. See ei garanteeri, et kõik teie nõuded on testitud. |
| 3. | Enamik vigu avastatakse varakult mingisuguse uurimusliku testimise teel | Testimisdokumentide puudumine |
Kasutaja testimine
Kasutajatestimine on iOS-i käsitsi testimise tüüp. Selle testimise eesmärk on luua paremaid rakendusi, mitte ainult veavaba rakendused. Allolev joonis näitab nelja tüüpi kasutajatestimist.
Kontseptsiooni testimine
Hinnake kasutajate reaktsiooni rakenduse ideele enne selle turule toomist. Kontseptsiooni testimise protseduure iOS-is on kirjeldatud alloleval joonisel.
Kasutatavuse testimine
Kasutatavuse testimine on test, mis hindab teie iOS-i rakenduse kasutamise lihtsust. iOS-i testimisel saab kasutatavustesti teha dokumenteeritud meenutada või teistega jagada.
Mõned tööriistad, mis toetavad iOS-i kasutatavuse testimist, on järgmised:
Trymata mobiilikasutajate testimisrakendused Android ja iOS.
Delight.io, saab see tööriist jäädvustada teie iOS-i rakendustes tegelikku kasutaja interaktsiooni.
Beetatestimine
Beetatestimine on integratsiooni testimine päris andmetega, et saada kasutajatelt lõplikku tagasisidet. Rakenduste beetatestimiseks levitamiseks peate järgima alltoodud samme.
-Eeltingimus: kui testite väljalaske lõplikku kandidaati beetatestimisel, kinnitage rakendus enne selle testijatele levitamist.
-Otsige tester teenuse kaudu: kogute testijatelt seadmete ID-sid ja lisate need oma Apple'i arendajakontole
-Looge ad-hoc jaotusAd Hoc levitamine võimaldab testijal teie rakendust oma seadmes käivitada ilma, et peaksin Xcode. See samm sisaldab 2 alametappi
- Looge turustussertifikaadid
- Looge ad-hoc-ettevalmistusprofiilid
-Küsige testijalt tagasisidet: Testijad viivad läbi teste ja saadavad teile veaaruandeid. Pärast rakenduse avaldamist saate aruanded hankida aadressilt App Store Connect (varem iTunes Ühenda).
Märge: Tänapäeval levitavad enamik meeskondi beetaversioone TestFlight, mis võimaldab teil kutsuda kuni 10 000 välist testijat ilma seadmete ID-sid käsitsi kogumata.
A / B testimise
A / B testimise on üks võimsamaid viise hinnata oma iOS-i rakenduse tõhusust. Ta kasutab randomiseeritud katsed kahe seadmega, A ja B.
A/B testimine sisaldab kolme põhietappi
- Seadistage testValmista ette oma iOS-i rakenduse kaks versiooni (A ja B) ning testimismõõdik
- testTesti kahte ülaltoodud iOS-i rakenduse versiooni seadmetes samaaegselt.
- AnalüüsimaMõõtke ja valige väljaandmiseks parem versioon
Järgmised tööriistad toetavad A/B-testimist iOS-is.
- Tõuse: A/B testimine nii iOS-i kui ka AndroidSelle saab integreerida teie iOS-i rakendusse ja see muudab testimisprotsessi kiiremaks.
A/B testimise parimad tavad
- Määratlege sihtmärk teie testist. Iga katse on kasutu ilma sihtmärgita.
- Watch lõppkasutajad kasutavad teie rakendust esimest korda
- jooks üks testi ainult iga värskenduse kohta. See säästab teie aega testimise ajal
- Jälgida oma testi hoolikalt läbi. Testi jälgides saad sellest õppida.
iOS-i testimine Parim tava
Siin on mõned näpunäited, mida peaksite iOS-i rakenduse testimise korraldamisel teadma
- Testige rakendust a päris seade et saada realistlik ülevaade sooritusest
- Parandama teie testimismeetodid, sest traditsioonilised testimismeetodid ei ole enam piisavad kõigi iOS-i testimise testide katmiseks
- Kasuta konsooli logi iOS-i rakenduse testimiseks. See iOS-i funktsioon sisaldab teavet iga seadme rakenduse kohta.
- Dokument rakenduse vead, mis kasutavad sisseehitatud ekraanipilt käsk. See aitab arendajal mõista, kuidas vead tekivad.
- Krahhiste aruandlus Tööriistad on rakenduse testimisel kasulikud. Need suudavad tuvastada krahhe ja logida üksikasju, et saaksite vigu hõlpsalt uurida.
MÜÜDID iOS-i testimise kohta
Selles jaotises käsitletakse iOS-i testimise mõnda populaarset müüti ja tegelikkust
Rakenduste testimine iOS-is ja Android on sama asi.
iOS ja Android on kaks Apple Inc. poolt välja töötatud platvormi ja Google vastavalt. Need on testimiskeskkondade, testimisraamistike ja programmeerimiskeelte poolest täiesti erinevad.
Rakenduse testimisest iOS-i simulaatoris piisab.
iOS-i simulaator pole rakenduse testimiseks piisavalt tugev, kuna iOS-i simulaatoril on mõned piirangud:
- Riistvarapiirangud (kaamera, mikrofoni sisend, andur)
- Teie rakenduse kasutajaliides võib näida töötavat kiiremini ja sujuvamalt kui seadmes
- API piirangud
- Mõnda raamistikku ei toetata (meediumipleier, poe komplekt, sõnumi kasutajaliides...)
Kõik laadivad minu rakendused rakenduste poest alla, sest neil on palju funktsioone.
Mida rohkem funktsioone teie rakendusel on, seda rohkem vigu võite saada. Ükski kasutaja ei laadi teie rakendust alla, kui sellel on endiselt palju defekte.

.png)











