IT Systems Integration Consultant
API testing patrí medzi najefektívnejšie spôsoby, ako odhaliť chyby ešte predtým, než sa dostanú k používateľovi. Overuje logiku, dátové toky aj bezpečnosť aplikácie priamo na úrovni rozhraní, kde vzniká väčšina kritických problémov. Zoznám sa s typmi API testov, odporúčanými nástrojmi ako Postman, Cypress či Apache JMeter a praktickými stratégiami, ktoré využiješ pri testovaní v reálnych projektoch.

V článku sa dozvieš:
API (Application Programming Interface – aplikačné programové rozhranie) je kontrakt medzi dvoma softvérovými komponentmi. Definuje, ako si systémy vymieňajú dáta a volajú funkcie navzájom. Používa ho každý moderný systém. Mobilná aplikácia volá API, aby získala kurzy mien, poisťovňa volá API, aby overila platobnú históriu klienta, e-shop volá API platobnej brány pri každej transakcii. API testing je pre spoľahlivosť týchto procesov nevyhnutný.
API rozhranie tvorí jadro každej modernej aplikácie. Ak API nefunguje, UI nepomôže. Práve API riadi logiku, pravidlá a dátové toky. Testerom, ktorí testovanie softvéru robia profesionálne, preto nestačí ovládať len UI nástroje. API testing sa zameriava na vrstvu, kde sa zachytí väčšina kritických chýb rýchlejšie, lacnejšie a spoľahlivejšie ako cez rozhranie.
API je krvným obehom moderných aplikácií. Komunikuje s databázami, externými službami, platobnými bránami a inými mikroslužbami. Keď API zlyhá, padá celá aplikácia.
Test pyramída je základný model, ktorý ukazuje, ako rozdeliť investície do rôznych typov testov. Zdola nahor:
…odporúčaný pomer je 70 % unit testov, 20 % API testov a 10 % UI testov? V praxi väčšina tímov investuje príliš veľa do UI a zanedbáva API vrstvu. Výsledkom sú pomalé, krehké a drahé sady testov.
Test pyramída znázorňujúca význam API testov

| Kritérium | API testing | UI testovanie |
|---|---|---|
| Rýchlosť | ⚡ Milisekundy až sekundy | 🐢 Sekundy až minúty |
| Stabilita | ✅ Vysoká – UI zmeny nespôsobujú zlyhania | ⚠️ Krehké – každá UI zmena môže rozbiť test |
| Pokrytie | ✅ Všetka logika, pravidlá, edge-cases | ⚠️ Len to, čo vidí používateľ |
| Shift-left | ✅ Testovateľné od prvého dňa vývoja | ❌ Vyžaduje hotové UI |
| CI/CD integrácia | ✅ Ideálne pre každý build | ⚠️ Pomalé, vhodné len pre nočné behy |
| Bezpečnosť | ✅ Priamy prístup k authn/authz vrstvám | ❌ Bezpečnostnú logiku UI nezobrazí |
Rozdiel medzi API a UI testovaním najlepšie vidno v praxi, napríklad pri automatizácii cez Selenium, kde každá zmena v rozhraní okamžite ovplyvní stabilitu testov, zatiaľ čo API vrstva zostáva stabilná.
API testing zároveň šetrí náklady. Chybu zachytíš skôr a zaplatíš za ňu menej. V produkcii sa rovnaký problém násobí časom, peniazmi aj dopadom na používateľov.
Každý typ API testu overuje iný aspekt API. Komplexná testovacia stratégia ich kombinuje:
Overuje, že každý endpoint robí presne to, čo má. Vracia správne dáta, správne stavové kódy a správne spracúva vstupy. Funkčné testovanie je základ každej testovacej sady.
Čo konkrétne kontroluješ:
Integračné testovanie overuje spoluprácu viacerých endpointov alebo služieb.
Typický scenár: zaregistruj používateľa → prihlás ho → vytvor objednávku → zaplať → skontroluj stav. Každý krok je závislý na predchádzajúcom.
V mikroslužbových architektúrach je integračné testovanie kritické. Každá služba má vlastné API a v komunikácii medzi nimi sa môže chyba prejaviť nečakane až v produkcii. Integračné testy odhalia tieto zlyhania ešte pred nasadením.
Overuje, že API zvládne reálnu záťaž bez degradácie výkonu. Medzi typy záťažových testov patria:
Záťažové a výkonnostné testovanie odhaľujú limity systému ešte pred reálnou prevádzkou a pomôže predísť výpadkom pri špičkovej záťaži, pričom v praxi sa na tieto scenáre často využíva nástroj JMeter.
Záťažové testovanie API

