TestProject – automatizovaný testovací framework

Categories: MobilitaTechnický článokTesting a QATechnology

Nielen IT firmy poskytujúce služby v oblasti testovania, ale aj samotní zákazníci hľadajúci skúsených automatizovaných testerov pre svoje produkty, sa snažia proces testovania maximálne zefektívniť. Jedným zo spôsobov je proces testovania čo najviac zautomatizovať a minimalizovať manuálne testovanie. K tomu je ale potrebný vhodný automatizovaný framework, ktorý umožňuje vytváranie automatizovaných testov. Ale ktorý je ten správny, keďže na trhu je ich momentálne v ponuke niekoľko? Globallogic Slovakia dokáže pomôcť zákazníkovi aj v tejto oblasti odbornými radami a odporúčaniami. Predstavme si TestProject.

 

TestProject –  framework pre automatizované testovanie

TestProject je bezplatný cloudový nástroj na end-to-end testovanie internetových stránok, natívnych aj hybridných mobilných aplikácií a API rozhraní. Podporované sú viaceré typy internetových prehliadačov – Chrome, IE, Edge, Safari a Firefox. Pre Android mobilné zariadenia je podporovaný Chrome, pre iOS Safari prehliadač. Pre komunikáciu s testovanou aplikáciou alebo internetovou stránkou TestProject využíva Appium a Selenium, ktoré sú jeho súčasťou.

Pre vytváranie testov je k dispozícií grafické IDE rozhranie, ktoré zjednodušuje samotné vytváranie testov. Testy je možné vytvoriť napísaním jednotlivých krokov, pomocou niektorého z podporovaných programovacích jazykov alebo pomocou záznamu reálne vykonaných krokov.

TestProject spolupracuje s nástrojmi, ako sú qTest, BrowserStack, Genymotion Desktop, Jenkins, TeamCity, Sauce Labs, Slack, CircleCI.

 

Aká je architektúra TestProjectu?

Základnými prvkami architektúry sú cloudový repozitár dostupný “všade” cez internetový prehliadač, a teda nezávislý na lokálnej inštalácii, a agent komunikujúci väčšinou s lokálnymi zariadeniami. Dajú sa však využiť aj virtuálni agenti, ktorých poskytujú cloudoví provideri, tzv. cloudová farma zariadení.

 

Čo je TestProject agent?

TestProject je cloudové riešenie, nie program, ktorý sa inštaluje do PC. Inštalovať však niečo predsa len treba. A to agenta, ktorý zabezpečuje komunikáciu so zariadeniami pripojenými na lokálne PC, na ktorom je agent spustený. Windows, Linux, macOS ci Docker, všetky tieto možnosti sú pre agenta podporované. Agent môže byť verejný alebo privátny. Verejný agent môže byť zdieľaný viacerými užívateľmi, a je teda možné zdieľať viaceré zariadenia pre viacero užívateľov. Toto umožňuje šetriť zdrojmi, ak je potrebné testovať na viacerých zariadeniach a operačných systémoch. Toto zdieľanie je nezávislé na použitom operačnom systéme, na ktorom je agent spustený.

Obr. 1 TestProject Agent
Zdroj: https://docs.testproject.io/testproject-agents/how-does-an-agent-fit-into-the-ecosystem

 

Ako spustiť TestProject?

Otvorením internetovej stránky www.testproject.io sa dostanete na domovskú stránku TestProjectu. Prvým krokom je vytvorenie užívateľského účtu. Po zaregistrovaní môžete začať rovno vytvárať nové testy. To, čo používateľa vždy osloví ako prvé, je užívateľské prostredie. Jednoduché, prehľadné a intuitívne. Tak pôsobí TestProjet. Projekty, testy, joby, menu a ponuka aktuálnych pluginov. To všetko je prehľadne zobrazené na úvodnej obrazovke TestProjectu. Každý užívateľ môže mať niekoľko projektov, v projekte niekoľko testov v adresárovej štruktúre a využiť možnosť spúšťania testov pomocou vytvorených jobov.

