Automatizované testovanie mobilných a webových aplikácií

Categories: Technický článokTesting a QATechnology

S príchodom smartfónov a možnosti písať aplikácie do telefónov a tabletov vzniká úplne nový IT segment, na ktorý reaguje aj testovanie. Vznikajú nové technológie a postupy, ako testovať aplikácie na mobilných zariadeniach.

Jednou z najväčších výziev automatizovaného testovania býva testovanie viacerých typov mobilných zariadení a rôznych verzií operačných systémov (Android, iOS). Dokonca je možné použiť jeden kód na testovanie aj iOS, aj Android, aj web rozhrania. Poďme si predstaviť možné riešenia.

 

Appium

Jedným z lídrov v tejto oblasti je Appium. Appium je “open source” [1] nástroj napísaný v NodeJS. Je vhodný na spúšťanie skriptov na testovanie natívnych aplikácií, mobilných webových aplikácií a hybridných aplikácií na Androide alebo iOS pomocou protokolu Webdriver. Má širokú základňu používateľov a existuje ku nemu obsiahla dokumentácia [2]. Appium je server, cez ktorý sa púšťajú skripty, či už voči reálnym zariadeniam, alebo spusteným cez emulátor. 

Veľkou výhodou je plná kontrola nad celým procesom spustenia skriptov a nad konfiguráciou emulovaných zariadení. Ďalšou výhodou je možnosť napísať testovacie skripty vo viacerých jazykoch, či už Python, Java, PHP alebo Ruby. Rovnako je možné spustiť na mobilnom zariadení mobilnú webovú aplikáciu. 

Nevýhodou Appium je absencia testovania webovej aplikácie na webovom prehliadači na “desktope”. Pre testovanie webovej aplikácie na stolových počítačoch a laptopoch je jedným z vhodných a populárnych riešení napr. Selenium [3]. Toto však znamená rozdelenie bázy testovacieho kódu podľa platformy.
Appium je dobre použiteľné ak testovací tím pracuje samostatne bez tímu developerov. K dispozícii potrebujú iba inštalovateľnú verziu aplikácie, ktorá je predmetom testovania. 

 

Čo ak chceme mať jeden testovací kód pre všetky platformy?

V posledných rokoch prichádza snaha zo strany vývojárov mať jeden kód, z ktorého sa generujú aplikácie pre viaceré platformy (Android, iOS, ale aj web). Jednou z týchto technológií je React Native. Ruka v ruke prichádza aj možnosť testovať viaceré platformy s použitím jednej bázy kódu pomocou CodeceptJS [4]. CodeceptJS je tiež “open source” [5]. Testy sú písané v štýle tzv. BDD (Behavior-Driven Development), použitím syntaxe Gherkin. Na spustenie testov voči reálnym alebo emulovaným zariadeniam sa dá použiť vyššie spomínané Appium. Na testovanie webovej aplikácie je opäť možné použiť Selenium driver. Ak je teda potrebné otestovať aplikáciu, ktorá má rovnakú funkcionalitu na viacerých platformách (Android, iOS, web), CodeceptJS je jedným z veľmi vhodných nástrojov pre automatizované testovanie. Nie je potrebné deliť bázu testovacieho kódu pre natívne a webové aplikácie.
Pre samotné spustenie skriptov sa v rámci CodeceptJS vyberie nástroj, cez ktorý sa testy spúšťajú.

 

TestProject

Ďalším zo zaujímavých riešení pre vytváranie komplexných multiplatformových testov je TestProject. TestProject je pomerne nový projekt, ponúkajúci grafickú nadstavbu (GUI) pri vytváraní testov. Viac sa môžete dočítať v našom ďalšom článku TU.

 

Referencie:

  1. https://github.com/appium/appium
  2. http://appium.io/docs/en/writing-running-appium/running-tests/
  3. https://github.com/SeleniumHQ/selenium
  4. https://codecept.io/
  5. https://github.com/codeceptjs/CodeceptJS
  • URL copied!