Response time pri 100, 500 a 1000 používateľoch. Pri ~500 používateľoch začína systém spomaľovať, pri 1000 prekračuje svoj limit
Bezpečnostné testovanie API je jednou z najdôležitejších, ale aj najčastejšie zanedbávaných oblastí. API sú primárnym cieľom útokov, pretože obsahujú citlivé dáta a logiku.
Čo overovať podľa OWASP API Security Top 10:
OWASP API Security Top 10 (2023): rebríček najkritickejších bezpečnostných rizík pre API

OWASP API Security Top 10
Contract testing overuje, že producent (API server) a konzument (klient) dodržiavajú dohodnutý kontrakt – tvar requestov a responses. Nástroj Pact umožňuje tento kontrakt definovať a automaticky overovať pri každom builde.
Je to kľúčová technika v mikroslužbových architektúrach. Keď tím A zmení API, Pact okamžite odhalí, či tým B (ktorý toto API konzumuje) bude stále fungovať. Bez contract testingu sa takéto nezlučiteľné zmeny odhalia až v integrovanom prostredí alebo v produkcii.
Regresné testy overujú, že nová zmena kódu nerozbila existujúcu funkcionalitu. Každý deploy by mal automaticky spustiť regresnú sadu API testov. Práve regresné testovanie je prvou líniou obrany pred chybami, ktoré sa nečakane objavia po úpravách v kóde.
Fuzz testovanie posiela na API náhodné, neočakávané a malformované vstupy. Ich cieľom je odhaliť zlyhania, ktoré bežné testy nezachytia. Negatívne testovanie systematicky testuje chybové stavy: chýbajúce polia, neplatné typy, záporné čísla, prázdne reťazce, SQL injections.
Praktický proces testovania API má päť fáz. Platí pre manuálne aj automatizované testovanie:
Začni vždy od špecifikácie. Swagger/OpenAPI dokumentácia ti povie endpointy, metódy, parametre, povinné polia a očakávané odpovede. Bez dokumentácie testuješ naslepo.
Priprav environment variables (base URL, tokeny, prihlasovacie údaje). Nikdy nezadávaj citlivé hodnoty priamo do testov. Oddeľ prostredia: dev, test, staging.
Pre každý endpoint definuj happy path (správne vstupy → správne výstupy) aj edge cases (hraničné hodnoty, chýbajúce polia, neplatné typy). Pokryj všetky HTTP metódy, ktoré endpoint podporuje.
Spusti testy a over: stavový kód, tvar response body, typy hodnôt, čas odozvy, hlavičky. Neoveriť stavový kód je jedna z najčastejších chýb začiatočníkov.
Manuálne testy nestačia. Každý build alebo pull request by mal automaticky spustiť API testy. Rýchle smoke testy spúšťaj pri každom commite, plnú regresnú sadu pri merge do main branchu. Dobre nastavené CI/CD z toho urobí prirodzenú súčasť vývoja, nie krok navyše pred releasom.
Nasledujúci príklad ukazuje základný GET request na REST API endpoint a overenie response:

