IT Systems Integration Consultant
UAT testing (user acceptance testing) je záverečná fáza testovania softvéru pred nasadením do produkcie. Overuje, či systém spĺňa požiadavky zadávateľa a koncových používateľov. Nie z pohľadu technického tímu, ale z pohľadu tých, ktorí budú produkt skutočne používať. V článku nájdeš definíciu acceptance testingu a UAT testingu, ich typy, priebeh UAT procesu krok za krokom, UAT checklist a best practices.

V článku sa dozvieš:
UAT testing je typ softvérového testovania, pri ktorom sa overuje, či produkt spĺňa vopred definované akceptačné kritériá a biznis požiadavky. Je to záverečná fáza SDLC (software development lifecycle) pred nasadením do produkcie.
Acceptance testing patrí medzi black box testing (testovanie čiernej skrinky), t. j. testeri nevidia vnútornú štruktúru kódu, overujú len správnosť funkcionálneho správania systému. Cieľom nie je hľadať technické chyby, ale potvrdiť: „Systém robí to, čo sme si objednali“.
V kontexte typov softvérového testovania je acceptance testing nadradený QA testovaniu. Nastupuje až po tom, čo QA tím potvrdil technickú funkčnosť systému.
UAT testovanie sa vykonáva na samom konci SDLC — po systémovom testovaní, integračnom testovaní a regresnom testovaní, tesne pred nasadením do produkcie.
…až 70 % softvérových projektov prekročí rozpočet alebo termín? Jedným z hlavných dôvodov je chýbajúce alebo zle nastavené akceptačné testovanie (acceptance testing). UAT testing odhaluje požiadavky, ktoré si klient predstavoval inak, než ich vývojári implementovali, a to ešte pred nasadením do produkcie.
| Fáza testovania | Kto testuje | Čo overuje |
|---|---|---|
| Unit testing | Vývojár | Jednotlivé funkcie a moduly kódu |
| Integration testing | QA tím | Spolupráca medzi komponentmi |
| System testing | QA tím | Celý systém ako celok |
| UAT testing | Koncoví používatelia / zadávateľ | Splnenie biznis požiadaviek |
UAT je teda posledná vrstva kontroly pred produkciou — a jediná, ktorú vykonávajú nie testeri, ale samotní zadávatelia alebo koncoví používatelia. Práve preto sa v odbornej literatúre stretneš aj s pojmom UAT v softvérovom testovaní (UAT in software testing).
Acceptance testing prináša jasné benefity, ale aj obmedzenia, ktoré treba zvážiť pri plánovaní projektu.
Medzi výhody akceptačného testovania patrí najmä, že:
Avšak UAT testing má aj nevýhody. Testovanie je:
UAT nevykonávaj po každej malej zmene. Rezervuj ho pre významné releasy, nové funkcie alebo zmeny, ktoré priamo ovplyvňujú biznis procesy klienta. Pre malé opravy postačí regresné testovanie od QA tímu.
Acceptance testing nie je jediný typ. Existuje viacero foriem, z ktorých každá je určená pre iný kontext a iný typ zákazníka. Tu sú hlavné typy UAT:
UAT testing overuje, či systém spĺňa požiadavky koncových používateľov. Vykonáva ho zadávateľ alebo reprezentatívna skupina skutočných používateľov tesne pred nasadením do produkcie. Je to najrozšírenejší typ acceptance testovania.
BAT (Business Acceptance Testing) overuje, či systém spĺňa biznis požiadavky a SLA (Service Level Agreement). Zameriava sa na to, či produkt prispeje k obchodným cieľom firmy a nielen na funkčnosť.
CAT (Contract Acceptance Testing) testuje systém oproti presne definovaným zmluvným požiadavkám. Využíva sa pri dodávkach softvéru na zákazku, kde kontrakt definuje akceptačné kritériá.
RAT (Regulation Acceptance Testing) overuje súlad systému s regulačnými a zákonnými požiadavkami, napr. GDPR, finančné regulácie, zdravotnícke normy. V poistenectve a financiách je RAT povinný.
OAT (Operational Acceptance Testing) testuje operačnú pripravenosť systému: zálohovanie, obnova po havárii, správa používateľov, monitoring. Vykonáva ho IT operačný tím pred prechodom do produkcie.
Alfa testovanie (alpha testing) vykonáva interný tím výrobcu – testeri, QA inžinieri alebo zamestnanci. Prebieha v riadenom prostredí ešte pred vydaním produktu vonkajším používateľom. Je prvou fázou acceptance testovania pre konzumný softvér.
Beta testovanie (beta testing) vykonáva obmedzená skupina reálnych používateľov mimo firmy výrobcu. Beta test je verejná alebo uzavretá fáza, kde produkt testujú tí, čo ho budú skutočne používať.
Proces UAT testovania (UAT testing process) má 5 hlavných krokov. Každý krok má jasného vlastníka a výstup, bez ktorého nemá zmysel pokračovať ďalej.
QA tím alebo projektový manažér pripraví testovací plán (test plan). Ten definuje rozsah UAT, akceptačné kritériá (acceptance criteria), harmonogram, testovacích používateľov a prostredie. Bez schváleného plánu je UAT nekontrolovateľné.
Akceptačné kritériá definuj ešte pred začatím vývoja – nie až pri UAT. Ak kritériá vzniknú až na konci projektu, často odrážajú to, čo bolo implementované, nie to, čo klient skutočne potreboval.
Pre UAT je nevyhnutné separátne testovacie prostredie, ktoré reálne simuluje produkciu. Nikdy netestuj priamo v produkcii. Pripravia sa testovacie dáta, prístupové práva pre UAT testerov a dokumentácia požiadaviek.
Vytvoria sa akceptačné testovacie prípady (acceptance test cases). Sú to štruktúrované scenáre, ktoré overujú splnenie každej biznis požiadavky. Každý test case obsahuje vstupné podmienky, kroky a očakávaný výsledok (pass/fail).
Pri tvorbe test cases zahrň aj negatívne testovanie – scenáre, kde používateľ zadá nesprávne alebo hraničné hodnoty. Koncoví používatelia často testujú len tzv. „happy path” a prehliadnu chybové stavy.
Koncoví používatelia alebo zadávateľ vykonajú testy podľa pripraveného scenára. Každý defekt sa zaznamenáva s popisom, prioritou a reprodukovateľným krokom. Na evidenciu defektov sa často využíva Jira alebo TestRail.
Počas testovania prebieha priebežná komunikácia s vývojovým tímom (development team). Kritické defekty sa opravujú hneď, menej závažné sa zaraďujú do backlogu.
Po dokončení UAT zainteresované strany podpíšu UAT sign-off dokument. Ide o formálny súhlas, že systém spĺňa akceptačné kritériá a je pripravený na nasadenie. Pri neakceptovateľných defektoch nasleduje oprava a opakovaný test. Výsledkom je rozhodnutie go/no-go pre produkciu.
Príklady UAT testovania (user acceptance testing examples) z poisťovacieho prostredia pomáhajú pochopiť, čo UAT testing v realite znamená.
Predstav si poisťovaciu spoločnosť, ktorá nasadzuje novú funkciu pre online podávanie hlásenia škôd. Vývojový tím odovzdal systém po systémovom testovaní. Nasleduje UAT:
Každý UAT test case má presne definovaný očakávaný výsledok. Ak používateľ pri teste narazí na neočakávané správanie, vytvorí bug report a defekt sa priradí do systému riadenia defektov. Exploratory testing sa používa skôr, pri UAT už ide o štruktúrované overovanie podľa definovaných kritérií.
| Pole | Príklad |
|---|---|
| ID | UAT-001 |
| Názov | Odoslanie nového hlásenia škody cez webový formulár |
| Predpoklad | Používateľ je prihlásený, má aktívnu poistku |
| Kroky | 1. Kliknúť na „Nahlásiť škodu” 2. Vyplniť všetky povinné polia 3. Nahrať fotografiu 4. Odoslať formulár |
| Očakávaný výsledok | Formulár je uložený, používateľ dostane potvrdenie e-mailom do 2 minút |
| Skutočný výsledok | (vyplní tester) |
| Status | Pass/fail |
Keď sa pozrieme na UAT vs QA testovanie, rozdiel je v tom, kto testuje a čo overuje. QA tím overuje technickú správnosť – či systém funguje podľa špecifikácie. UAT overuje biznis správnosť, či systém robí to, čo klient skutočne potrebuje.
| Kritérium | Integration testing | System testing | UAT testing |
|---|---|---|---|
| Čo testuje | Komunikáciu medzi komponentmi | Celý systém ako celok | Splnenie biznis požiadaviek |
| Kto testuje | QA / vývojár | QA tím | Koncoví používatelia / zadávateľ |
| Kedy v SDLC | Po unit testovaní | Po integračnom testovaní | Pred nasadením do produkcie |
| Typ testovania | Grey/white box | Black box | Black box |
| Cieľ | Overiť integráciu | Overiť funkčnosť systému | Overiť biznis akceptáciu |
UAT testing nie je náhrada za systémové ani integračné testovanie. Je to posledná vrstva pred produkciou. Každá fáza má iný cieľ a iný typ chýb, ktoré dokáže odhaliť.
Správne nástroje zefektívnia UAT proces od plánovania test cases až po evidenciu defektov a UAT sign-off. Tu sú najčastejšie používané nástroje UAT testingu:
TestRail je nástroj pre správu testovacích prípadov, ktorý UAT tímom umožňuje organizovať test cases, sledovať výsledky testovania a generovať reporty pre sign-off. Ideálne pre štruktúrované UAT s viacerými testovacími cyklami.
Jira slúži na evidenciu defektov a sledovanie stavu opráv počas UAT. Každý bug report sa vytvorí ako Jira issue s prioritou, assignee a reprodukčnými krokmi. V kombinácii so Zephyr pokryje celý UAT cyklus od test case až po sign-off.
Confluence sa využíva na dokumentáciu UAT plánu, akceptačných kritérií a UAT sign-off dokumentu. Centralizuje všetku dokumentáciu na jednom mieste dostupnom celému tímu.
Pre UAT testing kombinuj TestRail na správu test cases a Jiru na evidenciu defektov. Oba nástroje sa integrujú – defekty z TestRailu sa priamo prepájajú do Jira issues bez ručného prepisovania.
Dobre pripravený UAT checklist je rozdiel medzi chaotickým a úspešným akceptačným testovaním. Tu je UAT testing checklist rozdelený do troch fáz:
Úspešné UAT nespočíva len v nasledovaní procesu – záleží aj na tom, ako tím pristupuje k testovaniu a komunikácii:
UAT testing (user acceptance testing) je záverečná fáza testovania softvéru, pri ktorej koncoví používatelia alebo zadávateľ overujú, či systém spĺňa biznis požiadavky a akceptačné kritériá. Prebieha po systémovom testovaní, pred nasadením do produkcie.
Keď sa pozrieme na UAT vs QA testovanie, rozdiel je v tom, kto testuje a čo overuje. QA tím overuje technickú správnosť systému — teda či funguje bez chýb. UAT overuje biznis správnosť, či systém robí to, čo klient skutočne potrebuje. QA testovanie prebieha v skorších fázach SDLC, UAT je posledná vrstva pred produkciou.
UAT testing nevyžaduje programátorské zručnosti. Testerom môže byť aj bežný biznis používateľ. Nevyhnutné sú znalosť biznis procesov, schopnosť popísať defekt reprodukovateľne a pochopenie akceptačných kritérií. Pre organizátora UAT sú dôležité projektové riadenie a komunikačné zručnosti.
Príklad UAT testu z poisťovacieho prostredia: používateľ overí, či vie správne vyplniť a odoslať hlásenie škody cez webový portál. Test case definuje vstupné podmienky, kroky a očakávaný výsledok (napr. potvrdenie prijatia emailom do 2 minút). Detailný príklad akceptačného testovacieho prípadu nájdeš vyššie v článku.
UAT testing je posledná nevyhnutná vrstva ochrany pred nasadením softvéru do produkcie. Dobre nastavené akceptačné testovanie zachráni projekt pred draho opravovanými defektami, ktoré by objavil až zákazník.
Kľúč k úspešnému UAT je v príprave: jasné akceptačné kritériá, separátne prostredie, štruktúrované test cases a zapojenie skutočných používateľov. Ak chceš vedieť viac o tom, ako zapadajú rôzne typy testovania do seba, pozri sa na typy softvérového testovania alebo na rolu QA testera v praxi.
Zdroje:
https://www.testrail.com/blog/user-acceptance-testing/
https://www.panaya.com/blog/testing/what-is-uat-testing/
https://glossary.istqb.org/
https://www.guru99.com/user-acceptance-testing.html
https://www.practitest.com/resource-center/article/what-is-uat-testing/
Súvisiace články