---
title: "TDD"
description: "TDD to programowanie sterowane testami — test pisze się przed kodem. Poznaj cykl red-green-refactor, korzyści i zastosowanie tej techniki w wytwarzaniu oprogramowania."
url: "https://nodea.pl/pl/slownik-pojec/tdd"
lang: "pl"
updated: "2026-07-13"
---

# TDD

> TDD (test-driven development) to technika wytwarzania oprogramowania, w której najpierw pisze się test opisujący oczekiwane zachowanie, a dopiero potem kod, który go spełnia.

**TDD** (test-driven development, programowanie sterowane testami) to technika wytwarzania oprogramowania, w której najpierw pisze się test opisujący oczekiwane zachowanie kodu, a dopiero potem sam kod, który ten test spełnia. Odwraca to typową kolejność pracy — testy nie powstają po zaimplementowaniu funkcji, lecz ją poprzedzają i kierują całym procesem. TDD spopularyzował Kent Beck jako element metodyk zwinnych.

## Na czym polega TDD

Sercem TDD jest krótki, powtarzalny cykl nazywany *red-green-refactor*:

1. **Red** — programista pisze test dla jeszcze nieistniejącej funkcji; test się nie powodzi, bo kodu brak;
2. **Green** — powstaje najprostszy możliwy kod, który sprawia, że test przechodzi;
3. **Refactor** — kod jest porządkowany i upraszczany, a testy pilnują, by nic się nie zepsuło.

Cykl powtarza się dla kolejnych, drobnych fragmentów funkcjonalności. Testy pisane w TDD to najczęściej [testy jednostkowe](https://nodea.pl/pl/slownik-pojec/testy-jednostkowe), sprawdzające pojedyncze funkcje w izolacji. Dzięki temu programista nieustannie ma pewność, że dodawany kod działa zgodnie z założeniami, a wprowadzone zmiany nie psują istniejących funkcji.

## Zastosowanie w praktyce

TDD stosuje się przy tworzeniu bibliotek, logiki biznesowej, API oraz wszędzie tam, gdzie zależy na wysokiej niezawodności i łatwości utrzymania kodu. Zestaw testów powstających w tym procesie staje się siatką bezpieczeństwa, która umożliwia śmiałą [refaktoryzację](https://nodea.pl/pl/slownik-pojec/refaktoryzacja) bez obawy o regresję. Testy pełnią też funkcję dokumentacji — pokazują, jak dany fragment kodu ma być używany i jak się zachowuje w różnych sytuacjach.

W nowoczesnym cyklu wytwarzania oprogramowania TDD dobrze łączy się z automatyzacją w potokach [CI/CD](https://nodea.pl/pl/slownik-pojec/ci-cd), gdzie testy uruchamiane są automatycznie przy każdej zmianie kodu. Choć konsekwentne stosowanie tej techniki wymaga dyscypliny i początkowo wydłuża pracę, w dłuższej perspektywie ogranicza liczbę błędów i obniża koszt rozwoju projektu. TDD bywa uzupełniany o [testy integracyjne](https://nodea.pl/pl/slownik-pojec/testy-integracyjne), które sprawdzają współdziałanie większych fragmentów systemu.

### Na czym polega cykl red-green-refactor?

To trzy etapy powtarzane w TDD. Red to napisanie testu, który początkowo nie przechodzi, bo funkcja jeszcze nie istnieje. Green to napisanie najprostszego kodu, który sprawia, że test przechodzi. Refactor to poprawienie struktury kodu przy zachowaniu zielonych testów. Cykl powtarza się dla kolejnych fragmentów funkcjonalności.

### Czy TDD spowalnia pracę programisty?

Na początku pisanie testów przed kodem wydłuża pracę, ale zwrot przychodzi później: mniej błędów trafia na produkcję, refaktoryzacja jest bezpieczniejsza, a testy pełnią rolę żywej dokumentacji. W dłuższej perspektywie TDD zwykle obniża koszt utrzymania i rozwoju oprogramowania.

## Powiązane

- [Testy jednostkowe](https://nodea.pl/pl/slownik-pojec/testy-jednostkowe)
- [Testy integracyjne](https://nodea.pl/pl/slownik-pojec/testy-integracyjne)
- [Refaktoryzacja](https://nodea.pl/pl/slownik-pojec/refaktoryzacja)
- [CI/CD](https://nodea.pl/pl/slownik-pojec/ci-cd)
- [SDLC](https://nodea.pl/pl/slownik-pojec/sdlc)

---

Wersje językowe: [en](https://nodea.io/en/glossary/tdd.md)  
Spis treści witryny: [llms.txt](https://nodea.pl/pl/llms.txt)
