Jak správně navrhnout testovací pyramidu a vyhnout se chybám

De Wiki Informatica Gobierno Regional
Ir a la navegación Ir a la búsqueda

Během sprintu se držte tří pravidel: denní stand-up max 15 minut, sprint review na konci a retrospektiva. Stand-up není report pro manažera, ale synchronizace práce. Každý řekne, co dělal včera, co dnes a co ho blokuje. Pokud narazíte na blokátor, neřešte ho na stand-upu, ale domluvte si schůzku po něm. Většina českých týmů dělá chybu, že stand-up protahuje na 30 minut a řeší technické detaily – to zabíjí efektivitu.

Jak se vyhnout častým chybám při psaní skriptů Nejčastější chybou začátečníků je tvrdé zakódování cest k souborům. Pokud použijete absolutní cestu, skript bude fungovat pouze na vašem počítači. Místo toho použijte relativní cesty nebo proměnné, které umožní skript spustit kdekoli. Druhým problémem je ignorování výjimek – soubor nemusí existovat, síť může být nedostupná, vstup nemusí odpovídat očekávání. Vždy obalte rizikové operace do bloku `try/except` a na chyby reagujte srozumitelnou hláškou.

Nakonec si dejte pozor na to, abyste neslibovali víc, než umíte. Pokud v životopise uvedete, že „programujete v Pythonu 10 let", ale je to jen rok, dřív nebo později vás to usvědčí. Lepší je být upřímný a ukázat, že se rychle učíte – to je vlastnost, kterou firmy u juniorů cení nejvíc. Až dostanete nabídku, neváhejte se zeptat na detaily o náplni práce, o mentorovi a o tom, jak vypadá typický den. Dobrá firma vám na tyto otázky ráda odpoví, protože ví, že si vybíráte i vy.

End-to-end testy jsou nejdražší, proto jich musí být minimum. Měly by pokrývat jen hlavní uživatelské cesty, jako je registrace, nákup nebo odhlášení. Pokud máte 500 jednotkových testů, stačí 5–10 end-to-end. Dbejte na to, aby běžely v izolovaném prostředí s čistými daty. Častou chybou je spouštět je proti produkčnímu prostředí nebo s reálnými platebními branami – to vede k nestabilitě a bezpečnostním rizikům. Pro end-to-end testy používejte vlastní testovací uživatele a fiktivní platební metody.

Nakonec si vytvořte dokumentaci, která popisuje, jak přidat nový jazyk do projektu. Tento postup by měl být natolik jednoduchý, že ho zvládne i nový člen týmu bez zkušeností s lokalizací. Ideální je mít připravený šablonový soubor, který obsahuje všechny klíče s ukázkovými hodnotami. Pak stačí soubor zkopírovat, přeložit a přidat do konfigurace. Pokud se držíte těchto zásad, vícejazyčný projekt se stane přehledným a snadno udržovatelným, místo aby se stal zdrojem frustrace a chyb.

Když se řekne automatizace, mnoho lidí si představí složité skripty a hodiny strávené programováním. Opak je pravdou – Python je ideální jazyk pro začátečníky, kteří chtějí zautomatizovat opakující se činnosti, ať už jde o přejmenování souborů, zpracování tabulek nebo stahování dat z webu. Základem je pochopit, že automatizace nemusí být dokonalá – stačí, aby ušetřila čas a eliminovala chyby z nepozornosti.

Dalším krokem je vytvoření portfolia. Nemusí jít o rozsáhlé projekty – stačí tři až pět menších aplikací, které ukážou, že umíte pracovat s daty, rozhraními a řešit běžné problémy. Důležité je, aby každý projekt byl dokončený a nasazený na veřejném hostingu. Personalisté i techničtí vedoucí ocení, když si můžou aplikaci vyzkoušet online, ne jen prohlížet kód na GitHubu. Nezapomeňte ke každému projektu přidat krátký popis: co řeší, jaké technologie používáte a jaké výzvy jste překonali.

Testovací pyramida popisuje rozložení automatizovaných testů do tří vrstev: jednotkové testy tvoří širokou základnu, integrační testy střed a end-to-end testy vrchol. Nejčastější chybou je obrácená pyramida, kdy tým píše převážně pomalé a křehké end-to-end testy. Taková sada je pomalá, drahá na údržbu a při každé změně se rozpadá. Správný přístup začíná u jednotkových testů, které ověřují izolovanou logiku bez závislostí na databázi, souborech nebo síti. Měly by běžet v řádu milisekund, být stabilní a pokrývat všechny důležité větve kódu.

Při psaní životopisu se vyhněte výčtu všech technologií, které jste „zkusili". Místo toho uveďte tři až pět jazyků nebo frameworků, ve kterých se opravdu vyznáte. Ke každému přidejte konkrétní příklad, kde jste ho použili. Například: „Vytvořil jsem e-shop v Reactu s napojením na REST API" je mnohem přesvědčivější než „znám React". Stejně tak zdůrazněte měkké dovednosti, které firmy hledají: schopnost číst cizí kód, komunikovat v týmu nebo se učit nové věci. Tyto dovednosti často rozhodují víc než samotná znalost jazyků.

Při navrhování pyramidy začněte analýzou rizik. Zaměřte se na kritické části systému, jako je zpracování plateb, přihlašování nebo výpočet cen. Pro ně napište jednotkové testy s robustními mocky. Ujistěte se, že testy netestují implementaci, ale chování. To znamená, že test by měl projít i po refaktoringu vnitřní struktury třídy, pokud se nemění vnější rozhraní. Typická chyba: test ověřuje, že byla zavolána metoda na mocku, místo aby kontroloval výsledek. Takový test je příliš svázaný s detaily a snadno se rozbije.