Jak změřit pokrytí testy a kdy přestává být užitečné

Základním stavebním kamenem je role produktového vlastníka. V českých týmech se často stává, že tuto roli převezme manažer nebo technický lead, ale to je cesta do pekel. Produktový vlastník musí mít čas na komunikaci se zákazníky, musí umět říkat ne a musí rozumět byznys hodnotě jednotlivých funkcí. Pokud tuto roli nikdo neobsadí na plný úvazek, sprinty se promění v nekonečné diskuse o tom, co je důležitější. Typická chyba? Backlog je neuspořádaný, položky nemají jasnou prioritu a tým si vybírá, co se mu zrovna líbí.

Častou chybou je, že se analytický odhad započítává do implementace, a tým pak má pocit, že má na kódování méně času, než ve skutečnosti potřebuje. Proto doporučuji oddělit v odhadu dvě položky: „analýza” a „implementace”, a každou z nich komunikovat zvlášť. Například u středně složitého user story může být analytická část 20 % celkového času, ale u komplexního systému s integracemi to může být 60 %. Neexistuje univerzální poměr, proto vždy vycházejte z konkrétních souvislostí.

Retrospektiva je srdcem zlepšování, ale jen pokud ji berete vážně. České týmy často sklouznou k tomu, že si postěžují, ale nenavrhnou žádná konkrétní opatření. Zkuste metodu „start, stop, continue” – každý člen navrhne jednu věc, kterou začneme dělat, jednu, kterou přestaneme, a jednu, kterou budeme dělat dál. Na konci si vyberte maximálně tři akční body a přiřaďte jim vlastníka. Bez vlastníka a termínu se retrospektiva mění v tlachání. A pozor – změny z retrospektivy musí být viditelné už v dalším sprintu, jinak tým ztratí motivaci.

Scrum není o tom, že budete dělat víc věcí za kratší dobu. Je o tom, že budete dělat ty správné věci a budete mít zpětnou vazbu dřív. Pro české týmy je klíčové, aby si ujasnily role, definici hotového a hlavně aby se nebály říct managementu, že něco nestihnou. Začněte malým pilotním projektem, ne celou organizací. Až uvidíte první výsledky, rozšiřte působnost. Jinak skončíte s byrokratickým monstrem, které nemá s agilitou nic společného.

Při výběru integrovaného vývojového prostředí (IDE) se často soustředíte na jazyky, které plánujete používat, a na vzhled prostředí. To je ale jen polovina úspěchu. Pokud pracujete s databázemi, je podpora SQL nástrojů klíčová. Než se rozhodnete, zkuste si odpovědět na otázku, jaké databázové systémy používáte – MySQL, PostgreSQL, SQL Server, nebo třeba Oracle. Každé IDE má jinou úroveň integrace a ne vždy to, co vypadá dobře v prezentaci, funguje bez problémů v praxi.

Na závěr si ověřte, jakým způsobem IDE spravuje připojení. Mělo by umožnit více paralelních spojení, ať už pro různé databáze, nebo pro testovací a produkční prostředí. Užitečná je také možnost ukládat připojení s hesly do šifrovaného trezoru, abyste je nemuseli zadávat pokaždé znovu. Tím se vyhnete časté chybě, kdy si uložíte heslo do nešifrovaného souboru. Pokud budete tyto aspekty testovat předem, vyhnete se tomu, že si pořídíte nástroj, který sice vypadá skvěle, ale v běžné práci vás bude spíše brzdit.

Nezapomeňte také na podporu uložených procedur a funkcí. Některá IDE umí zobrazit kód procedur, zvýraznit chyby a umožnit jejich spuštění s parametrem. To ušetří čas při ladění. Ale pozor – některé nástroje zobrazují procedury jen jako text a neumožňují jejich krokování. Pokud toto potřebujete, testujte přímo na vaší databázi, ne na demo serveru. Další praktickou funkcí je porovnání schémat – ať už mezi dvěma databázemi, nebo verzemi. Bez tohoto nástroje budete muset ručně psát skripty a porovnávat je, což je zbytečná práce.

Závěrem: pokrytí testy je užitečný nástroj, pokud ho používáte s rozumem. Sledujte ho dlouhodobě, zaměřujte se na větve a kombinujte ho s jinými technikami. Pokud zjistíte, že vám číslo přestává pomáhat identifikovat slabá místa, přestaňte ho honit. Lepší investice času je kvalitní testování složitých a kritických částí aplikace, i kdyby to znamenalo nižší procento pokrytí. Kvalita testů je mnohem důležitější než číslo, které o nich vypovídá.

Pokrytí testy je metrika, která ukazuje, kolik řádků, větví nebo funkcí kódu je pokryto automatizovanými testy. Měření je jednoduché: spustíte testy s nástrojem, který sleduje provádění kódu, a na konci získáte procento. Najdete ho v nástrojích jako Istanbul pro JavaScript, JaCoCo pro Javu nebo Coverage.py pro Python. Tato čísla vám řeknou, kolik kódu bylo skutečně spuštěno, ale neřeknou vám nic o kvalitě testů. Proto je důležité chápat, že pokrytí je pouze jeden z mnoha ukazatelů kvality testování.

Dalším praktickým krokem je zapojit do odhadu analytika i vývojáře zároveň. Analytik by měl prezentovat, co už ví, a vývojář by měl upozornit na technické nejasnosti, které je třeba vyřešit před začátkem kódování. Pokud takové nejasnosti existují, přidejte si k analytické části čas na technický prototyp nebo krátký výzkum. Tento čas je investicí, která se vrátí tím, že se předejde přepisování kódu.

If you have any concerns about wherever and how to use více o tom, you can get in touch with us at our web-page.

Leave a Comment

Your email address will not be published. Required fields are marked *