Orientação a Testes
Em seu trabalho, (Astels, 2003) define o Desenvolvimento Orientado a Teste (TDD) como um estilo de desenvolvimento onde:
- você mantenha um exaustivo conjunto de Testes Automatizados;
- nenhum código entra em produção a menos que tenha um teste associado;
- você escreve primeiro os testes;
- os testes determinam o código que você deve escrever.
No estudo publicado por (Aniche, 2010), baseado em experimentos na indústria e na academia. Ele mostra que TDD melhora o processo de desenvolvimento, aumenta a qualidades do código produzido, reduz o número de defeitos, diminui o tempo gasto com depuração e até aumenta a produtividade dos desenvolvedores.
Manter um exaustivo conjunto de Testes Automatizados
Os Testes Automatizados testam se suas classes produzem o comportamento esperado. Embora sejam semelhantes aos Testes Unitários, eles são escritos por um motivo diferente. Os Testes Unitários são escritos para verificar se o código que foi escrito funciona. Testes Automatizados são escritos para definir o que esse código deve fazer.
Praticar TDD implica, em ter um exaustivo conjunto de testes. Isso porque para cada linha de código deve ter sido escrita como resposta a um teste. O que gera um conjunto exaustivo de testes.
Nenhum código entra em produção a menos que tenha alguns testes associados
Uma característica não existe até que haja um conjunto de testes para acompanha-la. Isso traz confiança e coragem para refatorar e integrar.
Escreva primeiro os testes
O teste define o que se espera do código produzido. Então, escreve-se um pequeno teste e apenas o código suficiente para fazê-lo passar, então um pouco mais de teste e um pouco mais de código, teste e código, etc.
Os testes determinam o código que você deve escrever
Escrever apenas o suficiente para passar no teste implica em fazer a coisa mais simples que possa funcionar, limitando o código que será produzido.
Referências:
Aniche, Mauricio. 2010. TDD realmente ajuda? www.aniche.com.br. [Online] 04 16, 2010. [Cited: 09 18, 2010.] http://www.aniche.com.br/2010/04/tdd-realmente-ajuda/.
Astels, David. 2003. Test-Driven Development: A Practical Guide. s.l. : Prentice Hall, 2003.