Obr. 2 Ako spustiť TestProject
Zdroj: GlobalLogic Slovakia – print screen pri spustení TestProject-u

 

Čo vie TestProject testovať?

S týmto frameworkom môžete otestovať native aplikácie pre mobilné zariadenia používajúce Android od verzie 5.0, iOs od verzie 10. Testovať sa dajú webové stránky pomocou rôznych prehliadačov. Api rozhrania sa tiež dajú testovať pomocou TestProjectu. 

 

Čo nevie TestProject testovať?

PC aplikácie momentálne nie sú podporované. Niektoré iné nástroje, ako napríklad Ranorex, túto možnosť majú. TestProject sa však neustále vyvíja a dopĺňa o ďalšie funkcionality. Testovanie PC aplikácií je plánované v blízkej budúcnosti.

 

Ako sa dajú v TestProjecte vytvoriť testy?

Manuálne, postupným vytváraním jednotlivých testovacích krokov je možné v užívateľskom prostredí bez nutnosti programovania zostaviť test. Netreba teda používať programovací jazyk, ale stačí vybrať objekt či element, zvoliť, akú akciu chceme nad daným objektom vykonať, a prípadne nastaviť parameter pre testovací krok. 

Písať pomocou programovacieho jazyka sa v TestProjecte priamo nedá. Na to je potrebné použiť IDE pre konkrétny programovací jazyk. Automaticky, vykonaním a súčasným zaznamenaním vykonaných krokov. Toto je pri niektorých testoch veľká výhoda. Nie je potrebné vyhľadávať veľké množstvo elementov, ale len testovací scenár vykonať, uložiť a test je hotový. Pre takto vytvorený test, alebo aj manuálne vytvorený test je možné vytvoriť sadu vstupných dát, ktoré test použije a tým test parametrizovať. Tento postup môže ušetriť mnoho času, ktorý je potrebný pri programovaní jednotlivých krokov.

Pomocou programovacieho jazyka. Jawa, c# , python. Všetky tieto programovacie jazyky sú podporované. Klasicky naprogramované testy sa však dajú importovať do TestProjectu. TestProject umožňuje exportovať vytvorené testy do niektorého z programovacích jazykov, následne je možné urobiť úpravy priamo v kóde a spätne test importovať do TestProjectu.

 

Ako sa dajú v TestProjecte spustiť testy?

Manuálne, či už každý test samostatne, alebo viacero testov v rámci projektu naraz manuálnym kliknutím na ikonu “Run” sa test vykoná. To, že je test aktuálne vykonávaný, a aj samotný výsledok  testu je signalizovaný ikonou pri názve testu. Na sledovanie behu testu je možné použiť samostatné menu – Monitor. Tu je vidieť aktuálny stav sputených testov, ako aj históriu spúšťania testov. Detailný popis, ako test prebehol, ktoré kroky boli vykonané správne a ktoré zlyhali, je možné vidieť v menu Reports. Výsledok testu je možné exportovať do pdf súboru.

Automaticky pomocou jobov. Testy môžu byť zoskupené do viacerých jobov. Joby je možné nakonfigurovať, aby boli pravidelne púšťané s rôznymi parametrami a s rôznou periodicitou. Nie je potrebné používať externé CI/CD nástroje, ako napríklad Jenkins, Bamboo či iné. TestProject však umožňuje integráciu s Jenkins CI/CD nástrojom. Pre distribúciu výsledkov možno využiť aj Slack. 

 

Čo ak niečomu v TestProjecte nerozumiem?

Ak nastane situácia, že niečo nie je jasné, je viacero možností, ako sa dopátrať k odpovedi. Okrem toho, že dokumentácia je dostupná pre všetky funkcie TestProjectu, je možné využiť diskusné fórum, alebo online komunikáciu s tímom ľudí, ktorí odpovedajú na všetky otázky. K dispozícií je aj blog, kde možno nájsť niekoľko príkladov, absolvovať „Tour“, kde je nový užívateľ zoznámený s funkciami TestProjektu. Existuje aj niekoľko videí, kde je TestProject predstavený.

 

