Programování řízené testy
![]() |
Základní informace
Autor: | Kent Beck |
Název originálu: | Test-Driven Development - By Example |
Nakladatelství: | Addison & Wesley |
Rok vydání originálu: | 2003 |
Rok vydání překladu: | 2004 |
Anotace
Čistý kód, který funguje – hned. Jedná se o zdánlivý protimluv, z něhož pochází mnoho utrpení při programování. Testy řízený vývoj řeší tuto protichůdnost paradoxem – testujte program, dříve než ho napíšete.
Nová myšlenka? Vůbec ne. Od úsvitu počítačů programátoři před vlastním programováním určovali vstupy a výstupy. Testy řízený vývoj využívá tuto prastarou myšlenku, kombinuje ji s moderními programovacími jazyky a programovacími prostředími a tuto směs mírně podusí, až získá výsledný chutný guláš, který zaručeně uspokojí vaši touhu po ihned čistém a současně fungujícím kódu.
Každý den čelí vývojáři složitým programátorským výzvám, přestože nejsou vždy připraveni vybrat si to nejlepší řešení. Takové složité projekty většinou přinášejí obrovské množství stresu a špatného kódu. Aby programátoři sebrali sílu a odvahu potřebnou k tomu, aby se vypořádali s těmito zdánlivě herkulovskými úkoly, měli by se zaměřit na testováním řízený vývoj, tzn. na soubor osvědčených technik, které dodají odvahu k jednoduchým návrhům a důvěryhodným sadám testů.
Při řízení vývoje pomocí automatizovaných testů a poté odstraňováním duplicit může každý vývojář psát spolehlivý, bezchybný kód bez ohledu na to, jak je úkol složitý. TDD navíc dodává programátorům odvahu rychle se učit, jasněji komunikovat a vytvářet konstruktivní zpětnou vazbu.
Čtenáři se naučí:
- Řešit komplikované úkoly tak, že se začne od jednoduchých věcí a postupuje se ke složitějším.
- Psát automatizované testy dříve než vlastní kód.
- Organicky rozšiřovat návrh pomocí refaktorizace. Přidávat do návrhu v daném okamžiku pouze jednu novou funkci.
- Vytvářet testy pro složitější logiku včetně reflexe a výjimek.
- K rozhodnutí, které testy napsat, používat vzory.
- Vytvářet testy pomocí xUnit, což je architektura, která je srdcem mnoha programátorsky orientovaných testovacích nástrojů.
Tato kniha sleduje od začátku do konce dva TDD projekty, na kterých ukazuje techniky, které mohou programátoři použít k tomu, aby snadno a výrazně zvýšili kvalitu své práce. Za příklady následuje popis zvláštních TDD vzorů a refaktorizací. Protože testy řízený vývoj klade důraz na svižné metody a rychlé vývojové postupy, stane se nepochybně pro čtenáře inspirací k tomu, aby přijali tyto nevyužívané, ale výkonné techniky.
Jeden z nejkreativnějších a nejopěvovanějších vůdců v softwarovém průmyslu, Kent Beck nadšeně využívá vzory, extrémní programování a testy řízený vývoj. V současnosti spolupracuje s institutem Three Rivers, je autorem bestsellerů Smalltalk Best Practice Patterns (Prentice Hall, 1997), Extreme Programming Explained (Addison-Wesley, 2000), a Planning Extreme Programming (spoluautor Martin Flower, Addison-Wesley, 2001). Dále je přispěvatelem do knihy Refaktoring, kterou napsal Martin Flower (Addison-Wesley, 1999).