Desenvolvimento Guiado por Testes - É bom ou mau?
De uma forma rápida: MAU.
Tenho vindo a pensar nisto já há algum tempo, e ler o blog do Michael Puleio [^] [^] fez-me pensar ainda mais.
O que é habitualmente referido por Desenvolvimento Guiado por Testes (TDD - Test Driven Development) é, na verdade, Desenvolvimento com Testes Primeiro (TFD - Test First Development), o que é algo estúpido tendo em consideração ferramentas como o Visual Studio 2005 Team Edition for Software Developers (e Professional quando Orcas saír).
Agora que o TFD está afastado, o que eu implico mesmo é com a parte Guiado por Testes (ou Desenvolvimento Guiado por Exemplos (EDD - Example Driven Development) para quem gosta de outros sabores). Vamos lá, alguém está a desenvolver software guiado pela necessidade de fazer testes? Eu não estou.
O desenvolvimento guiado pelos testes também leva a que o software seja desenhado para ser testado e não para ser funcional, escalável e outras coisas mais interessantes. E se se usarem ferramentas como o TypeMock.Net, pode-se sempre testar o software sem que tenha de ser desenhado para ser testado.
O meu desenvolvimento de software é guiado pela necessidad de cumprir com os requisitos. Como é que o faço? Assistido por testes. Portanto, Eu estou a praticar Desenvolvimento Assistido por Testes (TAD - Test Assisted Development). (Será que devo registar a patente?)