DX Heroes logo
#engineering
#getting-started

Co je Test-Driven Development?

Délka: 

3 min

Publikováno: 

9. června 2026

Co je Test-Driven Development?

Co je Test-Driven Development (TDD)?

Test-Driven Development (TDD) je způsob psaní softwaru, kdy nejdřív napíšete test a teprve potom kód, který ho splní. Test popíše, co má malý kousek kódu dělat, a teprve když test existuje, napíšete kód, který ho splní. Cyklus je krátký a opakuje se mnohokrát denně: napíšete test, který selže, doplníte minimum kódu, aby prošel, a kód uklidíte.

Lidsky řečeno

TDD je jako napsat si správné odpovědi dřív, než začne zkouška. Nejdřív si určíte, jak vypadá „správně“, a pak píšete kód, dokud tomu neodpovídá. Protože znáte cíl předem, nikdy se od něj nevzdálíte a během vteřin zjistíte, když se něco rozbije.

Cyklus červená–zelená–refaktor

TDD stojí na třech krocích, které se opakují:

  • Červená — napíšete test na chování, které ještě neexistuje. Selže, protože kód zatím není.
  • Zelená — napíšete nejjednodušší kód, který test splní. Nic navíc.
  • Refaktor — kód vylepšíte, protože vás teď chrání procházející test.

Proč na tom záleží

  • Méně chyb se dostane do produkce. Každé chování má test hned, jak vznikne.
  • Jasnější návrh. Když píšete test první, musíte přemýšlet o tom, jak se kód bude používat, ne jen jak uvnitř funguje.
  • Bezpečnější změny. Solidní sada testů vám umožní refaktorovat a přidávat funkce bez strachu z tichého rozbití.
  • Živá dokumentace. Testy v kódu ukazují, co má systém dělat.

Na co si dát pozor

  • Testujete vnitřní řešení, ne chování. Testy, které kopírují vnitřní detaily, se rozbijí při každém refaktoru. Testujte, co kód dělá, ne jak.
  • Testy dopsané dodatečně nejsou TDD. Přijdete tak o přínos návrhu, který dává psaní testu první.
  • Honba za stoprocentním pokrytím. Vysoké pokrytí triviálního kódu je práce pro práci. Pokryjte logiku, na které záleží.

Související články

  • Co je code review? - Jak druhý pár očí zachytí to, co testy minou.
  • Co je CI/CD? - Pipeline, která vám testy spustí automaticky při každé změně.
  • Co je technický dluh? - Proč vás netestovaný a špatně měnitelný kód později stojí víc.

Chcete být o krok napřed?

Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.