// GET request - načítanie detailu zmluvy
GET /api/v1/contracts/12345
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json
// Očakávaná JSON response (200 OK)
{
"id": "12345",
"status": "active",
"client": {
"id": "C-9876",
"name": "Ján Novák"
},
"premium": 45.50,
"currency": "EUR",
"validFrom": "2024-01-01",
"validTo": "2025-01-01"
}
// Čo overuješ:
// ✅ Status code = 200
// ✅ Content-Type: application/json
// ✅ id === "12345" (string, nie integer)
// ✅ status je jeden z povolených enumov
// ✅ premium je číslo s max 2 desatinnými miestami
// ✅ dátumy vo formáte YYYY-MM-DD
// ✅ response time < 500ms
Login endpoint patrí medzi najdôležitejšie a zároveň najviac exponované časti API. Pri jeho testovaní potrebuješ pokryť viac scenárov:
Každý API tester musí ovládať HTTP metódy a stavové kódy. Sú jazykom, ktorým tester hovorí s API. Bez ich pochopenia nevieš vedome overiť, či sa API správa správne.
| Metóda | Účel | Čo testovať |
|---|---|---|
| GET | Čítanie dát bez vedľajších účinkov. GET nesmie meniť stav systému. | 200 OK, 404 Not Found, 400 Bad Request, konzistentný tvar JSON, stránkovanie a limity, cache správanie |
| POST | Vytvorenie novej entity. Nie je idempotentný – opakovaný POST vytvorí duplicitu. | 201 Created + Location hlavička, 409 Conflict pri duplikáte, 400/422 pri chýbajúcich poliach, validácia typov a enumov |
| PUT | Plná aktualizácia entity. Musí byť idempotentný – opakovaný PUT vedie k rovnakému výsledku. | Idempotentnosť, prepis všetkých polí, 409 Conflict pri verzionovacom konflikte (ETag/If-Match) |
| PATCH | Čiastočná aktualizácia – menia sa len zadané polia, zvyšok ostáva bez zmeny. | Že nezadané polia naozaj ostali bez zmeny, validácia len menených polí, audit timestamps (updatedBy) |
| DELETE | Odstránenie zdroja. Idempotentný – opakovaný DELETE je bezpečný. | 204 No Content alebo 200 s telom, 404 pri neexistujúcom zdroji, kaskádové mazanie vs. soft delete, prístupové práva |
Správny stavový kód je rovnako dôležitý ako obsah odpovede. Kontrolovať len text response a ignorovať status code je jedna z najčastejších chýb. Kľúčové skupiny:
Tester overuje aj tvar chybových odpovedí, a to konzistentné error body s poliami code, message, details a korelačným ID v hlavičke. Konzistentnosť chybových odpovedí naprieč celým API je znak kvality dizajnu a uľahčuje diagnostiku incidentov.
Nie každé API je REST. Tester musí rozumieť rozdielom, pretože ovplyvňujú čo a ako testuješ – formáty, validáciu, bezpečnosť, chyby aj výkon.
REST API je dnes najpoužívanejší architektonický štandard. Používa HTTP protokol, pracuje so zdrojmi a endpointmi, odpovede sú väčšinou v JSON formáte. REST je bezstavový. Každý request obsahuje všetky potrebné informácie.
REST API testuješ cez HTTP metódy GET (čítanie), POST (vytvorenie), PUT (plná aktualizácia), PATCH (čiastočná aktualizácia), DELETE (odstránenie). Každá metóda má svoje pravidlá, očakávané stavové kódy a testovací prístup.
SOAP (Simple Object Access Protocol) je protokol s pevnou XML špecifikáciou. Používa sa v bankovníctve, poisťovníctve a legacy enterprise systémoch. Práve preto je relevantný pre testerov v msg life kontexte. SOAP prináša vysokú bezpečnosť (WS-Security, šifrovanie, podpisy) a transakčnú spoľahlivosť.
Pri testovaní SOAP API overuješ validáciu XML schém (XSD), správnosť SOAP headers a error handling scenáre. Špecializované nástroje: SoapUI, Postman v XML režime.
GraphQL je moderný dotazovací jazyk vytvorený Facebookom. Klient si presne určuje, aké dáta chce – žiadne overfetching ani underfetching. Namiesto viacerých REST endpointov má GraphQL zvyčajne jeden endpoint s flexibilnými dotazmi.
Pre QA prináša GraphQL špecifické výzvy: testovanie schémy (GraphQL schema validation), komplexnejšie bezpečnostné testovanie, throttling queries na prevenciu nadmernej záťaže a testovanie nested queries. Používa sa hlavne v moderných webových a mobilných aplikáciách s komplexnými UI.
Výber správneho nástroja závisí od tímu, stacku a typu testov. Pozri si porovnanie nástrojov na testovanie API od populárnych GUI klientov po frameworky pre automatizáciu:

