Návod na testování API: Co je automatizace testování API?
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
Automatizace API Testování vyžaduje aplikaci, se kterou lze interagovat prostřednictvím API. Abyste mohli otestovat API, budete muset
- K ovládání API použijte nástroj Testing Tool
- Napište svůj vlastní kód pro testování API
Několik bodů k poznámce
- Testování API se liší od jiných typů testování softwaru, protože GUI není k dispozici, a přesto je nutné nastavit počáteční prostředí, které vyvolá API s požadovanou sadou parametrů, a poté nakonec zkontrolovat výsledek testu.
- Nastavení testovacího prostředí pro testování automatizace API se tedy zdá trochu složité.
- Databáze a server by měly být nakonfigurovány podle požadavků aplikace.
- Po dokončení instalace by měla být zavolána funkce API, která zkontroluje, zda toto rozhraní API funguje.
Typy výstupu API
Výstupem API může být
- Jakýkoli typ dat
- Stav (řekněme Pass nebo Fail)
- Zavolejte jinou funkci API.
Podívejme se na příklad každého z výše uvedených typů v tomto tutoriálu pro testování 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.
Volání je potřeba provést např
add (1234, 5656)
Pokud počet překračuje celočíselný limit, je třeba zpracovat výjimky.
Stav (řekněme Pass nebo Fail)
Zvažte níže uvedenou funkci API –
- Zámek()
- Odemknout()
- Vymazat()
Jako výstup vrátí libovolnou hodnotu jako True (v případě úspěchu) nebo false (v případě chyby).
Přesnější Testovací případ může volat funkce v kterémkoli ze skriptů a později zkontrolovat změny v databázi nebo v GUI aplikace.
Volání jiného API / události
V tomto případě zavoláme jednu z funkcí API, která zase zavolá jinou funkci.
Například – funkci First API lze použít pro smazání zadaného záznamu v tabulce a tato funkce zase volá jinou funkci pro REFRESH databáze.
Testovací případy pro testování API:
Testovací případy testování API 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 rozhraní API spustí nějakou událost nebo přerušení, měly by být tyto události a posluchače přerušení sledovány
- 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 provede, aby provedl testování API poté, co bude sestava připravena. Toto testování nezahrnuje zdrojový kód. Přístup k testování API pomáhá lépe porozumět funkcionalitám, testovacím technikám, vstupním parametrům a provádění testovacích případů.
Následující body pomáhají uživateli provést přístup 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.
Rozdíl mezi testováním API a testováním jednotek
Testování jednotek | API testování |
---|---|
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ěžel před check-inem | Testovací provoz po vytvoření sestavení |
Jak testovat API
Testování automatizace API by mělo kromě obvyklé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
Osvědčené postupy testování API:
- Testovací případy API by měly být seskupeny podle kategorie testu
- Kromě každého testu byste měli zahrnout deklarace volaných API.
- Výběr parametrů by měl být výslovně uveden v samotném testovacím případě
- Upřednostňujte volání funkcí API, aby je testeři mohli snadno testovat
- Každý testovací případ by měl být co nejvíce samostatný a nezávislý na závislostech
- Vyvarujte se „testovacího řetězení“ ve svém vývoji
- Zvláštní opatrnosti je třeba věnovat práci s funkcemi jednorázového volání, 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 zjistí
- Nezvládá elegantně chybové stavy
- Nepoužité vlajky
- Chybějící nebo duplicitní funkce
- Problémy se spolehlivostí. Potíže s připojením a získáním odpovědi API.
- Problémy se zabezpečením
- Problémy s vícevlákny
- Problémy s výkonem. Doba odezvy API je velmi vysoká.
- Nesprávné chyby/varování volajícímu
- Nesprávné zpracování platných hodnot argumentů
- Data odpovědí nejsou správně strukturována (JSON nebo XML)
Jak provést automatizaci testování API
1) PřipravenoAPI
PřipravenoAPI je přední nástroj pro funkční, bezpečnostní a zátěžové testování RESTful, SOAP, GraphQL a dalších webových služeb. V jedné intuitivní platformě získáte tři výkonné nástroje: ReadyAPI Test, ReadyAPI Performance a ReadyAPI Virtualization. Pomocí těchto nástrojů můžete provádět testování funkčnosti, zabezpečení a výkonu/zátěže. Pomocí našeho robustního virtualizačního nástroje můžete také zesměšňovat API a webové služby. Navíc můžete snadno integrovat svůj CI/CD potrubí při každé stavbě.
Klíčové vlastnosti
- ReadyAPI lze integrovat do jakéhokoli prostředí.
- Má funkci Smart Assertion, která dokáže rychle vytvářet hromadná tvrzení proti stovkám koncových bodů.
- Nativní podpora pro Git, Docker, Jenkins, Azure, Etc.
- Podporuje příkazový řádek pro automatizované testování.
- Podporuje paralelní provádění funkčních testů a řazení úloh.
- Promoopětovné použití kódu tes
- Odstraňuje závislosti během testování a vývoje.
14denní bezplatná zkušební verze (bez kreditní karty)
Následující výukové programy poskytují podrobný návod k automatizaci testu API.
Kromě toho existují další nástroje pro testování API. Zkontrolujte je zde
Výzvy testování API
Mezi výzvy testování API patří:
- Hlavními výzvami testování webového API jsou Kombinace parametrů, výběr parametrů a řazení hovorů
- Není k dispozici žádné GUI otestovat aplikaci, která dělá je obtížné zadat vstupní hodnoty
- Ověření a ověření výstupu v jiném systému je pro testery trochu obtížné
- Výběr parametrů a kategorizace musí být testerům známy
- Funkce zpracování výjimek je potřeba otestovat
- Znalost kódování je pro testery nezbytná
Proč investovat do čističky vzduchu?
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í.