Postman a ruční testování API: v čem se liší
Pozor na zarovnávání. U Flexboxu se justify-content stará o hlavní osu a align-items o vedlejší, u Gridu je to přesně naopak podle definice grid-auto-flow. Když se prvky nechovají podle očekávání, zkontrolujte, jestli má rodič nastavené display: flex nebo display: grid, a jestli potomek nemá margin: auto, které přebije ostatní vlastnosti. Dále si dejte pozor na min-width: auto u flex potomků – obsah, který se nevejde, je typicky roztáhne a rozbije layout. Řešením je min-width: 0.
Odhady v softwarových projektech selhávají především proto, že lidé odhadují práci, kterou ještě nikdy nedělali, a zaměňují ji za práci, kterou znají. Nejčastější chyba je odhadovat v hlavě během porady, kde nikdo nic nepočítá a všichni jen souhlasí s prvním číslem, které zazní. První krok k lepším odhadům je přestat odhadovat celky a začít rozkládat práci na části, které trvají nejvýše dva dny.
Při testování sledujte, jak se limit chová při souběžných požadavcích. Typická chyba je testovat pouze jeden požadavek za sekundu a pak být překvapen, že ostrý provoz dostává 429. Použijte nástroj, který umí poslat stovky požadavků najednou, a ověřte, že se počítadla správně resetují. Do odpovědi přidejte hlavičku Retry-After, aby klient věděl, kdy může zkusit znovu. Pokud omezujete podle IP, pamatujte, že za proxy musíte nastavit trust proxy, jinak všechny požadavky vypadají jako z jedné adresy.
Nakonec mějte na paměti, že Postman je jen nástroj. Nenahradí přemýšlení o tom, co má API dělat, jak se chovat při chybě a co se stane při souběžných požadavcích. Dobře postavená kolekce s proměnnými, kontrolami a čistým pořadím testů ale ušetří hodiny hledání. Začněte malou sadou požadavků a rozšiřujte ji podle toho, jak roste API, ne podle toho, jak roste počet záložek v prohlížeči.
Testy pište průběžně, ne až na konci. Postman umí spustit celou kolekci najednou a ukázat, které požadavky prošly a které ne. Tím odhalíte závislosti mezi voláními: vytvoření záznamu, jeho načtení, úprava a smazání. Pokud testy spouštíte v nesprávném pořadí, dostanete falešné chyby. Do kolekce proto zařaďte i úklidová volání, která po sobě uklidí data, jež testovací běh vytvořil.
Druhá častá chyba je refaktorovat příliš mnoho najednou. Označíte celý soubor, spustíte hromadnou změnu a v diffu se utopíte. Lepší je postupovat po malých krocích a po každém spustit testy. Pokud testy nemáte, uložte stav před zásahem pomocí správy verzí a po refaktoringu si projděte jen změněné řádky. Malý krok znamená malý diff, a malý diff znamená, že chybu najdete za minutu, ne za hodinu.
Vyhněte se odhadům, které zní příliš přesně. Tvrzení, že to bude hotové za sedmnáct dní, je falešná jistota. Poctivější je rozmezí a informace, co se stane, když se něco pokazí. Zároveň platí, že čím déle projekt běží, tím méně přesné odhady jsou, protože přibývá neznámých. Pokud se odhad začne výrazně rozcházet se skutečností, je lepší včas zmenšit rozsah než posouvat termín donekonečna.
Postman je nástroj, ve kterém sestavíte HTTP požadavek, odešlete ho a prohlédnete si odpověď, aniž byste psali řádek kódu. Pro testování API se hodí proto, že oddělíte samotné volání od aplikace, která ho bude jednou používat. Když něco nefunguje, vidíte přesně, co odešlo a co se vrátilo. To je základ, od kterého se odvíjí vše ostatní.
Největší zlepšení nepřinese lepší odhadovací metoda, ale kratší cyklus. Když se práce odevzdává po malých částech a každý týden se porovnává plán se skutečností, chyba se nehromadí do jednoho velkého selhání na konci. Odhad je nástroj, ne závazek. Kdo to pochopí, ten se přestane hádat o čísla a začne se ptát, co se musí stát, aby číslo platilo.
Začněte tím, že si vytvoříte kolekci a do ní uložíte požadavky podle logických celků. Proměnnou prostředí použijte pro základní adresu a přihlašovací údaje. Do URL pak pište base_url/uzivatele místo konkrétní adresy. Když se prostředí změní, přepnete jednu položku a všechny požadavky míří jinam. Bez toho budete při každé změně pracně přepisovat desítky adres a dřív nebo později některou zapomenete.
Co dělat, když odhad přestane platit Každý odhad je platný jen za určitých předpokladů, a jakmile se předpoklady změní, mění se i odhad. Proto je užitečné k číslu vždy napsat, co musí platit: že rozhraní zůstane stejné, že data jsou k dispozici, že se nebude měnit zadání. Když se některý předpoklad zhroutí, odhad se přepočítá, ne že se donekonečna natahuje. Tým, který mlčí a snaží se původní termín dodržet za každou cenu, nakonec dodá něco jiného, než co bylo potřeba.