| Nástroj | Typ | Pre koho | Licencia |
|---|---|---|---|
| Postman | GUI klient + automatizácia | Začiatočníci aj seniori, tímová spolupráca | Free/Pro |
| Cypress | E2E + API testing | JS/TS tímy, moderné weby | Open-source |
| JMeter | Záťažové + výkonnostné testy | Load testing, CI/CD integrácia | Open-source |
| Katalon | All-in-one platforma | Low-code tímy, rýchly štart | Free/Enterprise |
| Parasoft SOAtest | Enterprise API + SOAP | Compliance, regulované odvetvia | Komerčný |
Okrem týchto piatich nástrojov stojí za zmienku aj Insomnia (minimalistický GUI klient s výbornou podporou GraphQL), Bruno (open-source alternatíva k Postman s Git-friendly kolekcami) a REST Assured (štandard pre Java tímy, silná DSL syntax, výborná integrácia s JUnit a TestNG).
Ako vybrať framework:
Dobrá stratégia testovania API nie je len o nástrojoch. Ide o systémový prístup k tomu, kedy, čo a ako testuješ. Tu sú kľúčové stratégie testovania API, ktoré používajú top QA tímy:
Shift-left znamená presunúť testovanie čo najbližšie k začiatku vývojového cyklu. Namiesto čakania na hotové UI začneš testovať API hneď, ako je endpoint implementovaný alebo dokonca skôr, ak tím pracuje contract-first.
Výhoda shift-left v číslach:
Shift-left je ekonomické rozhodnutie.
Drž sa pravidla 70/20/10 – väčšina testov na unit úrovni, solídna vrstva API testov v strede, minimum UI testov na vrchole. API testy sú najlepšou investíciou. Sú rýchle, stabilné a pokrývajú jadro logiky aplikácie.
Najprv definuj špecifikáciu API (OpenAPI/Swagger), potom implementuj. Tester sa môže zapojiť do review špecifikácie ešte pred napísaním prvého riadku kódu. Chyby v dizajne sú najlacnejšie vtedy, keď sú opravené ešte pred implementáciou.
Contract testing (Pact) automaticky overuje, že každý producent aj konzument dodržiavajú dohodnutý kontrakt. V mikroslužbovom prostredí je to nevyhnutnosť. Bez neho sa nezlučiteľné zmeny API odhalia až pri integrácii.
Rovnaký test spúšťaš s rôznymi vstupnými dátami. Parametrizované testy pokrývajú viac scenárov s menším množstvom kódu. Napríklad jeden test pre overenie validácie vstupov spustíš s 20 rôznymi kombináciami platných aj neplatných hodnôt.
Data-driven prístup je výhodný najmä pre finančné aplikácie a poisťovníctvo, kde existuje veľa kombinácií vstupných hodnôt (typy zmlúv, rizikové skupiny, vekové kategórie). Jedným parametrizovaným testom pokryješ desiatky scenárov.
Cieľový stav každého QA tímu: API testy bežia automaticky pri každom build alebo pull requeste, bez manuálnej intervencie. Postup:
Pre poisťovnícky a finančný sektor navyše platí, že každý API test by mal logovať korelačné ID requestu. Pri incidente v produkcii umožní vystopovať konkrétny request naprieč všetkými mikroslužbami. Bez toho je diagnostika veľmi ťažká.
Aj skúsení testeri robia opakovane tie isté chyby. Tu sú najčastejšie chyby pri API testingu:
API testing je proces overovania, že aplikačné programové rozhrania (API) fungujú správne, spoľahlivo a bezpečne. Spočíva v posielaní requestov na API endpointy a validácii odpovedí – stavových kódov, response body, výkonu a bezpečnostných aspektov. Je kľúčovou súčasťou moderného testovania softvéru, pretože API tvorí jadro logiky každej aplikácie.
Existuje niekoľko typov API testov – funkčné testy (overujú správnosť endpointov), integračné testy (spolupráca viacerých služieb), záťažové a výkonnostné testy (správanie pod záťažou), bezpečnostné testy (autentifikácia, autorizácia, OWASP Top 10), contract testy (Pact), regresné testy (stabilita po zmenách) a fuzz testy (náhodné vstupy). Komplexná testovacia stratégia ich kombinuje podľa potreby.
Závisí od potrieb tímu. Pre začiatočníkov a tímovú spoluprácu je ideálnou voľbou Postman. Má intuitívne UI, zdieľanie kolekcií a skriptovanie v JavaScripte. Pre JS tímy s E2E testovaním je vhodný Cypress ako skvelá kombinácia UI aj API testov. Pre záťažové testy je štandardom JMeter. Pre enterprise prostredia s compliance požiadavkami je vhodný Parasoft SOAtest, pre all-in-one low-code prístup Katalon.
Nie, so správnym nástrojom začneš aj bez programovania. Postman ti umožní odoslať prvý GET request a overiť response do 10 minút. Základy, ako HTTP metódy, stavové kódy, JSON formát, sú intuitívne a dobre zdokumentované. Pokročilé témy ako autentifikácia, contract testing alebo záťažové testy vyžadujú viac času, ale aj tie sú pri systematickom prístupe zvládnuteľné pre každého testera.
API testovanie overuje logiku, pravidlá a komunikáciu na úrovni správ bez grafického rozhrania. UI testovanie overuje to, čo vidí a robí používateľ v prehliadači alebo aplikácii. API testy sú rýchlejšie, stabilnejšie a odhaľujú kritické chyby skôr. UI testy sú pomalšie a krehkejšie, ale overujú reálny používateľský zážitok. Najlepší prístup je kombinovať oba – pevný základ v API testoch, kľúčové E2E scenáre cez UI.
API testing je nevyhnutná disciplína pre každý tím, ktorý dodáva moderný softvér. Pokrýva funkčnosť, integráciu, výkon, bezpečnosť a stabilitu. Všetko na vrstve, kde vzniká väčšina kritických chýb. Investícia do API testov sa vracia v každom release – menej incidentov, rýchlejšie nasadzovanie a spokojnejší používatelia.
Začni od manuálnych experimentov v Postman alebo Insomnia, postupne automatizuj s Cypress, REST Assured alebo pytest, integruj do CI/CD a rozšír o záťažové a bezpečnostné testy.
Zdroje:
Súvisiace články