-
-
-
-
URL copied!
Vývojári aplikácií pre Android môžu pomocou testovacích rámcov, ktoré umožňujú automatizáciu dôležitých repetitívnych úloh, výrazne urýchliť svoj time-to-market.
Vývojári aplikácií pre Android môžu pomocou testovacích rámcov, ktoré umožňujú automatizáciu dôležitých repetitívnych úloh, výrazne urýchliť svoj time-to-market. V tomto blogu sa pozrieme na niekoľko open source rámcov vrátane platforiem na funkčné (akceptačné) a regresné testovanie:
Inštrumentálne testy pre Android
Vývojári aplikácií pre Android môžu pomocou testovacích rámcov, ktoré umožňujú automatizáciu dôležitých repetitívnych úloh, výrazne urýchliť svoj time-to-market. V tomto blogu sa pozrieme na niekoľko open source rámcov vrátane platforiem na funkčné (akceptačné) a regresné testovanie:
Inštrumentálne testy pre Android
Ako ukazuje „rodokmeň“ testovacích rámcov, ktorý uvádzame vyššie, do kategórie inštrumentálnych testov pre Android patria tieto tri rámce.
Robotium
Robotium je testovací rámec pre Android plne podporujúci natívne a mobilné webové aplikácie. Natívne aplikácie sú tie, na napísanie ktorých boli použité nástroje Android SDK. Mobilné webové aplikácie sú webové aplikácie dostupné cez mobilné prehliadače. Hybridné aplikácie majú tzv. wrapper, ktorý vytvorí Webview – natívny prvok umožňujúci interakciu s obsahom web stránok.
Robotium je špecifickým open test rámcom, ktorý ponúka Google. Robotium JAR sa integruje s IDE a na vytvorenie testovacieho skriptu sa využívajú programovacie jazyky ako napr. Java, pričom samotný skript sa integruje s Android Junit4. Na základe napísaného testovacieho skriptu sa vytvorí testovací súbor, ktorý priamo interaguje s runnerom vo virtuálnom zariadení Android Dalvik Virtual Machine. Rovnaká požiadavka zároveň spustí užívateľskú akciu v cieľovom súbore, ktorá nie je ničím iným, ako testovaním mobilnej aplikácie.
Robotium sa používa na špecifické testovanie, v rámci ktorého môže byť pomocou súboru APK zautomatizovaná mobilná aplikácia na testovanie čiernej skrinky (black box testing) aj bez získania zdrojového kódu.
Espresso
Espresso je automatizovaný testovací rámec pre Android, ktorý sa používa na testovanie natívnych aplikácií. Tento rámec, s ktorým prišla spoločnosť Google, sa dá použiť na testovanie všetkých akcií špecifických pre jednotlivé činnosti. Espresso sa zameria len na testovanie užívateľského rozhrania v súlade s jednotkovým testovaním komponentov. Espresso využíva nasledujúci mechanizmus:
- ViewMatchers – umožňuje v hierarchii zobrazení nájsť konkrétne zobrazenie
- ViewActions – umožňuje vykonať akcie zobrazení (Click, swipe, a pod.)
- ViewAssertions – umožňuje určiť status zobrazenia (True or False)
Calabash
BDD (behavior-driven development) nástroj Calabash je open source rámcom, ktorý sa používa na testovanie natívnych, hybridných i mobilných aplikácií pre Android. Calabash využíva systém Cucumber Gherkin, integrovaný do Calabash gem-u, aby bol vykonaný testovací skript zapísaný ako súbor špecifikácie testu (tzv. feature).
Ide o open source rámec dostupný na GitHube. Testovacie skripty fungujú na viacerých emulátoroch i fyzických zariadeniach zapojených do jedného prístroja. Jednotlivé kroky majú formu jednoduchých anglických viet a po spustení dokážu v mobilných aplikáciách iniciovať konkrétne akcie.
UI Automator
Testovací rámec UI Automator ponúka set API rozhraní na vybudovanie UI testov, ktoré vykonávajú akcie na užívateľských i systémových aplikáciách. Rozhrania UI Automator API umožňujú vykonávať v testovanom zariadení operácie ako je napr. otvorenie ponuky Settings či app launcher-a.
Testovací rámec UI Automator je vhodný na písanie automatizovaných testov čiernej skrinky, pri ktorých testovací kód nevychádza zo znalosti detailov interných mechanizmov a fungovania cieľovej aplikácie, ale priamo reaguje na prvky UI spojené s konkrétnou mobilnou aplikáciou, ktoré sú spúšťačom všetkých užívateľských akcií, ako je napr. vkladanie textu do textboxu, klikanie, swipovanie, akcia drag to, multi-touch, a pod.
Appium
Appium je open source nástrojom automatizácie natívnych, mobilných webových a hybridných aplikácií na rôznych androidových platformách.
Appium sa používa na automatizáciu akejkoľvek mobilnej aplikácie v ktoromkoľvek jazyku a z ľubovoľného testovacieho rámca s plným prístupom k back-end rozhraniam API a databáze zo zdrojového kódu. Píšte testy pomocou svojich obľúbených vývojárskych nástrojov v ktoromkoľvek jazyku (vďaka Selenium WebDriver API a jazykovo špecifickým klientskym knižniciam).
Testovacie skripty Appia napísané v IDE interagujú so serverom Appia, pričom tento nie je ničím iným než node serverom s konkrétnou IP adresou a číslom portu. Node server následne pomocou UI Automatora odovzdá mobilným zariadeniam alebo emulátorom príkaz vo formáte JSON. Všetky prvky UI súvisiace s mobilnou aplikáciou sa dajú kontrolovať pomocou klienta Appium, ktorý je založený na projekte Selenium. Nasledujúca schéma znázorňuje jednotlivé fázy fungovania Appia:
Porovnávacia matica
Nasledujúca matica vám pomôže porovnať funkcie jednotlivých rámcov, ktoré v tomto článku predstavujeme.
Spolupracujte s nami
Súvisiaci obsah
NFR: 12 kľúčových aspektov pre vývoj mobilných aplikácií
Keď koncipujeme nový softvér, zvyčajne sa sústredíme na jeho funkcie a vplyv na spoločnosť a jej príjmy. Funkcionalitu členíme na požiadavky, prvky, užívateľské príbehy a integrácie. Keď však dôjde na samotný vývoj daného softvéru, premýšľame inak. Vývojár sa najčastejšie zameriava na inú otázku: „Aké sú tu nefunkčné požiadavky?“.
Čítaj viac
Share this page:
-
-
-
-
URL copied!