Čo ak sa mi niečo v TestProjecte nepáči alebo v ňom nájdem chybu?

Nikto nie je neomylný a nič sa nepáči všetkým. Ak má niekto nejaký návrh na zlepšenie, je možné poslať tímu vývojárov “spätnú väzbu” v podobe vlastných nápadov. Ak je užívateľ presvedčený, že je niekde chyba, môže vytvoriť ticket s popisom problému.

 

 Čo sú to doplnky alebo “addons”?

TestProjekt ponúka viacero funkcií, ale tých nie je nikdy dosť. Na rozšírenie funkcionality slúžia “doplnky”, ktoré reprezentujú špeciálne funkcionality, ktoré sa dajú použiť v testoch. Existujú doplnky, ktoré sú zdieľané a dostupné v rámci TestProject komunity a aj doplnky, ktoré si môže každý vytvoriť sám a použiť v svojom projekte pre svoje špecifické zadanie. Jedným z dostupných doplnkov v rámci komunity je napríklad doplnok umožňujúci použiť ladiace príkazy na Android zariadeniach.

 

 TestProject a AI?

Umelá inteligencia je niečo, čo sa TestProject snaží využívať najmä pre elementy. Ak sa stane, že vývojár zmení niektorý z už v teste použitých elementov, TestProject sa snaží sám nájsť pôvodný element v novej verzii aplikácie a ponúknuť tento element testerovi ako náhradu za pôvodný. Je to akási forma samoopravy.

 

Aké sú výhody TestProjectu?
  • GUI pre jednoduchšie ovládanie
  • Import / export testov v programovacom jazyku
  • Zdieľanie testov medzi užívateľmi
  • Vlastný management jobov
  • Integrovaný CI/CD nástroj
  • Cross platform, cross browser, cross OS
  • Report, aktuálny monitoring a história testov

 

 Aké sú nevýhody TestProjectu?
  • PC native aplikácie zatiaľ nie sú podporované
  • Zatiaľ nestačí jeden generický kód pre iOS a Android zariadenia
  • Nutnosť internetového pripojenia pre prácu na cloude
 
Prečo práve TestProject?                                            

TestProject je jeden z mnohých testovacích nástrojov, ktoré sú dostupné pre testerov ako nástroj pre tvorbu automatizovaných testov. Každý z dostupných nástrojov má svoje silné, ale aj slabé stránky. TestProject nie je výnimka. Patrí ale k tým modernejším, u ktorých prevládajú pozitíva nad negatívami. Stále sa zlepšuje a snaží sa poskytnúť pre užívateľa čo najviac “hudby” za žiadne peniaze. Vývojári sú si vedomí nedostatkov tohto nástroja a požiadaviek reálnych užívateľov. Ich cieľom je poskytnúť užívateľovi jeden nástroj, ktorý je možný použiť pre testovanie čo najväčšieho počtu rôznorodých testovaných aplikácií.

Ak chceme úspešne otestovať produkt, je možné použiť viac spôsobov, ako sa dopracovať k výsledku. Môžeme použiť zaužívaný spôsob písania automatizovaných testov pomocou programovacieho jayzka, použiť viaceré nástroje pre prístup k aplikáciám a ich elementom, rôzne spôsoby spúšťania testov a vytvárania reportov. Celý tento proces vytvárania testov si ale môžeme výrazne zjednodušiť použitím automatizovaného frameworku a ušetriť tým nielen čas, ale aj prostriedky potrebné pre testovanie.

 

Referencie:

  1. https://testproject.io/
  2. https://docs.testproject.io/
  3. https://www.youtube.com/watch?v=pRqbrH3zQas&list=PL6tu16kXT9PrUJ842VaGcSNqIN7THFUlN&index=1
  • URL copied!