android app testing tutorial
Zbierka základných znalostí pred testovaním aplikácií pre Android:
Ako už sám názov napovedá, v tomto tutoriáli sa budeme zaoberať viac procesom testovania systému Android.
Predtým, ako sa dostanem do rôznych podrobností procesu testovania systému Android, by som chcel položiť niekoľko otázok.
Vlastníte mobilný telefón?
Aká hlúpa je táto otázka! „Samozrejme, že všetci. Každý má mobilný telefón. Mobilné telefóny sa v dnešnej dobe stali základnou nevyhnutnosťou ľudskej existencie.
Môžete mi povedať operačný systém, ktorý je v telefóne?
Ak ste si telefón kúpili v rokoch 2014 - 2016, potom je pravdepodobné, že váš telefón bude fungovať v systéme Android, okolo 80 - 85%.
Čo sa dozviete:
- Rast systému Android
- Úvod do aplikácie pre Android
- Zoznam „úloh“ pred začiatkom procesu testovania
- Testovanie typov mobilných aplikácií
- Osvedčené postupy pri testovaní aplikácií pre Android
- Testovací rámec Android
- Záver
- Odporúčané čítanie
Rast systému Android
Nasledujúce štatistiky popisujú viac informácií o raste systému Android ľahko pochopiteľným spôsobom.
- V roku 2009 bol Android nováčikom a predstavoval iba 3,9% z celkového trhu.
- Hlavným prispievateľom bol potom operačný systém Symbian s ohromným počtom 47% [Zlaté dni spoločnosti Nokia].
- Tento trend sa začal v priebehu rokov meniť a Android v roku 2016 dosiahol 85,2%.
[ zdroj obrázku ]
- Vyššie uvedené čísla sú iba pre mobilné telefóny. Android OS má tiež veľký vplyv v priemysle tabletov. Zo 4,4% podielu na trhu v roku 2011 na 35,7% v roku 2015 sa hovorí o záujme, ktorý ľudia vyvíjajú smerom k tabletovým zariadeniam so systémom Android.
[ zdroj obrázku ]
- Obchod Google Play tiež zaznamenal rýchly nárast počtu sťahovaných súborov. Od roku 2010 do roku 2016 sa počet zvýšil z 1 miliardy stiahnutí mesačne na 65 miliárd stiahnutí mesačne.
- Na sťahovanie aplikácií má veľký vplyv aj nízka cena [priemer: 0,06 $ / aplikácia] aplikácií pre Android v porovnaní s aplikáciami pre iOS.
Prečo som ťa previedol cez všetky tie čísla?
Bolo to len preto, aby ste si uvedomili, aký obrovský Android narástol, aký zložitý bol vývoj aplikácií a aký veľký trh tento OS v poslednom desaťročí zaujal.
Každá webová stránka, aplikácia pre Windows a Mac App má teraz súrodenca pre Android. Každý sa chystá vyvinúť aplikáciu pre Android hneď, ako plánuje vytvoriť aplikáciu pre web / Windows. Teraz je to nevyhnutné, pretože zákazníci tiež v posledných rokoch začali uprednostňovať mobilné aplikácie pred počítačovými aplikáciami alebo webovými stránkami.
Niektoré z aplikácií, ktoré sa pri každodenných činnostiach veľmi často používajú, sú Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp atď.
Dôvod nárastu na trhu s Androidom je ten, že:
- Je to otvorený systém, takže je ľahké ho prispôsobiť, ľahko sa naučiť a dokonca aj vývoj aplikácií je ľahší.
- Zverejnenie aplikácie v obchode Google Play je v porovnaní s ostatnými obchodmi Play celkom jednoduché.
- Existuje niekoľko výrobcov na trhu s telefónmi s Androidom, ako sú Sony, HTC, Samsung, Motorola atď.
- Android obsahuje veľké množstvo funkcií, ako napríklad DualSIM, microSD, vymeniteľná batéria atď., Čo je jeho ďalšou výhodou.
- Cena telefónov s Androidom nie je príliš vysoká a je cenovo dostupná atď.
Spolu s požiadavkou na vývoj aplikácií pre Android sa zvýšila aj požiadavka na testerov, ktorí majú skúsenosti s testovaním systému Android.
Ako tester musíte predtým, ako začnete testovať ľubovoľnú aplikáciu pre Android, pripraviť veľa domácich úloh. Prvá vec, ktorú musíte urobiť, je študovať OS a jeho históriu. Ak nepoznáte operačný systém, nemôžete aplikáciu otestovať proti rôznym verziám. Základné funkcie verzie OS, používateľské rozhranie, GPS, podpora typov sietí, výdrž batérie atď., Sú niektoré z dôležitých aspektov, ktoré ovplyvňujú aplikáciu.
S Androidom nie je potrebné študovať iba OS, ale aj nepreberné množstvo zariadení.
Na trhu je k dispozícii veľké množstvo zariadení, a preto pred dokončením a zmrazením testovacieho zariadenia musíte zistiť podiel zariadení cieľového publika. Rôzne zariadenia ponúkajúce rôzne funkcie, ako napríklad DualSIM, duálny fotoaparát, rozlíšenie obrazovky, témy atď., Ovplyvňujú aplikáciu a je potrebné ich otestovať.
Preto je pre QA veľmi dôležité zhromaždiť komplexné vedomosti o úplnom ekosystéme Android.
Úvod do aplikácie pre Android
Existuje niekoľko metód testovania, po ktorých nasleduje úspešná certifikácia aplikácie pre Android.
Typická architektúra aplikácie pre Android by vyzerala podobne ako na nasledujúcom diagrame:
ako otvoriť nový projekt v zatmení
Na základe vyššie uvedeného obrázku existujú pre aplikáciu dve možnosti:
1) Mobilná aplikácia pre webovú aplikáciu: Je možné, že zákazník má webovú aplikáciu a chce pre ňu vytvoriť aj mobilnú aplikáciu. Amazon, Jabong, Myntra atď., Urobili to isté a v okamihu, keď mobilné aplikácie začali vytvárať rozmach na trhu, tieto obchodné spoločnosti si uvedomili, že čoskoro ľudia prejdú od webových aplikácií k mobilným aplikáciám.
2) Mobilná aplikácia ako samostatný obchodný subjekt: Testoval som podobnú logistickú aplikáciu, aby som zvýšil podnikanie, vytvoril samostatnú aplikáciu pre svojich vodičov, ktorá uľahčila plynulé dodanie a odstránil papierovanie.
Vodiči mali aplikáciu nainštalovanú vo svojich telefónoch na presun zásielky do rôznych fáz doručenia a ich zodpovedajúceho stavu a aktualizácie doručenia sa prejavili v ich existujúcej webovej aplikácii.
Iné také Príklady kde je mobilná aplikácia samostatnou entitou, sú WhatsApp, aplikácie na sledovanie zdravia ako S Health atď.
Zoznam „úloh“ pred začiatkom procesu testovania
Na rozdiel od bežného testovacieho cyklu, pre prvé vydanie mobilnej aplikácie existuje niekoľko položiek, ktoré si vyžadujú úspešné dodanie aplikácie a vyžaduje ďalší výskum a plánovanie.
Nasleduje niekoľko aktivít, ktoré je dôležité pre QA vykonať pred začiatkom samotného testovania:
# 1) Výskum OS a zariadení:
Okrem pochopenia požiadaviek na aplikáciu musíte pochopiť aj vplyv rôznych verzií operačného systému a modelov zariadení. Musíte vytvoriť testovacie prípady alebo scenáre s OS a modelmi zariadení.
#dva) Skúšobná posteľ:
Na rozdiel od aplikácií pre stolné počítače, web a iOS je vytváranie testovacích stolíkov pre aplikácie Android veľmi zložité kvôli otvorenému systému Android. Rozhodnutie by malo byť prijaté po diskusii s BA, vývojármi a vlastníkmi produktov s cieľom nájsť cieľovú skupinu.
# 3) Plán testov:
Pretože ide o prvé vydanie, mal by existovať schválený plán so schváleným testovacím zariadením, typmi testovania atď. Ak je potrebný samostatný čas na preskúmanie funkcionalít alebo obchodných pravidiel, alebo ak bude testovanie zložité, atď., Malo by to všetko obsahovať plán.
# 4) Automatizačné nástroje:
Automatizačné nástroje potrebné pre mobilné aplikácie sa veľmi líšia od nástrojov pre stolné alebo webové aplikácie. Preto možno budete musieť venovať tomuto nástroju viac času a úsilia. Čas a úsilie potrebné pre to isté by mali byť schválené vlastníkom produktu alebo zákazníkom.
# 5) Testovacie techniky alebo metódy:
Na rozdiel od bežných testov, ktoré bežne robíme, existuje len málo testov, ktoré sú veľmi špecifické pre mobilné aplikácie. Konkrétne poľný test, test GPS, test snímania obrazu atď. Tieto je potrebné v testovacích prípadoch zdokumentovať spolu s tým, ako sa budú testovať tieto typy.
Testovanie typov mobilných aplikácií
Za účelom certifikácie aplikácie pre Android sa vykonávajú nasledujúce typy testovania:
1) Funkčné testovanie:
Testovanie sa zvyčajne dosahuje testovacími tokmi iniciovanými používateľským rozhraním. Testuje sa nielen tok prípadu použitia, ale testujú sa aj rôzne obchodné pravidlá. Testovanie sa vykonáva certifikáciou požiadaviek. tj. či aplikácia funguje na základe požiadaviek.
Zoberme si Príklad aplikácie Zomato.
bezplatný sťahovač hudby pre Android Market
Po spustení aplikácie sa na základe umiestnenia zobrazí zoznam reštaurácií. Teraz ako QA musíte otestovať zoznam reštaurácií.
Toto je testovanie funkcií a tu budete testovať funkcie ako:
- Overte, či sa karty reštaurácií zobrazujú bez umiestnenia.
- Skontrolujte, či sú zobrazené reštaurácie v danom rozsahu (km) miesta.
- Overte, či je počet kontrol každej karty synchronizovaný s uvedenými recenziami.
- Skontrolujte, či sa pridanie novej reštaurácie k miestu odráža v zozname.
- Overte, či sú reštaurácie uvedené na základe pravidla filtrovania Zomato atď.
2) Testovanie používateľského rozhrania systému Android:
Toto je testovanie aplikácie zamerané na používateľa. V tejto testovacej fáze sa v rámci toho testujú položky, ako je viditeľnosť textu na rôznych obrazovkách aplikácie, interaktívne správy, zarovnanie údajov, vzhľad a štýl aplikácie pre rôzne obrazovky, veľkosť polí atď.
Pre rovnaký príklad príkladu Zomato by testy používateľského rozhrania boli:
- Skontrolujte, či sú karty zobrazené správne zarovnané s veľkosťou obrazovky pre mobil.
- Overte, či sa obraz reštaurácie zobrazuje podľa očakávania.
- Skontrolujte, či sú podrobnosti karty, hodnotenie reštaurácie, typ kuchyne, adresa atď. Zobrazené správne zarovnané.
- Skontrolujte, či je rolovanie v zozname bezproblémové a či sa karty nezobrazujú nesprávne, keď sa posúva dlhý zoznam kariet atď.
3) Testovanie kompatibility:
Toto testovanie sa vykonáva väčšinou vo forme dvoch matíc aplikácie OS Vs a aplikácie Device model Vs. Zoznam podporovaných OS (a niekedy aj zariadení) zvyčajne poskytuje produktový vlastník alebo zákazník.
Potreba tohto testovania je:
- Keď sa vezme do úvahy OS ako Android, zistí sa 7 základných verzií, ktoré zanedbávajú počet vydaní opráv / EP.
- Uhádnete typy Android zariadení, ktoré momentálne fungujú po celom svete? 1 000? 2000? Omyl! Správna odpoveď je 24 000. Na svete existuje 24 000 typov jedinečných zariadení so systémom Android.
- V prípade takýchto variácií hrá testovanie kompatibility zásadnú rolu pri certifikácii aplikácie pre Android.
- Potrebujeme nielen overiť operačný systém a typ zariadenia, ale aj niekoľko ďalších funkcií, ktoré spadajú do testovania kompatibility. Medzi tieto vlastnosti patrí:
- Veľkosť obrazovky
- Rozlíšenie obrazovky
- Sieťové pripojenie
4) Testovanie rozhrania:
Inými slovami, nazýva sa to aj Integration testing. Toto testovanie sa vykonáva po úplnom vývoji všetkých modulov aplikácie, individuálnom testovaní a overení všetkých chýb.
Testovanie rozhrania zahŕňa testy ako úplné end-to-end testovanie aplikácie, interakcia s inými aplikáciami, ako sú Mapy, sociálne aplikácie atď., Použitie mikrofónu na zadávanie textu, použitie fotoaparátu na skenovanie čiarového kódu alebo na vyfotenie atď.
Znovu vzhľadom na Zomato by testy integrácie vyzerali takto:
- Overte, či je používateľ schopný rezervovať si stôl v reštaurácii.
- Overte, či je používateľ schopný zobraziť menu a objednať si jedlo online.
- Overte, či je používateľ schopný využiť kupón PayTM pri objednávaní jedla.
- Overte, či je používateľ schopný zobraziť polohu reštaurácie v Mapách Google.
- Overte, či je používateľ schopný otvoriť vytáčanie telefónu a volať reštauráciu atď.
5) Testovanie siete:
Medzi kľúčové vlastnosti sieťového testovania patria:
- Aby sa proces mohol uskutočniť, aplikácia by mala hovoriť so sprostredkovateľskou službou.
- Počas tohto testovania sa požiadavka / odpoveď na / zo služby testuje na rôzne podmienky.
- Tento test sa vykonáva hlavne na overenie času odozvy, v ktorej sa činnosť vykonáva, ako napríklad obnovenie údajov po synchronizácii alebo načítanie údajov po prihlásení atď.
- To sa deje tak pre silné wifi pripojenie, ako aj pre mobilnú dátovú sieť.
- Toto je interné testovanie.
6) Testovanie výkonu:
Kontroluje sa výkonnosť aplikácie za zvláštnych podmienok.
Tieto podmienky zahŕňajú:
- Nedostatok pamäte v prístroji.
- Batéria je extrémne nízka.
- Slabý / zlý príjem siete.
Výkon sa v zásade testuje z dvoch koncov, konca aplikácie a konca aplikačného servera
7) Testovanie inštalácie:
Na zariadení so systémom Android existujú dva typy aplikácií, tj. Predinštalované aplikácie a aplikácie, ktoré si používateľ nainštaluje neskôr.
Pre obidve vyššie uvedené je potrebné vykonať testovanie inštalácie. To má zaistiť hladkú inštaláciu aplikácie bez toho, aby došlo k chybám, čiastočnej inštalácii atď.
Testovanie aktualizácie a odinštalovania sa vykonáva v rámci testovania inštalácie.
8) Testovanie bezpečnosti:
Súkromie a bezpečnosť sú dve hlavné požiadavky aplikácie. V bankovníctve, zdravotníctve sa to však stáva primárnou požiadavkou.
V tejto fáze sa má otestovať testovanie dátového toku pre mechanizmus šifrovania a dešifrovania. V tejto fáze sa testuje aj prístup k uloženým údajom.
9) Testovanie v teréne:
Testovanie v teréne sa vykonáva špeciálne pre mobilnú dátovú sieť, nie však interne, ale mimo aplikácie a ako bežný používateľ. Toto testovanie sa vykonáva „až“ po vývoji, testovaní a regresii celej aplikácie (pre chyby a testovacie prípady).
V zásade sa vykonáva na overenie správania aplikácie, keď má telefón pripojenie 2G alebo 3G. Testovanie v teréne overuje, či aplikácia zlyháva pri pomalom sieťovom pripojení alebo či načítanie informácií trvá príliš dlho.
Viac o testovaní v teréne sa dočítate v našom článku „Dôležitosť a nevyhnutnosť testovania v teréne pre mobilné aplikácie“
10) Testovanie prerušenia:
Tento typ testovania sa tiež nazýva Overenie offline scenára. Podmienky, v ktorých sa komunikácia prerušuje uprostred, sa nazývajú offline podmienky.
Niektoré z podmienok, pri ktorých je možné testovať prerušenia siete, sú nasledujúce:
- Odstránenie dátového kábla počas procesu prenosu údajov.
- Výpadok siete počas fázy odosielania transakcií.
- Obnova siete po výpadku.
- Vybratie batérie alebo zapnutie / vypnutie, keď je v transakčnej fáze.
Osvedčené postupy pri testovaní aplikácií pre Android
Pri vytváraní stratégie testovania mobilných aplikácií je potrebné zohľadniť určité faktory.
Oni sú:
1) Výber zariadenia:
- Toto je jeden z najdôležitejších krokov pred spustením procesu testovania aplikácií pre Android.
- Rozhodnite sa, ktoré zariadenia sa majú brať do úvahy v procese testovania.
- Výber je potrebné vykonať tak, aby sa maximalizoval počet cieľových zákazníkov.
- Vo fáze výberu zohrávajú zásadnú úlohu faktory, ako je verzia OS, rozlíšenia obrazovky a formálne faktory [tablety alebo chytré telefóny].
- V prípade potreby možno zohľadniť dokonca aj pomoc emulátorov.
- Emulátory by však nemali nahradiť proces testovania fyzického zariadenia.
- Emulátory zariadení sú nákladovo efektívne a prídu vhod počas počiatočnej vývojovej fázy.
- Na otestovanie skutočných scenárov sú však fyzické zariadenia nevyhnutnosťou. Emulátory aj fyzické zariadenia sa majú používať vyváženým spôsobom, aby sa dosiahol optimalizovaný výsledok.
2) Beta testovanie aplikácie:
- Testovanie verzie Beta je veľmi efektívne pri testovaní so skutočnými používateľmi, skutočnými zariadeniami, skutočnými sieťami a aplikáciami nainštalovanými v širokej geografickej oblasti.
- Takto získate jasný obraz o hustote siete, variáciách sietí [Wi-Fi, 4G, 3G a 2G] a vplyve na aplikáciu.
- Testovanie verzie Beta v reálnom svete je jediné svojho druhu a nemožno ho replikovať v kontrolovanom prostredí.
3) Pripojiteľnosť:
- Bežne sú aplikácie pre Android pripojené k internetu podľa rôznych požiadaviek.
- Pri vytváraní stratégie zohráva kľúčovú úlohu pripojenie na rôznych zariadeniach.
- Konektivita je väčšinou riadená simulačným softvérom, ktorý pomáha regulovať rýchlosť, latenciu a obmedzenú konektivitu siete počas testovania.
- Hovorí sa, že testovanie v reálnom sieťovom pripojení je vždy vhodné pre výsledok / dáta v reálnom čase.
4) Ručné alebo automatické testovanie:
- Aj keď testovanie automatizácie trvá pri prvom spustení dostatok času, hodí sa, keď je potrebné testovanie opakovať. To tiež znižuje celkové časové rozpätie testovania počas rôznych vývojových fáz.
- Android Automation by malo byť spojené s manuálnym testovaním, keď je regresné testovanie vo fáze vývoja aplikácie vysoké, testovanie kompatibility je potrebné vykonať pre tú istú aplikáciu na rôznych verziách OS, kontrolné body spätnej kompatibility atď.
Testovací rámec Android
Existuje niekoľko rámcov na testovanie systému Android, ktoré sú k dispozícii.
V tomto výučbe sa budeme zaoberať 3 rôznymi typmi najbežnejšie používaných rámcov:
- Robotický testovací rámec
- Roboelektrický testovací rámec
- Rámec pre testovanie Appium
1) Testovací rámec Robotium:
- Tento rámec sa používa na písanie sofistikovaných a robustných testovacích prípadov čiernej skrinky pre aplikácie pre Android.
- Podporuje natívnych aj hybridných klientov.
- Pomocou tohto rámca je možné písať funkcie, testovacie prípady systému a testovacie prípady akceptovania používateľom.
- Robotium podporuje Android 1.6 a vyšší a tiež podporu dialógov, ponúk, aktivít atď.
- Tento rámec automaticky spracuje viac aktivít systému Android.
- Súčasťou Robotia je niekoľko metód interakcie s rôznymi grafickými komponentmi aplikácie pre Android. Niektoré z nich sú uvedené nižšie:
- vráť sa();
- getButton ();
- isRadioButtonChecked ();
- searchText („Používateľ“);
- kliknite na tlačidlo („Odhlásiť“);
2) Roboelektrický testovací rámec:
- Tento rámec pomáha pri testovaní aplikácií pre Android na JVM na základe rámca JUnit4.
- Používa Android API.
- To pomáha pri písaní testovacích prípadov a ich spúšťaní na JVM.
- V tomto rámci sú všetky triedy nahradené niečím, čo sa nazýva tieňové objekty.
- Kedykoľvek je implementovaná metóda, Robo-electric interne odošle hovor tieňovému objektu.
- Na základe implementácie, ak je metóda implementovaná tieňovým objektom, je vrátená hodnota. Inak sa vráti NULL.
- Vďaka tieňovým objektom a JVM sa vykonávanie stáva rýchlejším.
3) Testovanie rámcových epoch;
- Tento rámec funguje pre natívne, hybridné a mobilné aplikácie pre zariadenia so systémom Android.
- Aplikácia Appium je zadarmo.
- Single API funguje pre platformu Android aj iOS. Toto je jeden z rámcov, ktorý podporuje testovanie na viacerých platformách.
- Na interakciu s aplikáciou pre Android využíva selénový webový ovládač.
- Appium podporuje písanie skriptov pomocou mnohých programovacích jazykov, ako sú Java, C #, Python, PHP, Ruby atď.
Záver
Automatizáciu aplikácií pre Android je možné podľa potreby spojiť s manuálom. Ak je však k stratégii pridané testovanie Androind Automation, výber správneho nástroja je veľká úloha. Pri výbere automatizačného nástroja by sa mali brať do úvahy faktory ako podpora viacerých platforiem, pracovný postup testovania, cena nástroja, služba / podpora atď.
Testovanie aplikácií pre Android zahŕňa niekoľko výziev. Predtým, ako bude možné skutočne implementovať testovací proces Android, je potrebné vziať do úvahy rôzne faktory, ktoré sa však po dokončení stanú veľmi zaujímavou úlohou.
Ak sa chcete dozvedieť viac, pozrite si náš nadchádzajúci tutoriál Výzvy a riešenia pre mobilné testovanie.
Odporúčané čítanie
- 11 najlepších automatizačných nástrojov na testovanie aplikácií pre Android (Android App Testing Tools)
- Beta testovacie služby pre mobilné aplikácie (beta testovacie nástroje pre iOS a Android)
- Vytvorte testy Appium pre aplikáciu pre Android
- Funkčné testovanie vs. Nefunkčné testovanie
- Výukové programy pre testovanie mobilných aplikácií (kompletný sprievodca s viac ako 30 výukovými programami)
- Najlepšie nástroje na testovanie softvéru 2021 [QA Test Automation Tools]
- Alfa testovanie a beta testovanie (kompletný sprievodca)
- Hĺbkové návody pre zatmenie pre začiatočníkov