Desenvolvimento confiante
Imaginem um projeto que não tenha nenhuma surpresa desagradável, que a cada método, classe ou módulo entregado raramente necessitará de retornar para consertar algum problema. Agora imaginem um desenvolvimento em que você tenha plena confiança de que nenhuma alteração trará problema sério para o andamento do projeto. Gostou? Isso seria interessante para as constantes mudanças que enfrentamos nos projetos. Esta é a ponta do iceberg que o TDD traz de benefícios para os desenvolvedores.A prática constante do TDD constrói uma malha de segurança em seu projeto. Seus códigos passarão freqüentemente por verificação, cada linha inserida ou removida será questionada para ver se ela acarreta alguma mudança ou algum erro. Sem contar que toda nova funcionalidade terá seu selo de qualidade, passando a ser vigiado antes mesmo de ser programado. Seu código será o lugar mais seguro do mundo.
Esta segurança é motivadora, a cada passo que você dá no desenvolvimento trará a sensação de que aquela parte do código está completa, 100% concluída. Você será recompensado constantemente pela satisfação de ter feito um código correto que passa por uma grande bateria de testes.
Mesmo errando, o feedback é quase que instantâneo. A malha de segurança informará onde aconteceu o erro, eliminando a necessidade de procurá-lo. Mesmo que o projeto seja desenvolvido por uma equipe, você saberá onde ocorreu o erro e poderá consertar por conta própria, seguindo com o desenvolvimento.
Em grandes projetos, o TDD é uma mão na roda. A complexidade que os sistemas possuem, quando se tornam grandes, faz com que qualquer problema tenha seu custo elevado. Com TDD estes custos são minimizados, pois os testes unitários irão detectar qualquer problema que se propague depois de alguma alteração.
Sem dúvida o Desenvolvimento Orientado a Teste é uma grande prática. Ela deveria estar implantada em todas as equipes de desenvolvimento, nenhum código deveria ser produzido sem que houvesse um teste para verificá-lo.
Nós, aqui da souÁgil, começaremos a escrever uma série de posts ensinando como utilizar TDD em projetos baseados em CakePHP. Espero que vocês aproveitem e se beneficiem com esta excelente prática. Um abraço e aguardem!
Tags: tdd




