
Business & Integration IT konzultant
Operačný systém Android dominuje na trhu s mobilnými telefónmi s neuveriteľným 71 % podielom. Používatelia trávia na svojich smartfónoch viac času rôznymi činnosťami, ako sú hranie hier, posielanie správ, videohovory, čítanie, zábava, nakupovanie, stretnutia a práca, čo viedlo spoločnosti k vývoju aplikácií pre Android.
Keďže na trhu je viac aplikácií pre Android, máme viac možností výberu, a preto musia spoločnosti poskytovať špičkové aplikácie, aby si používateľov udržali a zaujali. Testovanie používateľského rozhrania zohráva významnú úlohu pri poskytovaní skvelého používateľského zážitku.
Espresso Testing kontroluje aplikáciu pre Android tým, že poskytuje automatizáciu používateľského rozhrania pre Android. Pomocou Espresso test frameworku môže QA tester zabezpečiť, aby ich aplikácia pre Android poskytovala používateľský zážitok, ktorý je v súlade s obchodnými požiadavkami.
Espresso je testovací framework, ktorý pomáha vývojárom písať automatizované testovacie prípady na testovanie používateľského rozhrania (UI). Vyvinula ho spoločnosť Google a jeho cieľom je poskytnúť jednoduchý, ale výkonný nástroj.
Espresso je jedným z populárnych frameworkov na testovanie aplikácií pre Android, ktorý je široko používaný softvérovými testermi. Umožňuje testovanie čiernej skrinky a zároveň umožňuje QA testovať fragmenty a jednotlivé komponenty počas vývojových cyklov.
Espresso framework je súčasťou AndroidX a je založený na UI Automator (frameworkom na automatizované testovanie aplikácií), ktorý je súčasťou systému Android SDK. Espresso testing sa používa na testovanie interakcie používateľa s používateľským rozhraním aplikácie.
Espresso umožňuje vývojárom testovať natívne zobrazenia systému Android, ako aj hybridné webové zobrazenia. Testovacie prípady využívajúce tento framework možno napísať v jazyku Java alebo Kotlin.
Prvým krokom pri začatí práce s Espresso je dôležité vžiť sa do role používateľa. Vytvor testovacie prípady tak, že najprv určíš, ktorý prvok používateľského rozhrania sa má testovať a potom na ňom iniciuješ nejakú akciu (v podstate s ním interaguješ). Má to zmysel, pretože to spôsobuje, že testeri píšu automatizované testovacie prípady, ktoré napodobňujú interakcie používateľa s používateľským rozhraním.
Toto je východiskový bod pre všetky testovacie prípady. Táto zložka poskytuje vstupné body alebo metódy na spustenie interakcie so zobrazením aplikácie. Každý pohľad aplikácie má dve zložky.
Prvou je časť pohľadu, ktorá patrí aplikácii. Testeri s ňou budú môcť interagovať pomocou metód onView() a onData(). Druhú časť pohľadu tvoria komponenty, ktoré poskytuje operačný systém ( tlačidlo domovskej obrazovky, tlačidlo späť a iné). Espresso poskytuje aj API na interakciu s komponentmi, ktoré nie sú súčasťou aplikácie. Napríklad metóda pressBack() iniciuje návrat späť.
Pohľady sú vždy v hierarchii nazývanej View Hierarchy (Hierarchia pohľadov). Aby sa testovacie prípady mohli pohybovať v hierarchii zobrazení, používajú sa ViewMatchers. Technicky sú to kolekcie objektov a implementujú rozhranie Matcher. Testeri budú môcť odovzdať jeden alebo viac týchto objektov metóde OnView(), ktorú poskytuje Espresso Component.
Tieto komponenty definujú akciu, ktorá sa má vykonať na akomkoľvek danom View. Espresso umožňuje testerom posielať viac ako jednu ViewAction ako kolekciu do metódy Interaction (Interakcia). Príkladom akcie View by mohla byť metóda click(), ktorá pomáha testovaciemu skriptu kliknúť na komponent používateľského rozhrania daného View.
Assertions dopĺňajú testovací prípad. Sú to komponenty, ktoré kontrolujú, či test prešiel alebo zlyhal. V systéme Espresso Android možno ViewAssertions odovzdať metóde Check() z balíka ViewInteraction. Assertion o zhode je najčastejšie používaná kontrola, ktorá overuje konečný stav pohľadu s tým, čo sa očakáva.
Vďaka spoločnosti Google majú testeri k dispozícii prehľadnú tabuľku, na ktorú sa môžu odvolávať pri vytváraní testovacích prípadov pomocou programu Espresso. Nižšie uvedený cheat sheet obsahuje odkazy na väčšinu prípadov, ktoré sú súčasťou komponentov Espresso, o ktorých sme hovorili skôr. Tu si môžeš stiahnuť cheatsheet.
Niektoré z hlavných funkcií podporovaných nástrojom Espresso sú tieto:
Espresso ponúka dva typy testov pre androidové aplikácie, oba sú stručne vysvetlené nižšie:
Tieto testy testujú funkčnosť aplikácie a overujú, či funguje podľa očakávaní.
Funkčné testy možno použiť na overenie, či aplikácia správne reaguje na vstupy používateľa, či zobrazuje správne údaje a či sa správa tak, ako očakávaš. Môžu sa použiť aj na testovanie toku aplikácie a zabezpečenie správneho fungovania všetkých častí.
Funkčné testy sú nevyhnutné, pretože pomáhajú zabezpečiť, aby bola aplikácia spoľahlivá a bez chýb. Pravidelným vykonávaním funkčných testov môžeš zachytiť a odstrániť prípadné problémy skôr, ako spôsobia vážne škody na tvojej aplikácii.
Tieto testy testujú používateľské rozhranie tvojej aplikácie a kontrolujú, či vyzerá a pôsobí správne. Možno ich použiť na kontrolu rozloženia aplikácie, overenie vzhľadu textu a ikon a testovanie funkčnosti tlačidiel a iných prvkov používateľského rozhrania.
V tejto triede môžeš napísať testy na kontrolu rozloženia tvojej aktivity, overenie vzhľadu textu a ikon a testovanie funkčnosti tlačidiel a iných prvkov používateľského rozhrania. Môžeš ju použiť aj na testovanie toku aplikácie a zabezpečenie správneho fungovania všetkých častí.
K dispozícii sú však aj iné frameworky pre testovanie mobilných zariadení, poďme sa pozrieť na ich porovnanie:
Ak vieš po nemecky a si IT tester alebo automatizovaný tester, pozri si naše firemné benefity a reaguj na pracovné ponuky.