Globallogic

TestProject – automatizovan├Ż testovac├ş framework

share

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.

Obr. 3 Porovnanie testovac├şch n├ístrojov
Zdroj: GlobalLogic Slovakia

Referencie:

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