6 důvodů, proč si pro testování API vybrat Postman

Když jsem před téměř 4 lety začínala psát automatizované API testy v Postmanu, byl to velice jednoduchý nástroj na posílání API requestů. Editor Postmanu (schválně píši Editor, neboť si troufám říct, že se tomu nedalo ani říkat vývojové prostředí, natož IDE) ještě neuměl našeptávat, takže psát v něm testy bylo komfortní asi tak jako v notepadu. Neměl možnost globálního vyhledávání, natož nahrazování textu kódu, takže jsme search&replace řešili přes notepad++, vygenerované html reporty byly černobílé a nedalo se z nich prakticky nic vyčíst. Místo data driven testů, které Postman tehdy ještě nezvládal, jsme requesty prostě jen kopírovali a kopírovali, až jsme skončili s 300 requesty v jedné collection, které se lišily jen v pár parametrech a při pokusu o spuštění takového testu celý editor zamrzl na několik minut - hrozné to časy… 

Nicméně čas běžel a s dalšími verzemi Postmana přicházely nové a lepší funkce, které řešily výše zmíněné problémy, popularita tohoto nástroje rapidně rostla nejen mezi vývojáři, ale i testery, a troufám si říct, že v současné době jde o jeden z nejdynamičtěji se rozvíjejících nástrojů na vývoj a testování API.

V tomto článku bych vám ráda představila několik důvodů, proč zvolit pro testování API právě Postman. Postupně se tak rozepíšu o těchto jeho výhodách:

Je zdarma

Je jednoduchý

Zvládne REST, SOAP i GraphQL

Umožňuje integraci s CI/CD a ostatními nástroji

Rychle se vyvíjí

Nabízí API Mocking

Je zdarma

V době utahování opasků současné krize se mnohé firmy zdráhají investovat do nástrojů na testování, a tak může být rozhodující i kritérium pořizovací ceny. Postman je open source a tedy zdarma. Poskytuje i placenou verzi pro týmy, firmy či celé korporace, nicméně free verze je plnohodnotně využitelná pro celou řadu projektů. Omezení bezplatné verze lze najít ve sdílení requestů, počtu monitorů API či dotazů na Mock server, bez kterých se ale dá obejít. Postman navíc bezplatnou verzi neomezuje jen na soukromé použití, a tak ji lze bez problémů nasadit i na větších komerčních projektech.

Je jednoduchý

Začít psát testy v Postmanu je poměrně jednoduché. Se základní znalostí jakéhokoli skriptovacího či programovacího jazyka je vytvoření prvního testu otázkou pár minut. Na internetu lze nalézt celou řadu návodů a tutoriálů zdarma, a to jak na oficiálních stránkách Postmanu, tak i na YouTube, StackOverflow či jinde. Knowledge base je u Postmanu opravdu široká, na každý problém najdete několik možností řešení. Nicméně pokud se Postman chcete naučit opravdu rychle a efektivně, není nic jednoduššího, než se přihlásit na náš online kurz, který brzy spustíme ve vylepšené podobě. 

REST, SOAP i GraphQL

Spousta lidí zná Postman jako nástroj na testování REST API, nicméně v současné době již umí stejně dobře pracovat i se SOAP API či GraphQL API. U posledního jmenovaného dokonce Postman umožňuje naimportovat GraphQL schéma a na základě něj pak našeptává při psaní API requestů, čímž vám významně usnadní práci.

Integrace s CI/CD a ostatními nástroji

Testy napsané v Postmanu je možné spouštět v rámci prakticky libovolné Continuous Integration Pipeline pomocí jednoduchého commandline toolu zvaného Newman. Umožňuje spouštět testy s různými parametry, stejným způsobem jako jsou spouštěny v Postmanu. Reporty pak umí generovat v různých formátech, včetně možnosti vytvoření vlastní šablony reportu. Nám se nejvíce osvědčil htmlextra newman reporter, který vytváří dynamické rozklikávatelné reporty včetně informací o API requestu i response zahrnující hlavičku i tělo. Získáte tedy kompletní informaci o případném problému.

Vedle standardní CI/CD integrace se v posledních pár letech rozšířila i řada dalších nástrojů, se kterými lze Postman propojit. Z těch nejznámějších lze jmenovat BitBucket, GitHub, GitLab, Dropbox, Slack, Microsoft Teams či APIMatic. Je tak možné na testech spolupracovat s kolegy nebo napříkladnechat Postman posílat notifikace o aktivitě dalších členů týmu do svého Slacku. Je ale nutno podotknout, že integrace s repozitáři kódu je relativně nová a nenajdete zde zatím běžné Git příkazy, na které jste zvyklí z jiných nástrojů. Dá se však  očekávat, že i takové funkce přijdou v některé z dalších verzí.

Rychlost vývoje nástroje

Jak již bylo naznačeno výše, Postman se velice dynamicky rozvíjí a s každou verzí přichází nejen celá řada oprav chyb, ale také nových funkcí. Málokterý jiný nástroj dokáže tak rychle reagovat na požadavky svých uživatelů. Věřím, že zanedlouho  svými možnostmi předčí ostatní nástroje na trhu a stane se tak standardem odvětví. Je tedy nejvyšší čas se s Postmanem seznámit a získat ho na svou stranu.

API Mocking

Je jednou ze zajímavých funkcí, kterou si lze v bezplatné verzi Postmana vyzkoušet (i když za její širší využití už je potřeba zaplatit). Díky mockování odpovědí API lze začít psát testy i dřív, než vývojáři dokončí svou práci. Dokonce můžete své testy vytvořit a poskytnout vývojářům dřív, než oni sami začnou vyvíjet, což je skvělá aplikace test driven přístupu v praxi. Tento přístup nejen urychluje vývoj, ale také podporuje vzájemné pochopení očekávaného chování aplikace. Nestane se tak, že si vývojář požadavky vyloží jinak než tester, respektive se díky automatizovaným testům tento rozkol objeví už v průběhu vývoje, a ne dvě hodiny před koncem sprintu.

Závěr

Postman je bezpochyby zajímavým nástrojem na vývoj a testování API, který se těší stále větší popularitě mezi vývojáři i testery. Přestože má k dokonalosti ještě daleko, jeho síla spočívá v tom, že pomáhá přemostit propast mezi světem programátorů a testerů. Díky tomu, že oba využívají stejný nástroj, je pro ně sdílení testů jednodušší a dosahují tak lepší spolupráce. Právě tato schopnost je ve světě agilního vývoje aplikací klíčová.

Tak co, zkusíte to s Postmanem?

Začněte s naším oblíbeným úvodním kurzem!

Autor: Lucie Lavičková

Lucie Lavičková (roz. Třísková) se věnuje testování přes 8 let a za tu dobu nasbírala zkušenosti na projektech v Česku i v Německu pro mezinárodní firmy jako IBM, Commerzbank, Datev a NEORIS/CEMEX. V současnosti působí ve společnosti Tesena jako Senior Test Engineer a specializuje se na automatizaci testování v agilních projektech.