TestComplete: Automatizácia testovania webu, desktopu a mobilných aplikácií v praxi

TestComplete patrí medzi najpopulárnejšie komerčné nástroje na automatizované testovanie desktopových, webových aj mobilných aplikácií. Umožňuje pokryť široké spektrum testovacích scenárov v jednom prostredí. Pomáha QA tímom automatizovať opakované testy spoľahlivo a konzistentne, a to najmä pri projektoch s častými zmenami a pravidelnými release.

Automatizované testovanie softvéru v TestComplete – QA tím pracujúci na webových, desktopových a mobilných aplikáciách s vizualizáciou testovacích scenárov.
TestComplete – automatizované testovanie webových, desktopových a mobilných aplikácií

V článku sa dozvieš:

    TestComplete pochádza od spoločnosti SmartBear a využívajú ho tímy, ktoré potrebujú rýchlo a efektívne automatizovať veľké množstvo testov a zároveň nechcú byť obmedzené len na jeden typ aplikácie alebo jednu technológiu. Je určený pre tímy, ktoré pracujú v agilnom aj tradičnom vývojovom prostredí, a je vhodný pre projekty, kde sa vyžaduje opakovateľné, konzistentné a detailné testovanie. Výhodou TestComplete je, že si s ním vystačíš, aj keď nie si profesionálny programátor, ale zároveň ponúka dostatok možností, ak potrebuješ niečo prispôsobiť cez skriptovanie.

    Čo je TestComplete a ako funguje

    TestComplete je GUI testovací nástroj, ktorý umožňuje zaznamenávať, vytvárať a spúšťať automatizované testy. Vie testovať aplikácie na rôznych platformách vrátane:

    • Desktopových aplikácií (Windows).
    • Webových aplikácií (rôzne prehliadače).
    • Mobilných aplikácií (Android a iOS).

    Vieš, že…

    …kľúčom k jeho popularite je kombinácia record-and-playback funkcie a skriptovacej flexibility. To znamená, že ak si manuálny tester, vieš si rýchlo nahrať kroky a spustiť ich znova. Ak si technicky zdatnejší, môžeš použiť jazyky ako JavaScript, Python, VBScript, DelphiScript, C++Script alebo C#Script na vytvorenie komplexných scenárov?

    Hlavné dôvody, prečo firmy volia TestComplete

    TestComplete pomáha mnohým QA tímom. Medzi tie najdôležitejšie dôvody v prospech nástroja patria:

    Podpora viacerých technológií – Vie pracovať s aplikáciami napísanými v Java, .NET, C++, Delphi, HTML5, Angular, React, Flutter a mnohých ďalších technológiách.

    Jednoduchý vstup pre začiatočníkov – Ak nemáš skúsenosti s programovaním, stačí ti nahrávanie testov a vizuálny editor.

    Skriptovacia flexibilita – Skúsení QA inžinieri môžu písať vlastné funkcie a podmienené scenáre.

    Bohaté možnosti integrácie – Vie sa prepojiť s Jenkins, Azure DevOps, Jira, Git, Bitbucket, TestRail a inými nástrojmi.

    Silné rozpoznávanie objektov – Používa technológiu „Name Mapping“, vďaka ktorej vie identifikovať elementy aj pri zmenách v UI.

    Licencovanie a edície

    TestComplete funguje na báze platených licencií, nie je to open source. SmartBear ponúka:

    • Node-Locked licenciu – viazanú na jedno zariadenie.
    • Floating licenciu – pre viacerých používateľov v rámci siete.
    • Podľa modulov – môžeš si zakúpiť licenciu len pre web, len pre desktop alebo len pre mobilné testovanie, prípadne kombináciu.

    Cena sa odvíja od rozsahu a typu licencie, takže je vhodné kontaktovať SmartBear alebo partnera pre presnú kalkuláciu.

    Typy testov, ktoré TestComplete podporuje sú:

    • Funkčné testovanie – Overenie, či funkcionality aplikácie fungujú podľa špecifikácie.
    • Regression testing – Automatizované spúšťanie testov po zmenách v kóde, aby sa zachovala stabilita.
    • Data-driven testing – Využitie externých dát (CSV, Excel, databázy) pre testovanie rôznych vstupov.
    • Keyword-driven testing – Tvorba testov pomocou kľúčových slov, čo zjednodušuje údržbu.
    • Behavior-driven testing (BDD) – Integrácia s nástrojmi ako Cucumber pre BDD prístup.

    Architektúra TestComplete a spôsob fungovania

    TestComplete je navrhnutý tak, aby podporoval modulárne testovanie a umožnil testerom pokrývať rôzne platformy v rámci jedného nástroja.

    Architektúra TestComplete je postavená na princípe jadra a modulov:

    • Jadro (Core) – zabezpečuje samotný beh aplikácie, správu projektov, nahrávanie a spúšťanie testov, prácu so skriptami a reportovanie výsledkov.
    • Moduly – pridávajú podporu pre konkrétne platformy alebo typy aplikácií (Web, Desktop, Mobile). Môžeš si zakúpiť len tie, ktoré potrebuješ.

    Komponenty TestComplete

    TestComplete sa skladá z viacerých komponentov, ktoré spolu tvoria ucelené prostredie na automatizované testovanie a pokrývajú celý proces od tvorby testov až po ich spúšťanie a vyhodnocovanie.

    1. TestComplete IDE

    Hlavné používateľské rozhranie, v ktorom vytváraš, upravuješ a spúšťaš testy.
    Obsahuje:

    • Project Explorer – správa testovacích projektov.
    • Keyword Test Editor – vizuálne skladanie testov z kľúčových slov.
    • Script Editor – pre programovanie testov.
    • Object Browser – náhľad na elementy aplikácie.
    • Test Log – výsledky a reporty z testovania.
    1. TestExecute

    Ľahká verzia TestComplete určená na spúšťanie testov bez plného IDE.
    Vhodná pre CI/CD prostredia, kde nepotrebuješ editovať testy, iba ich spúšťať.

    1. Name Mapping Engine

    Mechanizmus, ktorý mapuje UI elementy podľa vlastností, nie len podľa konkrétneho názvu alebo ID.
    Toto je veľmi dôležité pre stabilitu testov, pretože UI sa často mení.

    1. Integrácie a API

    TestComplete poskytuje prístup cez API, vďaka ktorému vieš spúšťať testy alebo získavať výsledky priamo z iných nástrojov.

    Integrácie a ekosystém TestComplete

    TestComplete sa dá prepojiť s množstvom ďalších nástrojov, čo z neho robí vhodné riešenie pre rôzne vývojové tímy:

    CI/CD integrácie

    • Jenkins
    • Azure DevOps
    • Bamboo
    • TeamCity

    Test manažment

    • Jira
    • Zephyr
    • TestRail

    Version Control

    • Git
    • SVN
    • Bitbucket

    Podpora BDD

    Integrácia s Cucumber umožňuje spúšťať testy napísané v Gherkin formáte.

    Príklady praktického použitia TestComplete

    Tieto praktické príklady ti ukážu, ako môže TestComplete uľahčiť tvoju prácu:

    1. Data-driven testing

    Predstav si, že testuješ prihlasovanie s rôznymi kombináciami používateľského mena a hesla.

    V TestComplete si vieš pripraviť Excel súbor s testovacími dátami:

    Username Password ExpectedResult
    admin 123456 success
    user1 wrongpwd fail

    TestComplete automaticky načíta tieto dáta a spustí test pre každú kombináciu bez toho, aby si musela kopírovať kroky viackrát.

    1. Cross-browser testing

    Ak máš webovú aplikáciu, ktorú musia používatelia používať v Chrome, Firefoxe aj Edge, TestComplete vie test spustiť postupne na všetkých prehliadačoch a porovnať výsledky.

    1. Integrácia s Jenkins

    Tím nastaví Jenkins job, ktorý po každom pushnutí kódu do repozitára spustí TestComplete testy cez TestExecute. Výsledky sa potom zobrazia priamo v Jenkins reporte a tester hneď vie, či sa niečo pokazilo.

    Výhody TestComplete

    Z výhod TestComplete vyniká najmä univerzálnosťou a flexibilitou, vďaka čomu ho dokážu efektívne využívať menšie tímy aj veľké enterprise projekty.

    Jednotné prostredie pre web, desktop a mobil.

    Podpora pre neprogramátorov aj skúsených automatizérov.

    Veľmi presné rozpoznávanie UI elementov.

    Možnosť písania testov v populárnych skriptovacích jazykoch.

    Bohatá dokumentácia a podpora od SmartBear komunity.

    Stabilné integrácie s CI/CD a manažment nástrojmi.

    Nevýhody TestComplete

    Aj napriek silným funkciám má TestComplete nevýhody, ktoré je dobré zvážiť najmä pri výbere nástroja pre menšie tímy alebo špecifické projekty.

    Platený nástroj, cena môže byť vysoká pre menšie tímy.

    Nie je multiplatformový – funguje len na Windows.

    Testovanie mobilných aplikácií vyžaduje dodatočné nastavenia a licencie.

    Pre veľmi veľké testovacie sady môže byť výkonovo náročný.

    Najlepšie postupy pri práci s TestComplete

    TestComplete vydá svoje maximum, ak sa dodržia overené postupy, ktoré zlepšia stabilitu testov, uľahčia údržbu a zrýchlia spúšťanie.

    1. Používaj Name Mapping

    Name Mapping je mechanizmus, ktorý mapuje elementy aplikácie podľa ich unikátnych vlastností, nie len podľa ID alebo názvu. Ak sa zmení ID alebo pozícia elementu, test stále vie nájsť správny objekt.

    Vytvor si logickú hierarchiu elementov, napríklad:

    LoginPage -> UsernameField
    LoginPage -> PasswordField
    LoginPage -> LoginButton

    2. Dátovo riadené testovanie (Data-Driven Testing)

    Namiesto kopírovania krokov pre rôzne vstupné dáta použi Excel, CSV alebo databázu. TestComplete podporuje načítanie dát a ich použitie v cykle. Výhoda je, že zmena vstupných hodnôt nevyžaduje úpravu skriptu.

    3. Rozdeľ testy na moduly

    Nepíš obrovské zložité testy. Rozdeľ ich na menšie funkčné časti (napríklad Login, Search, Checkout). Menšie testy vieš znovu použiť v iných scenároch.

    4. Používaj Keyword-Driven aj Script-Driven prístup

    Keyword testy sú ideálne pre manuálnych testerov alebo jednoduchšie scenáre. Skriptovanie (Python, JavaScript) je lepšie pre zložité logiky alebo dynamické testy. Kombinácia oboch prístupov zvyšuje flexibilitu tímu.

    5. Automatizuj regresné testy

    Nastav spúšťanie testov cez TestExecute po každej zmene v kóde. Integruj do CI/CD (Jenkins, Azure DevOps) a výsledky maj automaticky odosielané tímu.

    6. Logovanie a screenshoty

    Pri chybe je užitočné mať screenshot obrazovky alebo stav aplikácie. TestComplete vie automaticky robiť screenshoty pri neúspechu kroku. Ulož ich do centrálneho reportu.

    7. Používaj Self-Healing Testy

    Self-healing dokáže prispôsobiť testy zmenám v UI (napríklad zmena atribútu tlačidla). Znižuje to potrebu neustálej údržby testov po malých zmenách aplikácie.

    22 min.Testovanie webových aplikácií

    Testovanie webových aplikácií

    V tomto článku dozvieš, čo predstavuje testovanie webových aplikácií, aké existujú typy testovania, benefity, výzvy a nástroje na testovanie webových aplikácií.

    Odporúčaná architektúra testov v TestComplete

    Správna štruktúra testov v TestComplete ti uľahčí prácu a zníži čas na údržbu.

    Odporúčaný model:

    1. Project Suite – hlavný balík testov (napr. WebAppTestSuite).
    2. Projects – rozdelenie podľa aplikácie alebo modulu (LoginModule, PaymentModule).
    3. Keyword Tests – vizuálne testy na bežné úlohy.
    4. Script Units – skripty na zložitejšie operácie.
    5. Name Mapping – jednotná definícia elementov.
    6. Test Data Files – samostatný priečinok pre CSV, Excel alebo JSON súbory.
    7. Logs – centrálne úložisko pre výsledky testov.

    Porovnanie TestComplete s inými nástrojmi

    Pozri si porovnanie TestComplete s nástrojmi ako Selenium, Katalon Studio, Ranorex či Cypress

    TestComplete

    TestComplete je komerčný nástroj od SmartBear na automatizáciu testovania desktopu, webu a mobilu. Podporuje skriptovanie v Python, JavaScript, VBScript a ďalších jazykoch, aj bezkódové Keyword testy.

    Výhody:

    Široká podpora platforiem – Windows desktop, webové prehliadače, iOS a Android.

    Codeless aj skriptované testy v jednom projekte.

    Stabilná identifikácia UI prvkov cez Name Mapping a podpora self healing.

    Integrácie s CI CD – Jenkins, Azure DevOps, GitLab CI, Bamboo.

    Bohaté reporty – screenshoty, video, JUnit export, metriky stabilty.

    Nevýhody:

    Platený nástroj s vyššou cenou licencie.

    Beží len na Windows, aj keď vie testovať web naprieč OS cez vzdialené prehliadače.

    Pri veľkých projektoch môže Name Mapping rásť a vyžaduje disciplínu v údržbe.

    Selenium

    Open source rámec pre webové testy v prehliadačoch. Testy píšeš v Java, Python, C Sharp, JavaScript a ďalších.

    Výhody:

    Zadarmo a s obrovskou komunitou.

    Podpora viacerých jazykov, prehliadačov a operačných systémov.

    Flexibilné napojenia na knižnice, reportovanie a gridy.

    Nevýhody:

    Iba web. Pre mobil potrebuješ Appium, pre desktop iné nástroje.

    Vyžaduje programátorské zručnosti, bez vizuálneho návrhu testov.

    Údržba veľkých balíkov testov si pýta robustnú architektúru a vlastné utility.

    17 min.Úloha a vplyv DevOps na testovanie

    Úloha a vplyv DevOps na testovanie

    V tomto článku sa pozrieme na to, čo je DevOps a akú úlohu a vplyv má na testovanie softvéru.

    Katalon Studio

    Nadstavba nad Selenium a Appium s jednoduchším UI, reportingom a integráciami.

    Výhody:

    Web, API, mobil aj desktop v jednom prostredí.

    Codeless aj skriptované testy.

    Prívetivé reporty a jednoduchá integrácia do CI CD.

    Základ zdarma, rýchly štart pre tímy bez silného programátorského backgroundu.

    Nevýhody:

    Pokročilé funkcie a cloud sú platené.

    Menšia voľnosť ako pri čistom Seleniovom stacku.

    Ranorex Studio

    Komerčný konkurent TestComplete so záberom na desktop, web a mobil. Skriptovanie v .NET, silné Record and Play.

    Výhody:

    Stabilná identifikácia UI, automatické čakania, kvalitný recorder.

    Pevné reporty a dobrá podpora pre Windows desktop aplikácie.

    Integrácie s nástrojmi pre manažment testov a CI CD.

    Nevýhody:

    Platený, vyššia cena.

    Primárne Windows prostredie.

    Menší ekosystém než Selenium.

    Cypress

    Moderný nástroj pre web front end, ideálny pre JS TS stack a SPA frameworky.

    Výhody:

    Rýchle nastavenie a spúšťanie, výborný DX.

    Debug priamo v prehliadači, časová os priebehu testu.

    Silná komunita a kvalitná dokumentácia.

    Nevýhody:

    Len web. Bez podpory natívneho mobilu a desktopu.

    Historicky obmedzenejšia podpora niektorých prehliadačov a multi tab scenárov.

    Dátovo ťažké E2E testy vyžadujú premyslený dizajn a stubovanie.

    Kedy siahnuť po ktorom nástroji

    • Ak chceš jeden nástroj na desktop, web a mobil bez bojovania s knižnicami a chceš dobré reporty hneď po vybalení – TestComplete alebo Ranorex.
    • Ak robíš prevažne web, tím vie programovať a chceš maximálnu kontrolu a škálovanie –
    • Ak chceš rýchlu produktivitu, kombináciu codeless a kódu, web API mobil v jednom a nechceš skladať vlastný stack – Katalon Studio.
    • Ak máte silný JS TS front end a potrebuješ bleskové E2E testy s výborným DX-Cypress.

    11 min.Cloud testing - testovanie s cloudovými technológiami

    Cloud testing – testovanie s cloud technológiami

    V článku ti popíšeme čo je cloud, cloud testing, aký je jeho význam a jeho využitie v oblasti testovania softvéru.

    Best practices pre TestComplete

    TestComplete vie byť veľmi silný nástroj, ale jeho skutočný potenciál sa ukáže až vtedy, keď máš projekt dobre navrhnutý a testy sa dajú ľahko udržiavať. Tu je niekoľko overených postupov, ktoré ti pomôžu udržať testy čisté, stabilné a rýchlo spustiteľné.

    1. Premyslená projektová štruktúra

    • Rozdeľ testy podľa modulov aplikácie alebo podľa typov testov (smoke, regression, integration).
    • Vytvor priečinky pre Shared Units (spoločné funkcie), Data (CSV, Excel, JSON) a Page Objects.
    • Ak máš veľa testov, používaj aj podsložky podľa oblastí (napríklad Login, Checkout, Admin Panel).

    2. Stratégia pre Name Mapping

    • Vždy používaj Alias Names namiesto priameho prístupu k objektom.
    • Používaj wildcardy alebo regulárne výrazy pre dynamické ID a triedy.
    • Udržiavaj logickú hierarchiu objektov – napríklad Login.UsernameField namiesto dlhého stromu cez divy.
    • Name Mapping priebežne čist a refaktoruj – nenechaj ho prerásť do stovky zbytočných uzlov.

    3. Self-healing a stabilné selektory

    • Self-healing je užitočný pri menších zmenách UI, ale nemal by nahrádzať dobré selektory.
    • Kombinuj vlastnosti objektov (Name, ID, text, role) tak, aby selektor zostal platný aj po menšom rebrandingu.
    • Pri testovaní webu používaj FindChild a XPath len tam, kde to dáva zmysel.

    4. Data driven testy

    • Parametrizuj testy z CSV, Excel alebo databázy.
    • Udržuj testovacie dáta mimo kódu, aby ich bolo možné meniť bez zásahu do skriptu.
    • Používaj generátory dát pre unikátne hodnoty (napríklad unikátne e-maily pri registrácii).

    5. Stabilita a rýchlosť

    • Namiesto pevných čakaní používaj WaitFor alebo WaitProperty.
    • Pre akcie vytvor vlastné utility, ktoré robia retry, ak prvok neodpovedá hneď.
    • Spúšťaj kritické testy častejšie a dlhé regresie v plánovaných oknách, napríklad v noci.

    6. Integrované reportovanie

    • Využívaj vstavané HTML a JUnit reporty.
    • Pri chybe ukladaj screenshoty a video – veľmi pomáhajú pri debugovaní.
    • Ak integruješ do CI/CD, nastav export výsledkov do centrálneho dashboardu.

    16 min.Visual testing a top free tooly

    Visual regression testing a top bezplatné nástroje

    V tomto článku sa pozrieme na to, čo je visual testing, aké existujú najlepšie bezplatné nástroje pre vizuálne testovanie, ich výhody a obmedzenia.

    CI/CD integrácia krok za krokom

    Automatizované testy v TestComplete sa dajú perfektne zapojiť do CI/CD pipeline, aby sa spúšťali automaticky po nasadení novej verzie aplikácie.
    Tu je jednoduchý plán, ako to rozbehnúť.

    1. Príprava projektu na CI

    • Všetky testy aj s dátami musíš mať vo verziovacom systéme (Git).
    • V TestComplete nastav relatívne cesty k dátam a knižniciam, aby projekt fungoval na akomkoľvek build serveri.
    • Urči test suites, ktoré sa budú spúšťať pri každom commite (smoke testy) a ktoré len pri nočných buildoch (plná regresia).

    2. Voľba spôsobu spúšťania

    • TestComplete Command Line – umožňuje spúšťať testy priamo cez exe alebo TestExecute.exe.
    • TestExecute – lacnejšia runtime verzia bez UI, ideálna na CI/CD servery.
    • Príklad príkazu:
    TestExecute.exe "C:\Tests\MyProject.pjs" /run /project:MyAppTests /exit /SilentMode

    3. Jenkins integrácia

    • Nainštaluj plugin TestComplete Support v Jenkinsi.
    • V jobe alebo pipeline pridaj build step TestComplete Test a vyber cestu k projektu.
    • Nastav export výsledkov do JUnit XML a zobraz ich priamo v Jenkins dashboarde.

    Ukážka pipeline:

    pipeline {
        agent any
        stages {
            stage('Build') {
                steps {
                    bat 'build_app.bat'
                }
            }
            stage('Test') {
                steps {
                    bat '"C:\\Program Files (x86)\\SmartBear\\TestExecute\\bin\\TestExecute.exe" "C:\\Tests\\MyProject.pjs" /run /exit /SilentMode /ExportLog:C:\\Tests\\Reports\\Results.mht'
                }
            }
        }
        post {
            always {
                junit 'C:\\Tests\\Reports\\*.xml'
            }
        }
    }
    

    4. Azure DevOps integrácia

    • Vytvor nový task Command Line a spusti TestExecute s príslušnými parametrami.
    • Nastav publikovanie výsledkov cez Publish Test Results.
    • Môžeš použiť aj Azure DevOps Extension for TestComplete, ktorá integráciu zjednoduší.

    5. GitLab CI integrácia

    • Pridaj TestExecute príkaz do
      .gitlab-ci.yml.
    • Výsledky exportuj do artefaktov, aby si ich mohol otvoriť priamo v GitLab rozhraní.

    Príklad:

    test:
      stage: test
      script:
        - '"C:\\Program Files (x86)\\SmartBear\\TestExecute\\bin\\TestExecute.exe" "C:\\Tests\\MyProject.pjs" /run /exit /SilentMode /ExportLog:C:\\Tests\\Reports\\Results.mht'
      artifacts:
        paths:
          - C:\\Tests\\Reports

    6. Paralelné spúšťanie

    • Ak máš viacero testov, ktoré sa môžu spustiť naraz, rozdeľ ich do viacerých CI jobov.
    • Môžeš mať napríklad testy pre login, objednávky a reporty spustené na rôznych agentech súčasne.
    • Toto výrazne skracuje čas regresného behu.

    Záver

    TestComplete patrí medzi najuniverzálnejšie a najpoužívanejšie nástroje na automatizované testovanie. S jeho podporou pre rôzne platformy, jazyky a typy testov dokážeš pokryť funkčné, regresné aj integračné testovanie v jednom prostredí. Vďaka vizuálnemu record-and-playback režimu je prístupný aj pre menej technických testerov, no zároveň ponúka pokročilé možnosti skriptovania pre náročnejšie scenáre.

    Ak ho doplníš o dobré postupy, stabilné selektory, čistú štruktúru projektu a integráciu do CI/CD pipeline, stane sa spoľahlivým základom pre rýchle a opakovateľné testovanie. TestComplete dokáže pomôcť skrátiť čas nasadzovania nových verzií, znížiť počet chýb v produkcii a zlepšiť celkovú kvalitu softvéru.

    Je to nástroj, ktorý sa oplatí zvážiť, ak hľadáš robustné riešenie na dlhodobú automatizáciu testov a potrebuješ, aby ho zvládol používať celý tím, od manuálnych testerov až po skúsených automatizérov.

    O autorovi

    Michaela Kojnoková

    Agile Test Engineer

    Po štúdiu informatiky na ŽU a TUKE som sa najviac ponorila do oblasti automatizácie testovania. Okrem toho sa venujem tvorbe webov, databázam, dátovej analytike, umelej inteligencii a strojovému učeniu. Mám rada cestovanie, šport a najviac si užívam čas strávený v prírode s mojimi blízkymi. LinkedIn

    Daj nám o sebe vedieť