Mobiilirakenduste testimise juhend algajatele
Nagu mis tahes muud tarkvara, tuleb ka mobiilirakendusi enne väljalaskmist põhjalikult testida, et veenduda, et kõik töötab täpselt nii, nagu ette nähtud.
Kuigi mobiilirakenduste testimine on niigi pikk ja tülikas protsess, on uute pihuarvutite mobiilseadmete, operatsioonisüsteemi versioonide ja rakenduste testimise tööriistade igapäevane kasutuselevõtt muutnud mobiilirakenduste testijate töö keerulisemaks ja väljakutsuvamaks kui kunagi varem.
Kui olete algaja, kes plaanib oma karjääri mobiilirakenduste testimisel alustada, aitab see juhend teil selle kohta kõike õppida. Alustame mõistmisega, mis mobiilirakenduste testimine tegelikult on!
Mis on mobiilirakenduse testimine?
Tänapäeva tiheda konkurentsiga ülemaailmsel turul, kus mobiilirakenduse edu määrab selle allalaadimiste koguarv, selle teenitud positiivsed arvustused ja edetabel rakenduste poes, teie äsja arendatud mobiilirakendus kasutajate meelitamiseks, kaasamiseks ja hoidmiseks peab olema laitmatu ning seda saab saavutada ainult range mobiilirakenduse testimisega.
Mobiilirakenduse testimine on sisuliselt mobiilirakenduse vigade otsimise ja parandamise protsess, et parandada selle üldist kvaliteeti, funktsionaalsust, kasutatavust ja järjepidevust ning muuta see kasutajate jaoks võimalikult veatuks. Kas käsitsi või automaatselt mobiilirakenduste testimistööriistade või mõlema kombinatsiooni abil teostatav mobiilirakenduse testimine, kui seda tehakse õigesti, ei taga mitte ainult kasutajatele laitmatut ja rahuldavat kasutuskogemust, vaid mängib ka olulist rolli rakenduse populaarseks muutmisel ja õnnestub peaaegu lühikese aja jooksul. Lühidalt, mobiilirakenduste testimine on see, mida iga rakendus peab olema veatu, edukas ja kvaliteetne.
Mobiilirakenduste testimise peamised väljakutsed
Mobiilirakenduste testimine on palju keerulisem kui traditsiooniline lauaarvutite testimine ja esitab seetõttu testijatele ja arendajatele täiesti uued väljakutsed. Allpool on loetletud peamised väljakutsed, millega testijad mobiilirakenduse kvaliteedi ja toimivuse parandamisel silmitsi seisavad.
Erinevat tüüpi mobiilirakendused:
Iseenesest suur väljakutse, kuna mobiilirakendus võib olla nii kohalik, veebi- kui ka hübriidrakendus. Kuna iga rakenduse tüüp on üles ehitatud erinevalt ja üksteisest nii installiprotsessi kui ka funktsionaalsuse poolest üsna erinev, tuleb seda testida täiesti erineval viisil. Põhiline erinevus iga rakendusetüübi vahel toob mobiilirakenduste testimisele kaasa mitmeid väljakutseid.
Lai valik mobiilseadmeid:
Üks suurimaid väljakutseid, millega mobiilirakenduste testijad silmitsi seisavad, on tänapäeval turul saadaolevate mobiilseadmete lai valik. Nende hulka kuuluvad nutitelefonid, tahvelarvutid, e-lugerid, kantavad seadmed ja mis tahes muud lähitulevikus ilmuvad mobiilseadmed. Erinevate ekraanisuuruste, eraldusvõimete, sisestusmeetodite ja riistvaravõimalustega seadmed esitavad mobiilirakenduste testijatele täiesti ainulaadsed väljakutsed.
OS-i mitmekesisus:
Erinevad mobiilseadmed kasutavad erinevaid operatsioonisüsteeme ja konkreetse operatsioonisüsteemi erinevaid versioone kasutavad erinevad seadmed igal ajahetkel. Näiteks Androidil on endiselt kasutusel 8 erinevat OS-i versiooni; teisest küljest kasutab 65% Apple’i seadmetest iOS 11, samas kui iOS 10 on installitud 28% Apple’i seadmetesse ja 7% kasutab endiselt iOS-i varasemaid versioone. Ühe rakenduse testimine mitmes mobiilseadmes, mis töötavad sama OS-i erinevates versioonides, on mobiilirakenduste testijatele ainulaadne väljakutse.
Lugematud tootjad:
Teine suur väljakutse, millega testijad peavad tegelema, on mobiilseadmete tootjate pidevalt kasvav arv. 2015 aastal oli mobiiliseadmete tootjaid napilt 1200 ja 2018. aasta alguses on nende arv küündinud juba üle 1600. Kahtlemata need numbrid lähiaastatel ainult suurenevad. Erinevad riist- ja tarkvaramuudatused, mida tootjad oma mobiilseadmetes üksteisest eristamiseks teevad, mõjutavad otseselt rakenduse toimimist, muutes testimisprotsessi veelgi keerukamaks ja väljakutsuvamaks.
Ühenduvusprobleemid:
Tõhus tegelemine mitmesuguste ühenduvusvõimalustega, nagu erinevad mobiilsidevõrgud (2G/3G/4G LTE/4G VoLTE ja nüüd 5G), Wi-Fi, Bluetooth, infrapuna jne, pole vähem kui happeproov. Igasuguste ühenduvusrežiimide puhul peab rakendus töötama sujuvalt erinevates võrgutingimustes, nagu mobiilsidevõrgu muutus, rändlus, nõrgad võrgusignaalid, võrgu levi puudumine, aeglane ühenduse kiirus jne. Seda väljakutset aga suureks probleemiks ei loeta üks võrguühenduseta rakenduse jaoks.
Pidev testimine:
Tänasel konkurentsitihedal turul ellujäämiseks tuleb mobiilirakendust sageli uute funktsioonide ja täiustustega värskendada. Selle nõude täitmiseks eelistavad paljud arendajad traditsioonilise Waterfalli lähenemisviisi asemel kasutada Agile Methodology, mis viib mobiilirakenduse pideva integreerimise ja juurutamiseni. Järelikult on rakendust vaja pidevalt testida, et tagada kõigi täiustuste korrektne teostamine. See on ka mobiilirakenduste testijatele väga keeruline praktika!
Testimisviisi valimine:
Teine takistus, mida testijad peavad ületama, on sobiva mobiilirakenduse testimismeetodi valimine koos õigete mobiilirakenduste testimisvahenditega. Teisest küljest, kus mobiilirakenduste testimiseks kasutatakse peamiselt kahte lähenemisviisi (käsitsi ja automatiseeritud), on turg täis mitmesuguseid automatiseeritud mobiilirakenduste testimise tööriistu, mistõttu on õigete testimisvahendite valimine väga segane ja tüütu ülesanne, välja arvatud juhul, kui ühel on eelnevalt planeeritud testimisstrateegia.
Erinevat tüüpi mobiilirakenduste testimine
Nagu iga muud tarkvara, tuleb ka mobiilirakendust rangelt testida, et tagada tipptasemel kvaliteet, kasutatavus ja turvalisus. Sama saavutamiseks kasutatakse mobiilirakenduste arendamise käigus mitut tüüpi testimismetoodikat. Vaatame, mis need on ja kuidas need üksteisest erinevad.
Funktsionaalse kasutajaliidese testimine:
Funktsionaalne testimine, mis on kõige elementaarsem testimise tüüp, tagab, et rakendus töötab ideaalselt vastavalt eelnevalt määratletud kasutajanõuetele. Neid teste tehakse tavaliselt selleks, et kontrollida, kas rakenduse kasutajaliides ja kõnevoog töötavad korralikult. Kui aga funktsionaalset testimist teha käsitsi, osutub see mitme mobiilispetsiifilise väljakutse tõttu sageli äärmiselt intensiivseks, keeruliseks ja aeganõudvaks ülesandeks.
Kasutatavuse testimine:
Kuna kasutatavus mängib iga mobiilirakenduse ärilise edu määramisel üliolulist rolli, keskendub kasutatavuse testimine peamiselt kolmele kasutajakogemuse põhivaldkonnale: tõhusus, tõhusus ja kasutajate rahulolu. Need testid viiakse läbi, et tagada kasutajakogemuse järjepidevus kõigis seadmetes ja kontrollida, kas mobiilirakendust on lõppkasutajatele lihtne kasutada või mitte.
Ühilduvuse testimine:
Ühilduvustesti tehakse, et kontrollida, kas rakendus renderdab hästi erinevates mobiilseadmetes, ekraanisuurustes, brauserites, eraldusvõimetes ning OS-i platvormides ja versioonides. Näiteks nutitelefonis korralikult töötav mobiilirakendus võib tahvelarvutis käituda hoopis teistmoodi. Seega hindab ühilduvuse testimine rakenduse funktsionaalsust erinevatel mobiilseadmetel ja platvormidel.
Mälu lekke testimine:
Mälu lekke testimine, tuntud ka kui madala taseme ressursside testimine, viitab kontrollimisele, kui tõhusalt rakendus kasutab selle mobiilseadme sisseehitatud mälu, milles seda kasutatakse. See hõlmab peamiselt üldise mälukasutuse testimist, ajutiste failide automaatset kustutamist pärast teatud perioodi ja kohaliku andmebaasi kasvavaid probleeme. Kuna mobiilseadmete mälu on lauaarvutitega võrreldes väga piiratud, on mälulekke testimine mobiilirakenduse nõuetekohase toimimise tagamiseks erakordselt oluline.
Toimivustest:
Jõudlustestimise põhieesmärk on tagada, et rakendus suudab toime tulla erinevate mobiilseadmete väljakutsetega, nagu halb võrgu leviala, ühenduse vahetamine mobiilsidevõrgust Wi-Fi-le, millegi jagamine väljaspool rakendust, tühi aku või mälu, rakendus kiirus, rakenduse samaaegne kasutamine paljude kasutajate poolt ja muud sarnased tingimused. Teisisõnu viiakse läbi jõudlustestimine mobiilirakenduse, võrgu ja serveri jõudluse kontrollimiseks.
Katkestused/töökatsed:
Rakendust võivad töötamise ajal häirida mitmed mobiilseadmes toimuvad sündmused, nagu kõned või SMS-id, hüpikteated, toitekaabli sisestamine või eemaldamine, aku eemaldamine, võrgu katkestus ja taastamine, aku tühjenemise hoiatus jne. Katkestuste testimine teostatakse selleks, et kontrollida, kas mobiilirakendus suudab kõiki neid katkestusi taluda, sulgedes end iga kord, kui sündmus aset leiab ja pärast seda automaatselt taaskäivitades.
Paigaldamise testimine:
Installitestimine kontrollib, kas rakendust saab installida, desinstallida või värskendada mõistliku aja jooksul, ilma et kasutajal tekiks raskusi. Selles testimisetapis ei hoolitse mobiilirakenduse testijad mitte ainult nende kolme protsessi käigus tekkida võivate kokkujooksmiste eest, vaid tagavad ka, et pärast desinstallimisprotsessi lõppu eemaldatakse kõik rakenduse andmed täielikult seadme mälust.
Turvatestimine:
See hõlmab erinevate tehnikate abil, nagu haavatavuse skannimine, logivaated, läbitungimistestid, sõjavalimised, viiruste tuvastamine, paroolide murdmine jne. Turvatesti eesmärk on parandada mobiilirakenduse konfidentsiaalsust, autentsust ja terviklikkust.
Lokaliseerimise testimine:
Lokaliseerimise testimine tagab mobiilirakenduse kasutatavuse, funktsionaalsuse ja juurdepääsetavuse paljudes geograafilistes piirkondades ja ajavööndites. Seda tüüpi testimine viiakse läbi eelkõige siis, kui plaanite oma rakenduse tõlkida mitmesse keelde või levitada seda erinevates riikides. Lokaliseerimise testimist peetakse rakenduse kvaliteedikontrolli testimise viimaseks etapiks.
Regressioonitest:
Seda tüüpi testimine hõlmab varem läbiviidud edukate testide taaskäivitamist tagamaks, et rakenduse koodis tehtud muudatused ei toonud uuesti kasutusele vanu ega uusi vigu. Kuna regressiooniteste saab läbi viia ikka ja jälle mis tahes nelja testimistaseme (ühik, integratsioon, süsteem ja aktsepteerimine) ajal, on need ideaalne kandidaat automatiseeritud testimiseks.
Kasulikud näpunäited võitnud mobiilirakenduste testimisstrateegia kohta
Kui soovite mobiilirakenduste testimisel tõesti võita, on selge ja jõulise testimisstrateegia väljatöötamine midagi, mida te ei tohi kahe silma vahele jätta. Korralik mobiilirakenduste testimise strateegiline plaan mitte ainult ei aita teil hõlpsalt ületada ülalmainitud mobiilirakenduste testimise väljakutseid, vaid säästab teid ka masendavatest rakenduste tagasilükkamise stsenaariumidest. Järgmised on parimad tavad, mida peate oma mobiilirakenduse tõhusaks ja tulemuslikuks testimiseks järgima.
Automaatne vs. käsitsi testimine:
Mobiilirakenduste testimist, nagu juba eespool mainitud, saab teha kas käsitsi või automaatsete mobiilirakenduste testimise tööriistade, nagu Appium, SeeTest, Selenium ja Ranorex, abil. Kuna mobiilirakenduse erinevatel elutsüklietappidel kasutatakse kas üht või mõlemat lähenemisviisi, peate olema asjatundja nende vahel valiku tegemisel vastavalt olukorrale. Kuna automaatne mobiilirakenduse testimine on eduka regressioonitestimise võti erinevates arendusfaasides, tuleks seda teha ainult järgmistel juhtudel:
- Teil on kõige sagedasemad testjuhtumid
- Testjuhtumitel on prognoositavad tulemused
- Testjuhtumeid on lihtne automatiseerida
- Testjuhtumid on väga aeganõudvad või neid on võimatu käsitsi teha
- Rakendus kasvab pidevalt
- Mobiilirakenduse arendamise elutsükkel on väga pikk
Vastupidi, rakenduste käsitsi testimise lähenemisviis põhineb inimese panusel, analüüsil või hindamisel ning seda tuleks kasutada juhul, kui rakendus sisaldab uusi funktsioone või funktsioone või vajab testimist ainult üks või kaks korda.
Emulaatorid vs. füüsilised seadmed:
Nii nagu kahte lähenemisviisi, on ka mobiilirakenduse testimiseks kaks peamist viisi: kas virtuaalse seadme emulaatorite või reaalsete füüsiliste seadmete kaudu. Kuigi seadmete emulaatorite kasutamine osutub rakenduste arendamise algfaasis põhifunktsioonide testimisel äärmiselt kasulikuks, ei tööta need testimise hilisemates etappides, näiteks beetatestides, sama tõhusalt kui füüsilised mobiilseadmed. Mobiilseadmete emulaatoreid on kolme tüüpi:
- Seadme emulaator: pakuvad seadme tootjad.
- Brauseri emulaator: simuleerib brauserites renderdamist mobiilseadmete jaoks.
- Operatsioonisüsteemi emulaator: pakub operatsioonisüsteem ise.
Parimate testimistulemuste kiireks ja tõhusaks saamiseks testige oma mobiilirakendust esmalt emulaatorites, et tuvastada ja parandada võimalikult palju vigu. Kui testimise tase on rahuldav, võite hakata testima oma rakendust füüsilistes mobiilseadmetes, et stsenaarium oleks reaalsem.
Õigete mobiilseadmete mudelite valik:
Otsustamine, millist seadet või seadme mudelit mobiilirakenduse testimiseks kasutada, on tõenäoliselt esimene asi, mis igale testijale reaalset testimiskeskkonda luues pähe tuleb. See võib mõnikord olla tõesti raske otsus, sest teie valitud seadmed määravad, kuidas teie rakendus töötab miljardites teistes sarnastes seadmetes. Seetõttu tuleks sihtseadme valimisel arvesse võtta kolme peamist tegurit:
- OS-i versioon
- Ekraani suurus ja eraldusvõime
- Vormitegur
Vajadusel ärge kartke seadme mudeli valimisel arvestada mitmete muude teguritega, nagu sisemälu, ühenduvusvõimalused jne.
Kaaluge pilvtestimist:
Testimistöö täiesti uuele tasemele viimiseks võite proovida ka pilvandmetöötlusel põhinevat mobiilirakenduse testimist. Veebipõhise mobiilirakenduse testimiskeskkonna pakkumise kaudu võimaldab pilvtestimine teil oma mobiilirakendusi kiiresti ja tõhusalt juurutada, testida ja hallata. Lisaks projekti üldkulude ja aja vähendamisele pakub pilvepõhine rakenduste testimine teile ka mitmeid muid eeliseid, näiteks:
- Väga skaleeritavad, täielikult sünkroonitud ja eelkonfigureeritud testimiskeskkonnad
- Pole vaja investeerida muudesse täiustatud testimistööriistadesse, ressurssidesse ega konfiguratsioonidesse
- Vähendab vigade tekkimise võimalust, mis on põhjustatud ekslikult loodud või ebastabiilsest testkeskkonnast
- Säästab testijaid kohapealsete testkeskkondade loomisest, mis on väga aeganõudvad ja põhjustavad sageli projekti viivitusi
- Toetab keerukate, dünaamiliste ja erinevate rakenduste testimist, mis on ettevõttesiseses keskkonnas peaaegu võimatu.
- Reaalajas testimise tulemused
- Automaatne varundamine ja taastamine
Korraldage beetatestimine:
Beetatestimine on suurepärane ja tõhus viis mobiilirakenduse funktsionaalsuse ja kasutatavuse analüüsimiseks tegelike lõppkasutajate abiga, kes kasutavad pärismaailma seadmeid. See etapp viiakse läbi selleks, et kontrollida, kui hästi rakendus päris seadmetes ja võrkudes toimib, ning tagada, et kõik vead on enne käivitamist parandatud. Kui testite rakendust iOS-i jaoks, saate beetaversiooni testimise haldamiseks kasutada tasuta tööriista TestFlight võimsust.
Samuti saate Google Play Console’i abil levitada oma Androidi rakendust usaldusväärsetele kasutajatele ja testijatele beetatestimiseks erinevate Google’i gruppide või Google+ kogukondade kaudu.