# O que é TDD?

> Test-Driven Development

É um método de desenvolvimento baseado em primeiro preparar o teste do código a ser escrito e depois escrever código suficiente para passar neste teste.

## Definição
O TDD é baseado na filosofia de ‘testar primeiro, codificar depois’. Primeiro você escreve um teste que define o que o código deve fazer; Naturalmente, este teste falha porque ainda não existe código. Então você escreve o código mais simples que passará no teste. Este ciclo garante que o software esteja livre de erros em todas as etapas.

## Como funciona
Ciclo de três estágios: 1. Escrever teste (Fail), 2. Escrever código (Passar no teste), 3. Limpar código (Refactor). Este processo se repete constantemente.

## Onde é usado
É aplicado em modernas equipes de desenvolvimento de software, principalmente em projetos onde a segurança e a qualidade estão em primeiro plano.

## Costuma ser confundido com
Pode ser confundido com Teste Unitário; TDD é um método e Teste de Unidade é uma ferramenta usada por esse método.

## Perguntas frequentes
**O TDD não perde tempo?**
Embora possa parecer lento no início, isso economiza tempo em geral, pois reduz o tempo de depuração no futuro.


## Termos relacionados
- [Unit Testing](/pt/dictionary/unit-testing/)
- [Testing Framework](/pt/dictionary/testing-framework/)
- [Clean Code](/pt/dictionary/clean-code/)

## Ferramentas relacionadas
- [Catch2](/pt/discover/catch2/)
- [Everything Claude Code](/pt/discover/everything-claude-code/)
- [Babysitter](/pt/discover/babysitter/)

---
Fonte: TreScout Glossário · https://trescout.com/pt/dictionary/tdd/
