Android APP testimise õpetus koos automatiseerimisraamistikuga
Miks Android Testimine?
Android on maailma suurim operatsioonisüsteem. Samal ajal Android on killustatud. seal on tonni seadmeid ja Android versioonid, millega teie rakendus peab ühilduma.
Pole tähtis, kui palju aega projekteerimisele ja juurutamisele investeerite, vead on vältimatud ja ilmnevad vead.
Android Testimisstrateegia
Õige Androidi testimisstrateegia peaks sisaldama järgmist
- Üksuse test
- Integratsiooni test
- Operariiklik test
- Süsteemi test
Ühiktestid
Ühiktestid hõlmavad ühe või mitme programmi komplekte, mis on loodud lähtekoodi tuumaühiku (nt meetodi või klassi) kontrollimiseks.
Android platvorm on eelintegreeritud Junit 3.0 raamistik. See on avatud lähtekoodiga raamistik automatiseerimiseks Üksuse testimine. Android Testing Framework on võimas tööriist arendajale tõhusa üksuse testimise programmi kirjutamiseks.
Ühiktestimise täienduseks on kasutajaliidese (UI) testid. Need testid on seotud teie sihtrakenduse kasutajaliidese komponentidega. Kasutajaliidese testid tagavad, et teie rakendus tagastab õige kasutajaliidese väljundi vastuseks kasutaja toimingute järjestusele seadmes.
Tavaline viis seadme kasutajaliidese testimiseks on Android Koosseis. Kuid sellel on jõudlusega probleeme. Üks parimaid tööriistu kasutajaliidese testimiseks Android is Robotium.
Integreerimistestid
In Integratsiooni testimine, kõik seadmega testitud moodulid on kombineeritud ja kontrollitud. sisse Android, hõlmavad integratsioonitestid sageli integratsiooni kontrollimistAndroid komponendid, nagu teenuse testimine, tegevuste testimine, sisupakkuja testimine jne
Integratsioonitestide läbiviimiseks kasutatakse palju testimisraamistikke Android nagu Troyd, Robolectric, Robotium.
Operariiklikud testid
- OperaNeid nimetatakse ka funktsionaalseteks testideks või aktsepteerimistestideks. Need on kõrgetasemelised testid, mille eesmärk on kontrollida rakenduse täielikkust ja õigsust.
- In Android, FitNesse on avatud lähtekoodiga raamistik, mis muudab sihtrakenduse töötestide läbiviimise lihtsaks.
Süsteemi testid
In Süsteemi testimine testitakse süsteemi tervikuna ning kontrollitakse komponentide, tarkvara ja riistvara koostoimet.
In AndroidSüsteemi testimine hõlmab tavaliselt
- GUI testid
- Kasutatavuse testid
- Jõudluskatsed
- Stressitestid
Ülaltoodud loendis Jõudluse testimine pööratakse rohkem tähelepanu. Võite kasutada selliseid tööriistu nagu Traceview jõudlustesti läbiviimiseks Android .See tööriist aitab teil oma rakendust siluda ja selle toimivust profileerida.
Automatiseeritud ANDROIDI TESTIMINE
Kuna android on killustatud, on vaja testida paljudes seadmetes. Kuid see maksab teile ka raha. Automatiseeritud Android Testimine võib aidata kulusid vähendada
Androidi automatiseeritud testimise eelised
- Vähendage testjuhtumite läbiviimise aega
- Suurendage oma arendusprotsessi tootlikkust
- Varajane vigade avastamine, säästa tarkvara hoolduskulusid
- Rakendamisel esinevad vead leiti ja parandati kiiresti
- Tagada tarkvara kvaliteet
Uurime kahte järgmist raamistikku
- Android Testimisraamistik
- Roboelektrilise testimise raamistik
Android testimise raamistik
Üks standardsetest testimisraamistikest Android taotlus on Android testimise raamistik. See on võimas ja hõlpsasti kasutatav testimisraamistik, mis on hästi integreeritud Android SDK tööriistad.
- Rakenduspakett on teie sihtrakendus, mida tuleb testida
- InstrumentationTestRunner on Testjuhtum jooksja, mis käivitab sihtrakenduses testjuhtumi. See sisaldab:
2a) Testimisvahendid: SDK tööriistad ehitamise testimiseks. Need on integreeritud Eclipse IDE või käivitage käsureal.
2b) MonkeyRunner: Tööriist, mis pakub API-sid programmide kirjutamiseks, mis juhivad Android seade või emulaator väljaspool Android kood.
- Testpakett on organiseeritud testprojektideks. See pakett järgib nimetamise tava. Kui testitava rakenduse paketi nimi on "com.mydomain.myapp", peaks testpakett olema "com.mydomain.myapp.test". Testpakett sisaldab 2 allolevat objekti:
3a) Testjuhtumite klassid: sisaldavad sihtrakenduses käivitatavaid testimeetodeid.
3b) Näidisobjektid: sisaldab näidisandmeid, mida kasutatakse testjuhtumite näidissisendina.
Android Testjuhtumite klassid
- TestCase hõlmab JUnit jooksmise meetodid JUnit test
- TestSuite kasutatakse testjuhtumite komplekti käivitamiseks
- InstrumentationTestSuite on TestSuite, mis sisestab instrumentatsiooni enne nende käivitamist InstrumentationTestCase'i.
- InstrumentationTestRunner on testjuhtumi käivitaja, mis käivitab sihtrakenduses testjuhtumi.
- AndroidTestCase laieneb JUnit TestCase. See sisaldab meetodeid ressurssidele, nagu tegevuse kontekst, juurdepääsuks.
- ApplicationTestCase kontrollib rakenduste klasse kontrollitud keskkonnas.
- InstrumentationTestCase kontrollib sihtrakenduse konkreetset funktsiooni või käitumist, näiteks rakenduse kasutajaliidese väljundi kontrollimiseks.
- ActivityTestCase on baasklass, mis toetab rakenduste tegevuste testimist.
- ProviderTestCase on klass ühe ContentProvideri testimiseks.
- ServiceTestCase kasutatakse teenuseklasside testimiseks testimiskeskkonnas. See toetab ka teenuse elutsüklit.
- SingeLauchActivityTestCase kasutatakse üksiku tegevuse testimiseks InstrumentationTestCase'iga.
- ActivityUnitTestCase kasutatakse üksiku isoleeritud aktiivsuse testimiseks.
- TegevusInstrumendi testijuhtum2 laiendab JUnit TestCase klass. See ühendab teid seadmete abil sihtrakendusega. Selle klassi abil pääsete juurde rakenduse GUI komponendile ja saate kasutajaliidesele kasutajaliidese sündmuse (klahvivajutuse või puutetundliku sündmuse).
Allpool on näide ActivityInstrumentationTestCase'ist. See kontrollib rakenduse Calculator kasutajaliidese toimimist, kontrollib kasutajaliidese väljundite õigsust.
Roboelektrilise testimise raamistik
Testimine kasutades Android Seadme või emulaatoriga raamistiku testimine on keeruline. Testi koostamine ja käitamine on aeglane ja nõuab palju arendustööd. Selle probleemi lahendamiseks on veel üks valik – Roboelektriline testimise raamistik.
Roboelektriline raamistik võimaldab teil joosta Android testid otse JVM-is ilma vajadus seadme või emulaatori järele.
Roboelektriliste katsejuhtumite klassid
- Nagu ülal näidatud, saab Robolectric teha järgmisi toiminguid:
- Registreeruge ja looge varjuklass
- Peatage laadimine Android klass
- Kasutab javaassisti meetodi kehade alistamiseks Android klass
- Seo Shadow objekt Android klass
- See võimaldab testitavat koodi ilma käivitada Android keskkond.
Teised testimise raamistik
Lisaks ülalmainitud testimisraamistikele on palju teisi testimisraamistikke, näiteks:
- Android Juniti aruanne, kohandatud mõõteriistade testija Android mis genereerib XML-aruandeid integreerimiseks teiste tööriistadega.
- Expresso
- Appium
Müüdid Android Testimine
Paljud ettevõtted arendavad Androidi Testimine strateegiad, mis põhinevad levinud väärarusaamadel. Selles jaotises käsitletakse mõnda populaarset müüti ja tegelikkust Android katsetamine.
Müüt nr 1: kõik Android seadmed on samad... piisab emulaatorite testimisest
Alustame lihtsa näitega. Rakendus töötab emulaatorites suurepäraselt, kuid mõnes reaalses seadmes jookseb see täitmise ajal kokku
Emulaatorid on ei piisa mobiili testimiseks. Peate oma rakendust testima päris seadmetes.
Müüt nr 2: piisab mõne levinud seadme testimisest
- Erinevates seadmetes näeb teie rakendus välja erinev, kuna erinevatel seadmetel on erinev riistvara, ekraanisuurused, mälu jne. Peate oma rakendust testima erinevates seadmetes, OS-i versioonides, operaatorivõrkudes ja asukohtades.
Müüt#3: Piisab uurimuslikust testimisest vahetult enne käivitamist
- Üldiselt kavandame kõigi testimiste puhul testjuhtumid ja seejärel teostame need. Kuid uurimusliku testimise puhul tehakse testi kavandamine ja teostamine kõik koos.
- Uuriva testimise puhul pole plaani ega ettevalmistust, siis testija teeks teste, mida ta tahab teha. Mõnda funktsiooni testitakse korduvalt, samas kui mõnda funktsiooni täielikult ei testita.
Müüt#4: kui rakenduses on vigu, saavad kasutajad aru
- Kui rakendus ei tööta ja sellel on vigu, desinstallivad kasutajad teie rakenduse
- Kvaliteediprobleemid on Google Play halva arvustuse esimene põhjus. See mõjutab teie mainet ja kaotate klientide usalduse.
Seetõttu on oluline omada õiget Androidi testimisstrateegiat
Parimad tavad sisse Android Testimine
- Rakenduste arendajad peaksid katsejuhtumid looma samal ajal, kui nad koodi kirjutavad
- Kõik testjuhtumid tuleks salvestada versioonikontrollis koos lähtekoodiga
- Kasutage pidevat integreerimist ja testige iga kord, kui koodi muudetakse
- Vältige emulaatorite ja juurdunud seadmete kasutamist