Verzování webu: Průvodce pro začínající kodéry
Typická chyba, kterou v praxi vidím, je snaha pokrýt end-to-end testy úplně všechno. Pak se stane, že jeden test trvá dvě minuty a celá sada půl hodiny. Vývojáři čekají na výsledek, ztrácí kontext a testy se stávají spíše brzdou než pojistkou. Řešení je jednoduché: použijte pravidlo 80/15/5 – 80 % jednotkových, 15 % integračních a 5 % end-to-end testů. Většinu funkcionality totiž ověříte rychlými a spolehlivými testy na nižších vrstvách, a pomalé testy si necháte jen na nejdůležitější scénáře.
Začněte u jednotkových testů. Ty by měly pokrývat všechny klíčové výpočty, validace a rozhodovací logiku. Píšete je ve stejném jazyce jako aplikaci, nejlépe přímo u třídy nebo funkce. Snažte se, aby každý test ověřoval jednu konkrétní věc a nezávisel na databázi, souborech ani síti. Typická chyba je testovat přes HTTP endpoint, když stačí zavolat metodu přímo. Tím testy zpomalíte a znejistíte – pak vám stačí, že se změní jeden JSON klíč, a spadne vám deset testů, které přitom ověřují úplně jinou logiku.
Jakmile máte repozitář připravený, začněte s tzv. commitováním. Každý commit je snímek vašeho kódu v určitém čase. Než provedete commit, musíte změny nejdříve označit. K tomu slouží příkaz, který přidá soubory do tzv. staging area. Teprve poté můžete vytvořit commit s výstižnou zprávou. Vyhněte se obecným popiskům jako „oprava chyby" nebo „update". Místo toho pište konkrétně: „Oprava responzivního menu na mobilu" nebo „Přidání formuláře do sekce kontakty". Taková zpráva vám za měsíc řekne přesně, co se změnilo, a usnadní orientaci v historii.
Pokud si netroufáte na kód, začněte s dokumentací. Přidávání příkladů, opravování překlepů nebo doplnění chybějících sekcí je stejně hodnotné jako oprava bugů. Zkuste si nasadit projekt lokálně a projít dokumentaci krok za krokem – určitě narazíte na místa, která nejsou jasná. Takové poznatky pak můžete přetavit v konkrétní návrh na zlepšení. U dokumentace je důležité držet se stručnosti a přesnosti, vyhýbat se zbytečnému balastu.
Jakmile je jednotková vrstva pevná, přejděte na integrační testy. Ty ověřují, že vaše komponenty spolupracují správně – typicky s databází, externími službami nebo frontendem. Zde platí pravidlo: testujte jen to, co jednotkově nejde pokrýt. Například mapování ORM, SQL dotazy nebo synchronizaci mezi moduly. U integračních testů si dejte pozor na stav prostředí. Vždy používejte izolovanou testovací databázi a po každém běhu ji vracejte do původního stavu. Jinak se vám testy navzájem ovlivňují a vy strávíte hodiny hledáním chyby, která je jen artefaktem pořadí testů.
Základem je pochopit rozdíl mezi kolekcí a prostředím (environment). Kolekce slouží k seskupení souvisejících požadavků, zatímco prostředí uchovává proměnné, jako jsou adresy serverů, přihlašovací tokeny nebo identifikátory. Vytvořte si alespoň dvě prostředí – jedno pro testovací a druhé pro produkční prostředí. Díky tomu přepnete mezi nimi jedním kliknutím, aniž byste museli ručně měnit každou adresu. Pro proměnné používejte klíče ve formátu promenna, které Postman automaticky dosadí do URL, hlaviček i těla požadavku.
Před odesláním pull requestu si ověřte, že váš kód prochází všemi testy. Pokud projekt žádné testy nemá, zkuste alespoň spustit sestavení. Typickou chybou je poslat změny, které fungují jen u vás, ale rozbijí něco jiného. Po odeslání pull requestu se může stát, že vám správci napíšou připomínky. Nebuďte z toho frustrovaní – je to běžná součást spolupráce. Reagujte na komentáře věcně, vysvětlujte své rozhodnutí a případně upravte kód.
Praktické tipy pro každodenní práci Častým nešvarem začátečníků je verzovat až po dokončení celé funkce. Tím ale ztrácíte možnost vrátit se k dílčím krokům. Ideální je commitovat po každé logické části – třeba po úpravě hlavičky, po přidání nové sekce nebo po vyřešení bugu. Pokud pracujete na větší změně, využijte větve. Větev je kopie vašeho kódu, ve které můžete experimentovat, aniž byste ovlivnili hlavní verzi. Když je vše hotové, větev sloučíte zpět. Tento postup oceníte zejména při práci v týmu, ale i sólově vám ušetří spoustu starostí.
Praktické tipy pro psaní testů a automatizaci Postman nejen odesílá požadavky, ale umožňuje i psát automatizované testy v JavaScriptu. Po odeslání požadavku přejděte na kartu „Tests" a přidejte ověření, že odpověď má očekávaný stavový kód, obsahuje správnou strukturu JSON nebo že hodnota v odpovědi odpovídá zadané. Typickým příkladem je kontrola, že pm.response.to.have.status(200) nebo že pole data je pole a není prázdné. Tyto testy se ukládají do kolekce a lze je spouštět hromadně pomocí Collection Runneru, což je zásadní pro regresní testy.