quinta-feira, 9 de abril de 2009

TDD - Test Driven Development

Algo que tem sido muito falado atualmente são as metodologias de desenvolvimento ágil, e um dos pilares de tais metodologias é a TDD, traduzindo, Desenvolvimento Dirigido a Testes.

TDD (Test Driven Development) é um técnica de programação ágil que tem aspectos de especificação e validação.
Com TDD especificamos nosso software em detalhes no momento que vamos escrevê-lo criando testes executáveis e rodando-os de maneira que eles mesmos testem nosso software.

Trocando em miúdos, quando vamos escrever um software, nós começamos escrevendo seu teste, uma classe que vai testar o software, assim, testamos o software e vamos o remodelando até o momento no qual os testes não mais falharem, então concluímos que TDD pode ser definida como uma técnica de programação onde todo o código produzido é criado em resposta a um código que falhou.

Parece bem simples a princípio, mas não é. TDD tem muitas técnicas. Não é simplesmente uma forma de testar softwares, mas sim de desenhar as aplicações.

Como funciona?

Basicamente, escrevemos um teste, rodamos este teste até que algo falhe, escrevemos o código fonte mais simples possível para passar neste teste, escrevemos o teste (aprimorando-o para cobrir mais aspectos do código fonte do produto), testamos até que algo falhe, reescrevemos nosso código para que ele passe no teste.... e ficamos neste ciclo até nosso software estar completo!

Vale a pena conhecer mais o tema, sugestões são:

- Este ótimo post de Scot Ambler
- Este vídeo

Enjoy!

Nenhum comentário:

Postar um comentário