Návod na testování API: Co je automatizace testování API?
⚡ Chytré shrnutí
Testování API ověřuje rozhraní pro programování aplikací (API), aby byla zajištěna funkčnost, spolehlivost, výkon a zabezpečení pomocí volání založených na kódu, nikoli interakcí s grafickým uživatelským rozhraním.

Co je to Testování API?
Testování API je typ testování softwaru, který ověřuje rozhraní API (Application Programming Interfaces). Účelem testování API je zkontrolovat funkčnost, spolehlivost, výkon a bezpečnost programovacích rozhraní. Při testování API místo standardních uživatelských vstupů (klávesnice) a výstupů používáte software k odesílání volání do API, získávání výstupu a zapisování odezvy systému. Testy API se velmi liší od testů GUI a nebudou se soustředit na vzhled a dojem z aplikace. Soustředí se především na vrstvu obchodní logiky softwarové architektury.
Pro pozadí, Rozhraní API (Application Programming Interface) je výpočetní rozhraní, které umožňuje komunikaci a výměnu dat mezi dvěma samostatnými softwarovými systémy. Softwarový systém, který spouští API, zahrnuje několik funkcí/podprogramů, které může provádět jiný softwarový systém. API definuje požadavky, které lze provádět, způsob zadávání požadavků, datové formáty, které lze použít atd., mezi dvěma softwarovými systémy.
Nastavení API Test Automation Environment
Automatizované testování API vyžaduje aplikaci, se kterou lze interagovat prostřednictvím API. Pro testování API budete potřebovat:
- Použijte testovací nástroj k řízení API
- Napište svůj vlastní kód pro testování API
Několik bodů k poznámce:
- Testování API se liší od ostatních typů testování, protože grafické uživatelské rozhraní není k dispozici a je nutné nastavit prostředí, které vyvolá API s požadovanými parametry a poté prozkoumá výsledky testů.
- Nastavení testovacího prostředí pro automatizované testování API se zdá být trochu složité.
- Databáze a server by měly být nakonfigurovány dle požadavků aplikace.
- Po dokončení instalace je třeba zavolat funkci API, aby se ověřilo, zda dané API funguje.
Typy výstupu API
Výstup API by mohl být:
- Jakýkoli typ dat
- Stav (řekněme Pass nebo Fail)
- Zavolejte jinou funkci API.
Jakýkoli typ dat
Příklad: Existuje funkce API, která by měla přidat dvě celá čísla.
Long add(int a, int b)
Čísla musí být zadána jako vstupní parametry. Výstupem by měl být součet dvou celých čísel. Tento výstup je třeba ověřit s očekávaným výsledkem.
add (1234, 5656)
Výjimky je nutné ošetřit, pokud číslo překročí celočíselný limit.
Stav (Úspěšný nebo Neúspěšný)
Zvažte níže uvedené funkce API:
- Zámek()
- Odemknout()
- Vymazat()
Jako výstup vracejí libovolnou hodnotu, například True (v případě úspěchu) nebo False (v případě chyby). Přesnější modelový případ by zavolal funkce v libovolném ze skriptů a později by zkontroloval změny buď v databázi, nebo v grafickém rozhraní aplikace.
Volání jiného API / události
V tomto případě zavoláme jednu z funkcí API, která následně zavolá další funkci. Například – První funkci API lze použít pro smazání zadaného záznamu v tabulce a tato funkce následně zavolá další funkci pro OBNOVENÍ databáze.
Testovací případy pro testování API
Testovací případy API testování jsou založeny na:
- Návratová hodnota na základě vstupní podmínky: je relativně snadné testovat, protože lze definovat vstup a ověřit výsledky
- Nic nevrací: Pokud neexistuje žádná návratová hodnota, bude zkontrolováno chování API v systému
- Spusťte nějaké další rozhraní API/událost/přerušení: Pokud výstup API spustí nějakou událost nebo přerušení, pak by tyto události a posluchače přerušení měly být tracked
- Aktualizace datové struktury: Aktualizace datové struktury bude mít určitý výsledek nebo vliv na systém a ten by měl být ověřen
- Upravte určité zdroje: Pokud volání API modifikuje některé zdroje, mělo by být ověřeno přístupem k příslušným zdrojům
Přístup k testování API
Přístup k testování API je předdefinovaná strategie nebo metoda, kterou tým QA použije k provedení testování API po dokončení sestavení. Toto testování nezahrnuje zdrojový kód. Přístup k testování API pomáhá lépe porozumět funkcím, testovacím technikám, vstupním parametrům a provádění testovacích případů.
Následující body vám pomohou s přístupem k testování API:
- Pochopení funkčnosti programu API a jasné definování rozsahu programu
- Aplikujte testovací techniky, jako jsou třídy ekvivalence, analýza hraničních hodnot a hádání chyb, a napište testovací případy pro rozhraní API
- Vstupní parametry pro API je třeba vhodně naplánovat a definovat.
- Proveďte testovací případy a porovnejte očekávané a skutečné výsledky.
Jak testovat API
Testování automatizace API by mělo kromě běžného procesu SDLC zahrnovat alespoň následující testovací metody:
- Discovery test: Testovací skupina by měla ručně provést sadu volání zdokumentovaných v rozhraní API, jako je ověření, že konkrétní zdroj vystavený rozhraním API lze uvést, vytvořit a odstranit podle potřeby.
- Testování použitelnosti: Toto testování ověřuje, zda je API funkční a uživatelsky přívětivé. A API se dobře integruje také s jinou platformou
- Bezpečnostní testování: Toto testování zahrnuje, jaký typ autentizace je vyžadován a zda jsou citlivá data šifrována přes HTTP nebo obojí
- Automatizované testování: Testování API by mělo vyvrcholit vytvořením sady skriptů nebo nástroje, který lze použít k pravidelnému spouštění API
- Dokumentace: Testovací tým se musí ujistit, že dokumentace je adekvátní a poskytuje dostatek informací pro interakci s API. Dokumentace by měla být součástí konečné dodávky
Rozdíl mezi testováním API a testováním jednotek
| Testování jednotek | Testování API |
|---|---|
| Provádějí to vývojáři | Provádějí to testeři |
| Testuje se samostatná funkčnost | Testuje se kompletní funkčnost |
| Vývojář má přístup ke zdrojovému kódu | Testeři nemají přístup ke zdrojovému kódu |
| Součástí je i testování uživatelského rozhraní | Testují se pouze funkce API |
| Testovány jsou pouze základní funkce | Všechny funkční problémy jsou testovány |
| Omezený rozsah | Širší rozsah |
| Obvykle běží před check-inem | Testovací provoz po vytvoření sestavení |
Nejlepší postupy testování API
- Testovací případy API by měly být seskupeny podle kategorie testů.
- Kromě každého testu byste měli zahrnout deklarace volaných API.
- Výběr parametrů by měl být explicitně uveden v samotném testovacím případě.
- Upřednostněte volání funkcí API, aby testeři mohli snadno testovat.
- Každý testovací případ by měl být co nejvíce soběstačný a nezávislý na závislostech.
- Vyhněte se „řetězení testů“ ve svém vývoji.
- Zvláštní opatrnosti je třeba věnovat jednorázovým voláním funkcí, jako je Delete, CloseWindow atd.
- Sekvence hovorů by měla být provedena a dobře naplánována.
- Chcete-li zajistit úplné pokrytí testováním, vytvořte testovací případy rozhraní API pro všechny možné vstupní kombinace rozhraní API.
Typy chyb, které testování API detekuje
- Nezvládá elegantně chybové stavy
- Nepoužité vlajky
- Chybějící nebo duplicitní funkce
- Problémy se spolehlivostí, včetně potíží s připojením a získáním odpovědi od API
- Bezpečnostní otázky
- Problémy s vícevlákny
- Problémy s výkonem, kdy je doba odezvy API velmi vysoká
- Nesprávné chyby/varování volajícímu
- Nesprávné zpracování platných hodnot argumentů
- Data odpovědi nejsou správně strukturována (JSON nebo XML)
Jak provést automatizaci testování API
Následující pokyny poskytují podrobné návody k automatizaci testování API:
- Jak testovat API pomocí BUĎTE V SIGNÁLU
- Jak testovat API pomocí Postman
- Jak testovat API pomocí UFT
Kromě toho existují i další nástroje pro testování API.
Jak umělá inteligence transformuje testování API
Umělá inteligence je řešenáping Testování API automatizací manuálních úkolů. Algoritmy strojového učení dokáží analyzovat specifikace API, generovat testovací případy a identifikovat okrajové případy, které by lidští testeři mohli přehlédnout.
Umělá inteligence také vylepšuje bezpečnostní testování detekcí zranitelností. Umělá inteligence by však měla spíše doplňovat než nahrazovat lidské znalosti, protože inženýři QA přinášejí znalosti z dané oblasti, které umělá inteligence nedokáže replikovat.
Výzvy testování API
- Hlavními výzvami při testování webových API jsou kombinace parametrů, výběr parametrů a sekvence volání.
- Není k dispozici grafické uživatelské rozhraní pro testování aplikace, což ztěžuje zadávání vstupních hodnot.
- Ověřování a ověření výstupu v jiném systému je pro testery trochu obtížné.
- Testeři musí znát výběr parametrů a jejich kategorizaci.
- Je třeba otestovat funkci pro zpracování výjimek.
- Znalost kódování je pro testery nezbytná.
Závěr
API se skládá ze sady tříd/funkcí/procedur reprezentujících vrstvu obchodní logiky. Pokud není API řádně otestováno, může to způsobit problémy nejen v aplikaci API, ale také ve volající aplikaci. Je to nepostradatelný test v softwarovém inženýrství.



