Kurzy a certifikace Dev & Test
Test Driven Development
Cena (bez DPH)
Test-Driven Development vám pomůže psát kód bez chyb a s téměř 100% pokrytím unit testy. Jako vedlejší efekt budete mít sadu příkladů použití, která zlepší vaši orientaci v kódu.Kurz programování pomocí Test-Driven Development je praktickým úvodem do této populární techniky známé už přes dvacet let. TDD je vhodná technika pro snižování technického dluhu pomocí refaktoringu. Kurz provede účastníky krok po kroku úvodem do TDD a na modelových příkladech jim umožní získat praktické zkušenosti s touto programátorskou technikou. 90% času kurzu je věnováno programování na praktických příkladech. Modelové příklady jsou vybrány tak, aby byly jednoduché na pochopení a daly se na nich demonstrovat výhody TDD jako jsou kontrola nad psaným kódem, zvýšení pokrytí kódu testy nebo inkrementální vývoj.
Cíle kurzu
Cílem kurzu je poskytnout účastníkům praktickou zkušenost s technikou Test-Driven Development a dovednosti potřebné k tomu, aby potom mohli tuto techniku používat ve své každodenní praxi. Kurz se zaměřuje na začínající i zkušené programátory, kteří ale nemají s TDD osobní zkušenost. Po absolvování kurzu budou účastníci schopni psát kvalitnější modulární kód, který bude přirozeně pokrytý automatickými testy a bude obsahovat podstatně méně chyb.
Cílová skupina
- Vývojáři aplikací
- Architekti
- Testeři
- DevOps inženýři
Osnova
Blok 1. Úvod do Test Driven Development
Odhalíte tajemství efektivního programování pomocí TDD. Naučíte se cyklus Red-Green-Refactor. Vyzkoušíte si TDD na jednoduchém příkladu a získáte pocit kontroly nad vyvíjeným kódem, který už nikdy neztratíte.
Cvičení: přestupný rok - osvojení nástrojů
Cvičení: Word Counter - trénink cyklu Red-Green-Refactor
Blok 2. Expanze kódu pomocí Test Driven Development
V tomto bloku se naučíte rozvíjet složitější kód krok za krokem. Použijete techniku zvanou ZOMBIEs (Zero-One-Many-Boundary-Interface-Exception), která vám pomůže vybrat následující test tak, abyste si udrželi kontrolu nad rostoucím a stále komplexnějším kódem.
Cvičení: IPv6 validator - rostoucí kód pomocí ZOMBIEs
Blok 3. Dodávání hodnoty inkrementálně
Naučíte se dodávat hodnotu po po malých, snadno uchopitelných částech. Z krátkého zadání vytvoříte seznam (backlog) 10-20 minipožadavků, z nichž každý je sám o sobě hodnotný. Potom tyto požadavky v průběhu 45 minut postupně naimplementujete, takže budete dodávat novou funkci každých několik minut.
Cvičení: Elephant Carpaccio - dodávání hodnoty inkrementálně
Blok 4. Testování kódu, který má závislosti
Jaké jsou hlavní problémy, když potřebujete testovat kód, který má závislosti? Pomalé a křehké testy, které se obtížně píšou. Co s tím - naučíte se hledat tzv. švy neboli místa, kde se kód dá izolovat k testování. A potom čtyři metody, jak testy psát - Integrační testy, mockování, využití dědičnosti, explicitní závislosti. Na praktických příkladech si vyzkoušíte výhody a nevýhody každé metody.
Cvičení: Pokémoni - 4 způsoby odstranění závislosti
Bonus
Co říkají výzkumy o Test-Driven Development? Naše zkušenosti jsou jedna věc, ale co říkají data? Jaká zlepšení vašich produktů a profesionálních schopností můžete očekávat, pokud budete pravidelně používat TDD?
Školení je pouze úvodem do TDD. Tento úvod je vhodné po školení doplnit dlouhou a intenzivní praxí na konkrétním kódu dané firmy, ideálně pod vedením zkušeného mentora.
Předpoklady účastníka
- základní znalost programování
- schopnost psát kód v jednom z těchto jazyků: JavaScript, C#, Java, python
- schopnost napsat jednoduchý unit test v jednom z těchto jazyků
Technické požadavky (BYOD)
- Počítač s jakýmkoli operačním systémem
- Docker
- Visual Studio Code s rozšířením DevContainers