Program kurzu, obsah studia ...
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
* 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