Když v týmu přepisujete historii společných commitů, dříve nebo později narazíte na konflikt, který nejde vyřešit bez ručního zásahu. Nejčastější chybou bývá, že každý vývojář drží vlastní představu o tom, kdy a jak začlenit práci do hlavní větve. Přitom stačí dodržet pár pravidel, která práci zpřehlední a ušetří desítky minut denně. Tento text se zaměřuje na rozdíl mezi sdíleným commitnutím do jedné větve a prací na samostatných větvích – ukáže, kdy zvolit který postup a na co si dát pozor.
Při psaní testů se také vyplatí myslet na to, co přesně testujete. Pokud testujete funkci, která počítá cenu s DPH, netestujte zároveň i databázové spojení. To už je integrační test. Jednotkové testy mají být rychlé, izolované a bez vedlejších efektů. Pokud potřebujete testovat závislost na vnějším systému, použijte mock. Ale mockování má také své úskalí – pokud zamockujete příliš mnoho, test přestane testovat skutečnou logiku a začne testovat jen to, jak jste mock nastavili. Zamockujte jen to, co je nezbytně nutné, a zbytek nechte běžet reálně.
Měření pokrytí testy patří mezi nejčastěji používané metriky kvality kódu. Na první pohled vypadá jednoduše: stačí spustit nástroj, který projde zdrojový kód a spočítá, kolik řádků, větví nebo funkcí bylo při testech vykonáno. Výsledek v procentech pak působí jako objektivní ukazatel. Jenže samotné číslo vám neřekne, jestli testy skutečně chrání před chybami, nebo jen mechanicky procházejí kódem. Než začnete hodnoty interpretovat, měli byste vědět, co přesně měříte a kde jsou limity této metriky.
Nejprve si osvojte základy testovacího procesu. Naučte se rozlišovat mezi funkčním a nefunkčním testováním, poznejte rozdíl mezi bugem a chybou v návrhu a pochopte, co je to testovací případ. Vytvořte si vlastní sadu testovacích scénářů pro běžné aplikace, které znáte – e-shop, mobilní bankovnictví nebo třeba rezervační systém. Zkuste zapsat každý krok, očekávaný výsledek a skutečné chování. Tím si vybudujete návyk přesného popisu, který je u testerů klíčový.
Pokrytí přestává být užitečné ve chvíli, kdy se stane cílem samo o sobě. Když tým diskutuje o tom, jak zvýšit procento z 85 na 90, místo aby řešil, které rizikové části kódu nejsou otestované, je to varovný signál. Stejně tak když je pokrytí používáno jako jediné kritérium pro schválení pull requestu, vede to k formálním úpravám, které nemají vliv na spolehlivost. Místo honění čísel se zaměřte na testování kritických a často měněných částí. Pokud máte systém s mnoha vnějšími závislostmi, pokrytí řádků u integračních testů vypovídá málo o tom, jestli je spolupráce komponent správná.
Jak často začleňovat a co dělat před odesláním Ideální je začleňovat změny do hlavní větve v malých dávkách, nejlépe po každém dokončeném úkolu. Dlouho otevřená větev se vzdaluje od aktuálního stavu a sloučení pak připomíná skládání puzzle, které už dávno nepasuje. Před odesláním změn do sdílené větve si ověřte, že vaše práce neobsahuje žádné debugovací výpisy, dočasné soubory nebo nevyžádané úpravy. Mnoho týmů používá pravidlo, že každá změna musí projít kontrolou jiného člena týmu. Tento postup sice zpomaluje vývoj, ale výrazně snižuje počet chyb, které se dostanou do produkce.
Proč si bez praxe vytvořit vlastní testovací projekt? Zaměstnavatelé chtějí vidět, že umíte aplikovat teorii v praxi. Proto si založte veřejně dostupný projekt, kde budete dokumentovat testování konkrétní aplikace. Vyberte si nějakou open-source aplikaci, které rozumíte, a popište, jak byste ji testovali. Vytvořte testovací plán, seznam případů, zaznamenejte nalezené chyby a navrhněte vylepšení. Tento materiál pak použijte jako portfolio při pohovoru. Ukazujete tím, že umíte přemýšlet jako tester, i když jste nikdy v komerčním týmu nepracovali.
Další častou chybou je přepisování historie větví, které už někdo jiný stáhl do svého lokálního úložiště. Pokud použijete příkaz, který změní pořadí commitů nebo je sloučí do jednoho, ostatní členové týmu přestanou mít konzistentní obraz o tom, co se děje. Proto historii měňte pouze u větví, které jsou výhradně vaše, nebo u commitů, které ještě nikdo nesdílel. U sdílených větví vždy raději vytvořte nový commit, který danou změnu opraví, než abyste přepisovali minulé záznamy.
Nezapomínejte na měkké dovednosti. Tester musí umět komunikovat s vývojáři i produktovými manažery. Trénujte formulaci neutrálních a věcných hlášení o chybách – vyhněte se sarkasmu a emocím. Pozor také na přílišnou sebejistotu: nikdy netvrdte, že jste něco otestovali úplně, když jste to udělali jen povrchně. Přiznání limitů a schopnost požádat o radu je u juniorních testerů vítané.
If you want to learn more in regards to Bookmarkfeeds.Stream visit the page.
