android app testing tutorial
Shromažďování základních znalostí před testováním aplikací pro Android:
Jak název napovídá, v tomto tutoriálu budeme diskutovat více o procesu testování Androidu.
Než se ale pustím do různých podrobností procesu testování Androidu, chtěl bych položit pár otázek.
Vlastníš mobilní telefon?
Jak hloupá je ta otázka! „Samozřejmě, že to děláme všichni. Každý má mobilní telefon. Mobilní telefony se dnes staly základní nutností lidské existence.
Můžete mi říct OS, který je ve vašem telefonu?
Pokud jste si telefon koupili v letech 2014–16, pak je šance, že váš telefon běží na Androidu, kolem 80–85%.
Co se naučíte:
- Růst Androidu
- Úvod do aplikace pro Android
- Seznam úkolů před zahájením procesu testování
- Testování typů pro mobilní aplikace
- Osvědčené postupy při testování aplikací pro Android
- Testovací rámec Android
- Závěr
- Doporučené čtení
Růst Androidu
Níže uvedené statistiky popisují více o růstu Androidu snadno pochopitelným způsobem.
- V roce 2009 byl Android nováčkem a představoval pouze 3,9% z celkového trhu.
- Hlavním přispěvatelem pak byl operační systém Symbian s ohromným počtem 47% (Zlaté dny Nokie).
- Tento trend se v průběhu let začal měnit a Android v roce 2016 nyní dosáhl 85,2%.
( zdroj obrázku )
- Výše uvedená čísla platí pouze pro mobilní telefony. Android OS má také velký dopad v odvětví tabletů. Ze 4,4% podílu na trhu v roce 2011 na 35,7% v roce 2015 hovoří o zájmu, který lidé vyvíjejí směrem k tabletovým zařízením se systémem Android.
( zdroj obrázku )
- Obchod Google Play také zaznamenal rychlý nárůst počtu stažení. Od roku 2010 do roku 2016 se počet zvýšil z 1 miliardy stažení měsíčně na 65 miliard stažení měsíčně.
- Stahování aplikací také výrazně ovlivňují nízké ceny (průměr: 0,06 $ / aplikace) aplikací pro Android ve srovnání s aplikacemi pro iOS.
Proč jsem tě provedl všemi těmi čísly?
Bylo to jen proto, abyste si uvědomili, jak obrovský Android se rozrostl, jak složitý se vývoj aplikací stal a kolik trhu tento OS v uplynulém desetiletí získal.
Každý web, aplikace pro Windows a Mac App má nyní sourozence pro Android. Každý se chystá vyvinout aplikaci pro Android, jakmile plánuje vývoj aplikace pro web / Windows. Nyní je to nezbytné, protože zákazníci také v posledních letech začali upřednostňovat mobilní aplikace před počítačovými aplikacemi nebo webovými stránkami.
Některé z aplikací, které se velmi často používají v každodenních činnostech, jsou Flipkart, Amazon, Zomato, DeliveryHero, Citi Bank, TrueCaller, Facebook, Gmail, Whatsapp atd.
Důvod nárůstu na trhu Android je ten, že:
- Je to otevřený systém, a proto je snadné jej přizpůsobit, snadno se naučit a dokonce i vývoj aplikací je jednodušší.
- Publikování aplikace v obchodě Google Play je ve srovnání s ostatními obchody Play docela snadné.
- Na trhu s telefony Android existuje několik výrobců, jako jsou Sony, HTC, Samsung, Motorola atd.
- V systému Android existuje obrovské množství funkcí, jako je DualSIM, microSD, vyměnitelná baterie atd., Což je jeho další výhodou.
- Cena telefonů s Androidem není příliš vysoká a je cenově dostupná atd.
Spolu s požadavkem na vývoj aplikací pro Android došlo také ke zvýšení požadavku na testery, kteří mají zkušenosti s testováním systému Android.
Jako tester, než začnete testovat jakoukoli aplikaci vytvořenou pro Android, musíte udělat spoustu domácích úkolů. První věcí, kterou musíte udělat, je prostudovat OS a jeho historii. Pokud neznáte operační systém, nemůžete aplikaci otestovat proti různým verzím. Základní funkce verze OS, uživatelské rozhraní, GPS, podpora typu sítě, výdrž baterie atd., Jsou některé z důležitých aspektů, které ovlivňují aplikaci.
U Androidu není třeba studovat pouze operační systém, ale také nepřeberné množství zařízení.
Na trhu je k dispozici obrovské množství zařízení, a proto před dokončením a zmrazením testovacího zařízení musíte zjistit podíl zařízení cílového publika. Různá zařízení nabízející různé funkce, jako je DualSIM, duální fotoaparát, rozlišení obrazovky, motivy atd., Ovlivňují aplikaci a je třeba je otestovat.
Proto je pro QA velmi důležité shromáždit komplexní znalosti o úplném ekosystému Android.
Úvod do aplikace pro Android
Úspěšnou certifikaci aplikace pro Android následuje několik testovacích metod.
Typická architektura aplikace pro Android by vypadala podobně jako níže uvedený diagram:
Datum vydání náhlavní soupravy pro virtuální realitu pro Xbox
Na základě výše uvedeného obrázku existují pro aplikaci dvě možnosti:
1) Mobilní aplikace pro webovou aplikaci: Je možné, že zákazník má webovou aplikaci a chce pro ni vytvořit mobilní aplikaci. Amazon, Jabong, Myntra atd. Udělaly totéž a v okamžiku, kdy mobilní aplikace začaly vytvářet boom na trhu, si tyto komerční společnosti uvědomily, že lidé brzy přejdou od webových aplikací k mobilním aplikacím.
2) Mobilní aplikace jako samostatný obchodní subjekt: Testoval jsem podobnou logistickou aplikaci, aby zvýšil podnikání, vytvořil samostatnou aplikaci pro své řidiče, aby usnadnil plynulé doručení a odstranil papírování.
Řidiči měli aplikaci nainstalovanou ve svých telefonech, aby přesunuli zásilku do různých fází doručení a jejich odpovídajícího stavu, a aktualizace doručení se projevily v jejich stávající webové aplikaci.
Jiné takové Příklady kde mobilní aplikace je samostatná entita, jsou WhatsApp, aplikace pro sledování zdraví, jako je S Health atd.
Seznam úkolů před zahájením procesu testování
Na rozdíl od běžného testovacího cyklu existuje pro první vydání mobilní aplikace několik položek, které vyžadují další výzkum a plánování pro úspěšné doručení aplikace.
Následuje několik činností, které musí QA provést před zahájením skutečného testování:
# 1) Výzkum OS a zařízení:
Kromě porozumění požadavku na aplikaci musíte také pochopit dopad různých verzí OS a modelů zařízení. Musíte vytvořit testovací případy nebo scénáře s modely OS a zařízení.
#dva) Testovací postel:
Na rozdíl od aplikací pro stolní počítače, web a iOS je vytváření testovacího lůžka pro aplikace pro Android velmi složité kvůli otevřenému systému Android. Rozhodnutí by mělo být přijato po projednání s BA, vývojáři a vlastníky produktů, aby se našlo cílové publikum.
# 3) Testovací plán:
Jelikož se jedná o první vydání, měl by existovat schválený plán se schváleným zkušebním zařízením, typy zkoušek atd. Pokud je pro zkoumání funkcionalit nebo obchodních pravidel zapotřebí samostatný čas, nebo pokud bude testování složité atd., Mělo by být vše zahrnuto do plánu.
# 4) Automatizační nástroje:
Automatizační nástroje požadované pro mobilní aplikace se velmi liší od nástrojů pro stolní počítače nebo webové aplikace. Možná se tedy budete muset naučit tento nástroj věnovat více času a úsilí. Čas a úsilí potřebné pro totéž by měl schválit vlastník produktu nebo zákazník.
# 5) Testovací techniky nebo metody:
Na rozdíl od konvenčních testů, které běžně děláme, existuje několik testů, které jsou velmi specifické pro mobilní aplikace. Jmenovitě polní test, test GPS, test snímání obrazu atd. Ty je třeba v testovacích případech zdokumentovat spolu s tím, jak budou tyto typy testovány.
Testování typů pro mobilní aplikace
Následující typy testování se provádějí za účelem certifikace aplikace pro Android:
1) Funkční testování:
Testování se obvykle dosahuje testovacími toky zahájenými uživatelským rozhraním. Testuje se nejen tok případu použití, ale testují se také různá obchodní pravidla. Testování se provádí certifikací požadavků. tj. zda aplikace funguje na základě požadavků.
Vezměme si Příklad aplikace Zomato.
Po spuštění aplikace se na základě umístění zobrazí seznam restaurací. Nyní jako QA musíte otestovat seznam restaurací.
Toto je testování funkcí a zde budete testovat funkce jako:
- Ověřte, zda jsou karty restaurace zobrazeny bez umístění.
- Ověřte, zda jsou zobrazené restaurace v daném rozsahu (km) místa.
- Ověřte, zda je počet recenzí pro každou kartu synchronizován s uvedenými recenzemi.
- Zkontrolujte, zda se přidání nové restaurace pro dané místo odráží v seznamu.
- Ověřte, zda jsou restaurace uvedeny na základě pravidla filtrování Zomato atd.
2) Testování uživatelského rozhraní Android:
Toto je testování aplikace zaměřené na uživatele. V této testovací fázi se v rámci této položky testují položky, jako je viditelnost textu na různých obrazovkách aplikace, interaktivní zprávy, zarovnání dat, vzhled a chování aplikace pro různé obrazovky, velikost polí atd.
U stejného výše uvedeného příkladu Zomato by testy uživatelského rozhraní byly:
nejlepší software pro kopírování DVD pro Mac
- Ověřte, zda jsou karty zobrazeny správně zarovnané s velikostí obrazovky pro mobilní zařízení.
- Ověřte, zda se obrázek restaurace zobrazuje podle očekávání.
- Ověřte, zda jsou podrobnosti karty, hodnocení restaurace, typ kuchyně, adresa atd. Zobrazeny správně zarovnané.
- Při posouvání dlouhého seznamu karet ověřte, zda je posouvání seznamu bez závad a zda se karty nezobrazují nesprávně.
3) Testování kompatibility:
Toto testování se provádí většinou ve formě dvou matic aplikace OS Vs a aplikace Device Model Vs. Vlastník produktu nebo zákazník obvykle poskytuje seznam podporovaných operačních systémů (a někdy i zařízení).
Potřeba tohoto testování je:
- Když se vezme v úvahu OS jako Android, zjistí se 7 základních verzí, které zanedbávají počet vydání patchů / EP.
- Dokážete odhadnout, jaké typy zařízení Android aktuálně fungují po celém světě? 1000? 2000? Špatně! Správná odpověď je 24 000. Na světě existuje 24 000 typů jedinečných zařízení Android, která jsou aktivní a aktivní.
- S variantami, jako jsou tyto, hraje testování kompatibility zásadní roli při certifikaci aplikace pro Android.
- Potřebujeme nejen ověřit operační systém a typ zařízení, ale také ověřit několik dalších funkcí, které spadají do testování kompatibility. Mezi funkce patří:
- Velikost obrazovky
- Rozlišení obrazovky
- Síťové připojení
4) Testování rozhraní:
Jinými slovy se také označuje jako testování integrace. Toto testování se provádí poté, co jsou všechny moduly aplikace zcela vyvinuty, testovány jednotlivě a všechny chyby opraveny.
Testování rozhraní zahrnuje testy, jako je úplné testování aplikace od začátku do konce, interakce s jinými aplikacemi, jako jsou Mapy, sociální aplikace atd., Použití mikrofonu k zadávání textu, použití fotoaparátu k naskenování čárového kódu nebo k pořízení snímku atd.
Znovu s ohledem na Zomato by testy integrace vypadaly takto:
- Ověřte, zda je uživatel schopen rezervovat stůl pro restauraci.
- Ověřte, zda je uživatel schopen zobrazit nabídku a objednat jídlo online.
- Ověřte, zda je uživatel schopen využít kupón PayTM při objednávání jídla.
- Ověřte, zda je uživatel schopen zobrazit polohu restaurace v Mapách Google.
- Ověřte, zda je uživatel schopen otevřít vytáčení telefonu a zavolat do restaurace atd.
5) Testování sítě:
Mezi klíčové funkce testování sítě patří:
- Aplikace by měla komunikovat se zprostředkující službou, aby mohla tento proces provést.
- Během tohoto testování je požadavek / odpověď na / ze služby testován na různé podmínky.
- Tento test se provádí hlavně k ověření doby odezvy, ve které se aktivita provádí, jako je obnovení dat po synchronizaci nebo načítání dat po přihlášení atd.
- To se děje jak pro silné wifi připojení, tak pro mobilní datovou síť.
- Toto je interní testování.
6) Testování výkonu:
Kontroluje se výkon aplikace za zvláštních podmínek.
Mezi tyto podmínky patří:
- Nedostatek paměti v zařízení.
- Baterie je extrémně nízká.
- Špatný / špatný příjem sítě.
Výkon se v zásadě testuje na 2 koncích, na konci aplikace a na konci aplikačního serveru
7) Testování instalace:
V zařízení Android existují dva typy aplikací, tj. Předinstalované aplikace a aplikace, které si uživatel nainstaluje později.
U obou výše uvedených skutečností je třeba provést testování instalace. Tím je zajištěna plynulá instalace aplikace, aniž by docházelo k chybám, částečné instalaci atd.
Testování upgradu a odinstalace se provádí jako součást testování instalace.
8) Testování zabezpečení:
Ochrana osobních údajů a zabezpečení jsou 2 hlavní požadavky aplikace. V bankovnictví, zdravotnictví se to však stává primárním požadavkem.
V této fázi je třeba otestovat testování toku dat pro šifrovací a dešifrovací mechanismus. V této fázi se také testuje přístup k uloženým datům.
9) Testování v terénu:
Testování v terénu se provádí speciálně pro mobilní datovou síť a ne interně, ale pomocí aplikace a venku jako běžný uživatel. Toto testování se provádí „až“ poté, co je celá aplikace vyvinuta, otestována a regresována (pro chyby a testovací případy).
V zásadě se provádí ověření chování aplikace, když má telefon připojení 2G nebo 3G. Testování v terénu ověří, zda aplikace selhává při pomalém síťovém připojení nebo zda načítání informací trvá příliš dlouho.
Více o testování v terénu se dočtete v našem článku „Důležitost a nutnost testování v terénu pro mobilní aplikace“
10) Testování přerušení:
Tento typ testování se také nazývá Offline ověření scénáře. Podmínky, kdy se komunikace přeruší uprostřed, se nazývají offline podmínky.
Některé z podmínek, kdy lze testovat přerušení sítě, jsou následující:
- Odstranění datového kabelu během procesu přenosu dat.
- Výpadek sítě během fáze odesílání transakcí.
- Obnova sítě po výpadku.
- Vyjmutí baterie nebo zapnutí / vypnutí, když je v transakční fázi.
Osvědčené postupy při testování aplikací pro Android
Při zavádění strategie pro testování mobilních aplikací je třeba vzít v úvahu určité faktory.
Oni jsou:
1) Výběr zařízení:
- Toto je jeden z nejdůležitějších kroků před zahájením procesu testování aplikace pro Android.
- Rozhodněte se, která zařízení je třeba vzít v úvahu při procesu testování.
- Výběr je třeba provést tak, aby se maximalizoval počet cílových zákazníků.
- Ve fázi výběru hrají zásadní roli faktory, jako je verze OS, rozlišení obrazovky a tvarové faktory (tablety nebo chytré telefony).
- V případě potřeby lze zohlednit i pomoc emulátorů.
- Emulátory by však neměly nahradit proces testování fyzického zařízení.
- Emulátory zařízení jsou nákladově efektivní a hodí se během počáteční fáze vývoje.
- K otestování scénářů v reálném životě jsou ale fyzická zařízení nutností. Emulátory i fyzická zařízení mají být používána vyváženým způsobem pro optimalizovaný výsledek.
2) Beta testování aplikace:
- Beta testování je velmi účinné při testování s uživateli z reálného světa, skutečnými zařízeními, skutečnými sítěmi a aplikacemi nainstalovanými v široké geografii.
- To poskytuje jasný obraz o hustotě sítě, odchylkách sítě (Wi-Fi, 4G, 3G a 2G) a dopadu na aplikaci.
- Beta testování v reálném světě je jediné svého druhu a nelze jej replikovat v kontrolovaném prostředí.
3) Připojení:
- Normálně jsou aplikace pro Android připojeny k internetu pro různé požadavky.
- Při sestavování strategie hraje klíčovou roli konektivita na různých zařízeních.
- Připojení je většinou řízeno simulačním softwarem, který pomáhá při testování regulovat rychlost, latenci a omezenou konektivitu sítě.
- Říká se, že testování v reálném síťovém připojení je vždy vhodné pro výsledky / data v reálném čase.
4) Ruční nebo automatické testování:
- Ačkoli testování automatizace trvá při prvním spuštění dostatečné množství času, přijde vhod, když se testování bude muset opakovat. To také snižuje celkové časové rozpětí testování během různých vývojových fází.
- Android Automation by měl být spojen s manuálním testováním, když je ve fázi vývoje aplikace vysoké regresní testování opakování, testování kompatibility je třeba provést pro stejnou aplikaci v různých verzích OS, kontrolní body zpětné kompatibility atd.
Testovací rámec Android
Existuje několik rámců pro testování systému Android, které jsou k dispozici.
V tomto tutoriálu budeme diskutovat o 3 různých typech nejčastěji používaných frameworků:
- Robotium testovací rámec
- Roboelektrický testovací rámec
- Rámec pro testování Appia
1) Robotium Test Framework:
- Tento rámec se používá k psaní sofistikovaných a robustních testovacích případů černé skříňky pro aplikace Android.
- Podporuje nativní i hybridní klienty.
- Pomocí tohoto rozhraní lze zapisovat funkce, testovací případy systému a testovací případy přijetí uživatelem.
- Robotium podporuje Android 1.6 a vyšší a také podporu pro dialogy, nabídky, aktivity atd.
- Tento rámec zpracovává automaticky více aktivit Androidu.
- Hrstka metod je uvedena jako součást Robotia pro interakci s různými grafickými komponentami aplikace pro Android. Některé z nich jsou uvedeny níže:
- goBack ();
- getButton ();
- isRadioButtonChecked ();
- searchText („Uživatel“);
- klikněte na tlačítko („Odhlášení“);
2) Roboelektrický testovací rámec:
- Tento rámec pomáhá při testování aplikací pro Android na JVM na základě rámce JUnit4.
- Využívá Android API.
- To pomáhá při psaní testovacích případů a jejich spouštění na JVM.
- Pod tím jsou všechny třídy nahrazeny něčím, co se nazývá stínové objekty.
- Kdykoli je implementována metoda, Robo-electric interně odešle volání stínovému objektu.
- Na základě implementace, pokud je metoda implementována stínovým objektem, je vrácena hodnota. Jinak je vrácena NULL.
- Díky stínovým objektům a JVM se provádění zrychluje.
3) Testujte epochy rámce;
- Tento rámec funguje pro nativní, hybridní a mobilní aplikace pro zařízení Android.
- Appium je zdarma k použití nástroje.
- Single API funguje pro platformu Android i iOS. Toto je jeden z rámců, který podporuje testování napříč platformami.
- K interakci s aplikací pro Android používá selenový webový ovladač.
- Appium podporuje psaní skriptů pomocí mnoha programovacích jazyků, jako jsou Java, C #, Python, PHP, Ruby atd.
Závěr
Automatizaci aplikací pro Android lze podle potřeby spojit s manuálním. Pokud je však ke strategii přidáno testování Androind Automation, je výběr správného nástroje velkým úkolem. Při výběru faktorů automatizačního nástroje, jako je podpora více platforem, pracovní postup testování, cena nástroje, služba / podpora atd., Je třeba vzít v úvahu.
Testování aplikací pro Android zahrnuje několik výzev. Než bude možné proces testování systému Android skutečně implementovat, je třeba vzít v úvahu různé faktory, ale jakmile se to stane, stane se to velmi zajímavým úkolem.
Podívejte se na náš nadcházející výukový program a dozvíte se o něm více Výzvy a řešení pro mobilní testování.
Doporučené čtení
- 11 nejlepších automatizačních nástrojů pro testování aplikací pro Android (nástroje pro testování aplikací pro Android)
- Beta testovací služby pro mobilní aplikace (nástroje pro testování beta verze iOS a Android)
- Vytvořte testy Appium pro aplikaci pro Android
- Funkční testování vs. nefunkční testování
- Výukové programy pro testování mobilních aplikací (Kompletní průvodce s 30 a více výukové programy)
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Alfa testování a beta testování (kompletní průvodce)
- Výukové programy pro zatmění do hloubky pro začátečníky