Tento kurz pomáha pochopiť ako môže programovanie riadené testami viesť k udržateľnému vývojovému prostrediu. Počas kurzu Vám naši tréneri predstavia nástroje a techniky pre dosiahnutie tohto cieľa.

Pre koho

Java vývojári, Scrum mastri so znalosťou Java

 Čo sa naučíte

  • Prečo má byť testovanie prvoradé?
  • Spoznáte rôzne kategórie testov
  • Pochopíte či testami riadený vývoj je štýlom alebo dizajnom
  • Naučíte sa  udržiavať testovací kód pomocou vzorov a refaktoringu
  • Naučíte sa  vytvoriť kontinuálnu spätnú väzbu s pomocou kontinuálnej integrácie

Úroveň kurzu

Pokročilý

Trvanie kurzu

2 dni

Deň I – Sprint #1

„Prečo má byť testovanie prvé? „TDD je jednoduchý, ale revolučný objav: špecifikácia testov je špecifikáciou požiadaviek!“

Témy

  • Ekosystém testami riadeného vývoja
    “Ak je hodnotné vytvoriť t, potom je hodnotné to aj testovať, Ak to nie je hodné testovania, prečo potom míňate váš čas?” – Scott W. Ambler
  • Prečo má byť test prvým? Špecifikácia testov je špecifikáciou požiadaviek.
  • Benefity testovania najskôr
  • Preváži šetrenie zvýšené investície?
  • Kategorizácia testov
  • Test za testom alebo Testy naraz?
  • Zvonku dnu alebo zvnútra von?
  • Verifikácia stavu alebo chovania?
  • Stratégia automatizácie testov – stupne testovania, kontrola a validácia
  • Softvérová architektúra a testovanie
  • Skrátenie cyklu spätnej väzby

Cvičenie

Implementácia jednoduchej user story bez testov.

Deň I – Sprint #2

Ciele

  • Získajte okamžitú praktickú skúsenosť s programovaním riadeným testami (napíšte testy ako prvé) v porovnaní s tradičným programovaním.
  • Pochopenie pojmu Fixture a testovanie  State Full Behavior.
  • Aplikovanie testovacích vzorov

Témy

  • Jednotka (unit), teda objektové testovanie
    „Objektové, testami riadené, programovanie je viac štýlom programovania než klasickou kontrolou kvality.”

    • Akcie unit test driven vývoja.
    • xUnit – Test Runner, trieda tesu, metóda testu
    • Použitie JUnit/NUnit
    • SUT, DOC a Test Fixture
    • Taxonómia fixtures
    • Implementácie gramotného testovania (Literate Testing)
    • Použitie Mockito a PowerMock
    • Jednotkové testy ako dokumentácia na úrovni dizajnu
    • Vzory xUnit

Cvičenie

Implementácia jednoduchej user story s testami.

Deň II – Sprint #3

Ciele

  • Pochopenie konceptu technického dlhu
  • Rozpoznajte problémy

Témy

  • Rast systému a udržanie malého technického dlhu
    „Refaktoring kódu by mal byť  načasovaný v projektovom pláne do takých detailov ako písanie cyklu.” Scott W. Ambler

    • Agónia alebo Agilita?
    • Refaktoring ako stratégia udržania malého technického dlhu
    • Čistý kód a refaktoring
    • Problém v produkčnom kóde
    • Refaktoring príkladu produkčného kódu

Cvičenie

  • Identifikácia a diskusia o možnom refaktoringu výsledku Sprintu #1
  • Refaktoring kódu v pároch

Deň II – Sprint #4

Ciele

  • Pochopenie významu kontinuálneho dodávania v hodnotovom reťazci
  • Zoznámenie sa s nástrojmi prekladu
  • Použitie statickej analýzy kódu ako prevencie chýb

Témy

  • Kontinuálne dodávanie
    • Kontinuálne dodávanie v enterprise
    • Patterny vytvárania produktu – vytváranie komplexných aplikácií použitím ANT
    • Použitie CrusieControl
    • Meranie pokrytia aplikácie testami pomocou Cobertura
    • Analýza zdrojového kódu pomocou PMD a FindBugs

Cvičenie

  • Implementácia skriptov vytváranie produktu pre cvičnú aplikáciu
  • Automatizácia vytvárania pomocou CruiseControl

Meno a priezvisko (*)

Email (*)

Spoločnosť (*)

Poznámka

Požiadavky na účastníkov kurzu

  • Kurz je vedený v anglickom jazyku.
  • Pokročilá znalosť jazyka Java.
  • Pochopenie základov Scrum.
  • Pochopenie základov manažmentu požiadaviek.
  • Skúsenosť s objektovo orientovaným vývojom.

Potreby

  • Miestnosť dostatočne veľkú pre daný počet ľudí.
  • Projektor.
  • Flipchart, 1 rolku flipchartového papiera a fixy, 4 farby.
  • Pre každého účastníka počítač, alebo notebook.

Občerstvenie

ScrumDesk zabezpečuje občerstvenie iba v prípade verejných školení. V prípade inhouse tréningov odporúčame zabezpečiť účastníkom vodu, resp. občerstvenie podľa zvyklostí firmy.