Detail kurzu
Java tester - Základy testovania pre vývojárov: JUnit 5, Mockito, TDD, integračné testy a CI/CD automatizácia v praxi
IT LEARNING SLOVAKIA, s.r.o.
Popis kurzu
Predstavte si, že dokončíte funkcionalitu, ktorá vám zabrala niekoľko dní práce. Nasadíte ju do produkcie a o pár hodín prichádza chyba. Nie preto, že by ste nevedeli programovať – ale preto, že kód nemal ochranu. Automatizované testy dnes nie sú doplnok, ale štandard profesionálneho vývoja. Vývojár, ktorý netestuje, pracuje naslepo.
Tento kurz vás naučí, ako písať automatizované testy v jazyku Java tak, aby ste mali nad svojim kódom kontrolu. Nejde o teóriu ani o QA procesy – ide o prax, ktorú využijete okamžite vo svojom projekte. Naučíte sa vytvárať testy, ktoré zachytia chyby ešte pred nasadením, ochránia vás pri refaktoringu a zároveň slúžia ako živá dokumentácia vášho kódu.
Začnete od základov testovania a pochopíte, prečo testy existujú – nie ako formalita, ale ako nástroj na bezpečnú zmenu kódu. Prejdete si testovaciu pyramídu, princípy kvalitných testov (F.I.R.S.T.) a naučíte sa pracovať s prístupom TDD (Test Driven Development), ktorý mení spôsob, akým premýšľate nad kódom.
V praktickej časti si osvojíte framework JUnit 5 – od základných anotácií až po parametrizované testy a organizáciu testovacích scenárov. Naučíte sa písať čitateľné a udržiavateľné testy pomocou knižnice AssertJ a pochopíte, ako efektívne pracovať s mockovaním závislostí cez Mockito. Vďaka tomu budete vedieť testovať business logiku izolovane, bez potreby reálnej databázy či externých služieb.
Kurz ide ďalej než len unit testy. Naučíte sa písať integračné testy, pracovať s nástrojmi ako Testcontainers (spustenie databázy v Dockeri počas testovania) alebo WireMock (simulácia HTTP služieb). Získate prehľad o tom, ako testovať reálne scenáre v aplikácii a ako nastaviť testovacie prostredie tak, aby bolo spoľahlivé a reprodukovateľné.
Dôležitou súčasťou je aj meranie kvality – naučíte sa pracovať s code coverage pomocou JaCoCo, nastavovať minimálne prahové hodnoty a interpretovať výsledky. Testy následne zapojíte do build procesu pomocou Maven alebo Gradle a uvidíte, ako ich automaticky spúšťať v CI/CD pipeline cez GitHub Actions. Pochopíte, ako nastaviť procesy tak, aby sa chybný kód jednoducho nedostal do produkcie.
Po absolvovaní kurzu budete vedieť navrhnúť testovaciu stratégiu pre svoju aplikáciu, písať kvalitné unit aj integračné testy a automatizovať ich spúšťanie. Získate istotu pri úpravách kódu a výrazne znížite riziko regresií.
Kurz je určený pre Java vývojárov, ktorí chcú pracovať profesionálnejšie a mať svoj kód pod kontrolou. Vhodný je pre juniorov, ktorí si chcú osvojiť správne návyky od začiatku, aj pre skúsenejších vývojárov, ktorí doteraz testovanie riešili len okrajovo. Podmienkou je základná znalosť jazyka Java (triedy, metódy, výnimky, OOP).
Tento kurz sa nezameriava na manuálne testovanie, QA procesy ani penetračné testy. Jeho cieľom je naučiť vás písať automatizované testy priamo ako súčasť vývojárskej práce.
Obsah kurzu
Princípy a filozofia testovania- Prečo testujeme – bezpečná zmena kódu, regresia, dokumentácia
- Pyramída testovania: jednotkové, integračné, end-to-end testy
- Princípy: F.I.R.S.T. (Fast, Isolated, Repeatable, Self-validating, Timely)
- TDD (Test Driven Development) – Red, Green, Refactor cyklus
- Architektúra JUnit 5: Platform, Jupiter, Vintage
- Základné anotácie
- Assertions
- Parametrizované testy
- Organizácia testov
- DevTools prehliadačov
- terminálové nástroje xh, curl
- Yaak API client
- Výhody AssertJ oproti vstavaným JUnit Assertions
- Reťazenie podmienok
- Assertions pre kolekcie, reťazce, výnimky a čísla
- Čo je mock, stub, spy – rozdiely a kedy čo použiť
- Vytvorenie mocku a definovanie správanie
- Verifikácia volaní
- Rozdiel medzi jednotkovým a integračným testom
- Testcontainers – spustenie databázy / brokera v Dockeri počas testov
- Testovanie SQL vrstvy s reálnou databázou
- Testovanie HTTP klientov a serverov: WireMock
- Čo meria code coverage – riadky, vetvy, metódy
- JaCoCo – nastavenie v Maven/Gradle, generovanie HTML reportu
- Minimálne prahové hodnoty pokrytia (coverage threshold) v CI
- Maven Surefire plugin – jednotkové testy
- Maven Failsafe plugin – integračné testy
- Gradle Test task – filtrovanie testov podľa @Tag
- Paralelné spustenie testov
- Čo je CI/CD – Continuous Integration a Continuous Delivery/Deployment
- GitHub Actions – koncepty: workflow, job, step, runner; skladba YAML súboru
- Automatické spustenie testov (Maven/Gradle) pri každom push a pull requeste
- Branch protection rules – blokovanie merge pri neúspešných testoch; deployment
- pipeline so staging/production a manuálnym schválením
Hodnotenie
Organizátor
Podobné kurzy
podľa názvu a lokality