iOS-i rakenduste testimise õpetus: käsitsi ja automatiseerimine
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 29. juunil 2007. Erinevalt Android, Apple 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 ühilduma iOS-i versioonide ja iOS-i seadmetega.
See on levinud küsimus, kui arendaja loob iOS-i rakenduse.
Pole tähtis, kui palju aega te disainile ja teostusse panustate, vead on vältimatud ja ilmnevad vead. iOS-i rakenduses on mõned tavalised vead. Nagu on näidatud alloleval joonisel.
Rakendus jookseb kokku
Üks masendavamaid probleeme Apple'i seadmete kasutamisel on see, et rakendus võib täitmise ajal sageli kokku jooksma. Sageli jookseb rakendus kokku, kuna rakendustes on vigu või mälulekkeid.
Rakenduste kokkusobimatus
Teie iOS-i rakendus võib praeguses iOS-i versioonis ideaalselt töötada, kuid kui iOS-i uuendatakse, ei pruugi see ühildumatuse probleemide tõttu töötada.
Turvahaavatavus
IOS-i turvahaavatavus võimaldab häkkeril rünnata teie iOS-i seadmeid ja varastada teie privaatset teavet. Seni avastatakse erinevates iOS-i versioonides iPhone'i tõsiseid 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 üksusi, mida testija peaks iOS-i testimisel arvesse võtma.
iOS-i rakenduste testimise kontroll-loend
See kontroll-loend on spetsiaalselt loodud iOS-i mobiilirakenduste omaduste testimiseks. Ilmselgelt testib see ainult rakenduse üldisi omadusi, mitte selle funktsionaalsust.
- Kontrollige rakendusel seadmesse installimise aega. Veenduge, et rakendus oleks installitud 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, peegeldades rakenduse põhieesmärki.
- Käivitage rakendus ja kontrollige, kas kuvatakse pritskuva.
- Kontrollige avakuva ajalõpu ja avakuva laadimiseks kuluvat aega. Rakenduse avakuva peaks laadima vastuvõetava aja jooksul. Kui avakuva laadimine võtab rohkem aega, on kasutajal suurem võimalus rakendusest väljuda või isegi desinstallida. Samuti kontrollige avakuval, kuidas sisu laaditakse.
- Rakenduse põhifunktsioon peaks koheselt ilmnema. See peaks rääkima enda eest.
- Kontrollige, kas rakendus toetab nii horisontaal- kui ka vertikaalpaigutust. Kui jah, kontrollige rakendust mõlemas suunas. Rakenduse kasutajaliides peaks olema vastavalt seadistatud.
- Ilma Interneti-ühenduseta käivitage rakendus. Veenduge, et rakendus käituks nii, nagu kavandatud/soovitud. On võimalus, et rakendus võib selle käivitamisel kokku kukkuda või kuvab lihtsalt tühja ekraani.
- Kui rakendus kasutab asukohateenuseid, siis kontrollige, kas asukohaloa hoiatust kuvatakse või mitte. Seda hoiatust tuleks kasutajale esitada ainult üks kord.
- Kui rakendus saadab tõukemärguandeid, kontrollige, kas tõuketeatise loa hoiatus on kuvatud või mitte. Seda hoiatust tuleks kasutajale esitada ainult üks kord.
- Käivitage rakendus, sulgege see ja käivitage uuesti. Kontrollige, kas rakendus käitub nii, nagu kavandatud/soovitud
- Sulgege rakendus, puudutades seadme kodunuppu ja avage rakendus uuesti. Kontrollige, kas rakendus töötab nii, nagu kavandatud/soovitud.
- Pärast installimist kontrollige, kas rakendus on iPhone'i seadete rakenduses loetletud.
- Pärast rakenduse avaldamist kontrollige, kas rakendus on App Store'is leitav. Rakenduse jaoks on toetatud OS-i versioon. Seega veenduge, et rakendus oleks leitav nende toetatud OS-i versioonide seadme App Store'ist. Samuti ei tohiks rakendus olla toetamata operatsioonisüsteemi versiooni seadme App Store'is.
- 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.
- Otsige rakendust selle nimega seadme otsinguribal. Kontrollige, kas rakendus on loendis
- Kontrollige, kas standardtoiminguid tegevate nuppude välimust rakenduses ei muudeta (nt värskendamine, korraldamine, prügikast, vastamine, tagasi jne).
- Kontrollige, kas standardnuppe ei kasutata muude funktsioonide jaoks, kui neid tavaliselt kasutatakse
iOS-i testimisstrateegia
Allolev joonis tutvustab mõnda levinud iOS-i testimisstrateegia tüüpe.
Automatiseeritud testimine
Automatiseeritud testimine on iOS-i testimise kõige rohkem eeliseid. See võimaldab teil kiiresti tuvastada vead ja jõudlusprobleemid. Automaattestimise eelised, nagu allpool näidatud:
- Automaattestimine võib töötada mitmes seadmes, mis säästab teie aega
- Automaattestimine võib sihtida SDK-sid. Saate testida erinevatel SDK versioonidel
- Automatiseeritud testimine suurendab teie testimise tootlikkust ja säästab teie tarkvaraarenduse kulusid
- iOS-i automaattestimist toetavad paljud avatud lähtekoodiga testimisraamistikud
Seadme testimine OCUnitiga
Kui algne iOS SDK välja anti, puudus see Üksuse testimine võimeid. Nii et Apple on tagasi toonud OCUnit ühikutesti lahendus iOS SDK versioonis 2.2.
OCUnit on C-Objective'i testimise raamistik Mac OS-is. OCUniti raamistiku suurimad eelised on tihe integreeritus X-kood arenduskeskkond, nagu allpool näidatud.
Mõned OCUniti eelised on näidatud alloleval joonisel.
UI testimine UIAutomationiga
UI automatiseerimine on JavaScript Apple Inc. pakutav teek, mida saab kasutada automaatse testi tegemiseks reaalsetes seadmetes ja iOS-i simulaatoris. See raamistik lisatakse iOS-i SDK4.0-le. UI Automationi abil saate automatiseerida rakenduse testimist mitte ainult simulaatoris, vaid ka reaalses seadmes.
UIAutomation pakub teile järgmisi eeliseid:
- Vähendage pingutust Käsitsi testimine
- Kasutage kõigi testide sooritamiseks vähem mälu
- Lihtsustage kasutajaliidese testimise protseduuri (vajutage lihtsalt ühte või kolme nuppu ja käivitage oma testkomplektid täis)
UIAutomation instrument töötab skriptidest, mis on sisse kirjutatud JavaSkript. See simuleerib kasutaja sündmusi iOS-i sihtrakenduses.
UIAutomation miinused vs plussid
Plusse | Miinused | |
---|---|---|
1. | Hea tugi žestile ja pööramisele | See pole avatud lähtekoodiga, vähem arendaja tuge |
2. | Saab seadmes käitada UIAutomationi teste, mitte ainus simulaator. | Ei saa eriti hästi integreerida teiste tööriistadega |
3. | Välja töötanud JavaSkript, see on populaarne programmeerimiskeel. |
Ülaltoodud joonis kujutab mõnda UIAutomationi raamistiku levinumat klassi.
- . 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
- . UIAActivityViewklass 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 raamistik iPhone'i ja iPadi jaoks
- KUIDAS : 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.
Käsitsi testimine
Uurimuslik testimine
See on testimine ilma ametliku testiplaanita. Uurimuslik testimine on odav testimismeetod, kuid see võib teie iOS-i rakenduse võimalikest vigadest ilma jääda.
Uurimusliku testimise miinused vs plussid
Plusse | Miinused | |
---|---|---|
1. | Less Ettevalmistus on vajalik, avastage tõsised vead varakult. | Nõuab testija kõrget oskust |
2. | Pole vaja Katseplaan kiirendada vea 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 rakendusi. Alloleval joonisel on neli kasutajatestimise tüüpi
Kontseptsiooni testimine
Enne turule laskmist hinnake kasutaja reaktsiooni rakenduse ideele. IOS-i kontseptsiooni testimise protseduure kirjeldatakse järgmiselt
Kasutatavuse testimine
Kasutatavuse testimine on test, kui lihtne on oma iOS-i rakendust kasutada. iOS-i testimisel võiks kasutatavuse test olla dokumenteeritud meenutada või teistega jagada.
Mõned tööriistad toetavad iOS-i kasutatavuse testimist.
TryMyUI 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 tegelike 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 seadme ID-sid ja lisate need Liikmekeskus
-Looge ad-hoc jaotus: Ad Hoc levitamine võimaldab testijal teie rakendust oma seadmes ilma vajaduseta käivitada Xcode. See samm sisaldab 2 alametappi
- Looge turustussertifikaadid
- Looge ad-hoc-ettevalmistusprofiilid
-Küsige testijalt tagasisidet: Testija viib läbi testimisi ja saadab teile veaaruandeid. Pärast rakenduse avaldamist saate aruandeid hankida aadressilt iTunes ühendage.
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 test: valmistasite ette iOS-i rakenduse 2 versiooni (A ja B) ja testmõõdiku
- test: katsetage seadmetes korraga kahte iOS-i rakenduse versiooni.
- Analüüsima: mõõtke ja valige vabastamiseks parem versioon
Järgmised tööriistad toetavad iOS-is A/B testimist.
- Tõuse: A/B testimine nii iOS-i kui ka Android. Selle saab integreerida teie iOS-i rakendusse ja muuta testimisprotsess 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 testida ainult värskenduse kohta. See säästab teie aega testimisel
- Jälgida oma testi hoolikalt. Testi jälgides saate kogemusi õ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 jõudlusest tõeks saamiseni
- Parandama teie testimismeetodid, sest traditsioonilised testimismeetodid ei ole enam piisavad, et hõlmata kõiki iOS-i testimise teste
- Kasutamine konsooli logi iOS-i rakenduse testimiseks. See on iOS-i funktsioon, mis sisaldab teavet kõigi seadme rakenduste kohta.
- Dokument rakenduse vead sisseehitatud ekraan lühike käsk. See aitab arendajal mõista, kuidas vead ilmnevad.
- Krahhiste aruandlus on rakenduse testimisel kasulikud tööriistad. Nad 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
Testimisrakendus iOS-is ja Android on sama asi.
iOS ja Android on kaks platvormi, mille töötasid välja Apple Inc ja Google. Nad on täiesti erinevad. Jne testkeskkonnad, testiraamistikud, programmeerimiskeeled.
Piisab testirakendusest iOS Simulaatoris.
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, kuna sellel 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.