| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2008 23:28:05
|
itanor
Entusiasta Java
Membro desde: 26/11/2003 19:44:45
Mensagens: 23
Offline
|
Olá pessoal,
venho acompanhando à algum tempo a idéia do TDD e todos os seus conceitos.
Acho interessante como o desenvolvimento guiado por testes se comporta e faz
com que o programador/desenvolvedor mude seu pensamento no momento de
construir software. Com certeza é uma mudança de paradigma em relação ao modelo
tradicional de se testar software. Até aí tudo OK.
Certa vez, comentando com colegas, um deles disse que a idéia do TDD era basicamente
a programação por tentativa e erro... Até aquele momento eu não havia pensado nesta questão.
Outras questões como estas eu já havia visto, mas essa de tentativa e erro ainda não...
A partir desse comentário comecei a "mastigar" isso e não consegui vislumbrar uma resposta
para dizer que o TDD não é "tentativa e erro".
Gostaria que colocassem suas opiniões sobre esta questão...
Grato!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2008 23:34:12
|
Rodrigo Carvalho Auler
Virtual Machine Man
Membro desde: 14/02/2003 15:59:17
Mensagens: 576
Localização: Rio de Janeiro
Offline
|
Tentativa e erro? Isso não faz sentido. O TDD só quer garantir que o resultado do que você fez vai ser realmente o esperado.
Se o que você diz ser "tentativa e erro" é você corrigir o seu código até ele funcionar direito, isso acontece com qualquer metodologia, nem que a correção seja feita depois de 2 meses do seu código em produção... e é justamente isso que o TDD tenta evitar...
[]'s
Rodrigo Auler
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/05/2008 07:49:15
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
A analogia é bem furada, creio. Quando você faz TDD você não está tentando, você está especificando o que o software deve fazer pela ótica de quem usa sua class/objeto/etc.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/05/2008 12:10:33
|
itanor
Entusiasta Java
Membro desde: 26/11/2003 19:44:45
Mensagens: 23
Offline
|
Pois é Philip, vejo que a "tentativa e erro" em TDD não tem sentido quando fala-se em, por exemplo,
codificar um método, realizar um teste, corrigir tal método, aplicar os testes novamente e repetindo
esta sequencia até ter a funcionalidade desejada e também uma boa cobertura dos testes.
Acho que a "tentativa e erro" tem mais haver com programadores ou com pessoas que estão começando
a programar do que com TDD. Um exemplo disso é quando, codificando o corpo de uma função/método,
o programador tende a criar código aparentemente satisfatório. Após esta codificação ele testa o
método/função e percebe que existem erros. Porém, nesta situação, ele ainda não sabe que tipo de erro
ele tem e vai tentar arrumar seu método em diversas tentativas e erros... Mas isso torna-se diferente em TDD,
pois estamos "amparados" pelos testes previamente criados que nos dão ou nos indicam onde está o erro
do método/função/classe, etc.
Creio que seja mais ou menos essa a diferença... O que vocês pensam?
Grato!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/05/2008 12:24:59
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Tentativa e erro não tem nada a ver com TDD. Na verdade eu diria que, especificamente no meu caso, eu uso tentativa e erro para efetuar "programação exploratória", ou seja, quando não sei exatamente nem o que deve ser feito, nem quais são exatamente os requisitos - o que é radicalmente diferente do TDD (que se caracteriza por ser usada em casos em que os requisitos e os resultados são bem-definidos - mesmo que sejam bem-definidos na mente do usuário somente).
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/05/2008 12:47:57
|
itanor
Entusiasta Java
Membro desde: 26/11/2003 19:44:45
Mensagens: 23
Offline
|
Oopsss... "tentativa e erro" tem mais a ver com programadores...
|
|
|
 |
|
|