| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/12/2010 11:34:52
|
nayaracf
Entusiasta Java
![[Avatar]](/images/avatar/80de80d9c900c0245d4ea6e01d0180f3.jpg)
Membro desde: 08/03/2008 09:29:36
Mensagens: 21
Offline
|
Olá pessoal estou fazendo meu trabalho de conclusão de curso sobre TDD, e gostaria de algumas sugestões para exemplificar o uso de TDD.
Gostaria de algo que fosse simples de desenvolver, pq não sou mt boa em programação.
Se puderem me ajudar. Obrigada
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/12/2010 22:02:20
|
marcio_gs
JavaEvangelist
Membro desde: 11/08/2008 08:10:37
Mensagens: 497
Offline
|
TDD nada mais são do que Teste De Desenvolvedor
Quando você faz teste que não foi criado pela equipe de qualidade do produto, você está fazendo um teste extra, que é o teste de desenvolvedor.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/12/2010 11:40:05
|
j0nny
GUJ Master
![[Avatar]](/images/avatar/2f37ce1ace06a770fab4452db0fe5c5f.png)
Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline
|
marcio_gs wrote:TDD nada mais são do que Teste De Desenvolvedor
Quando você faz teste que não foi criado pela equipe de qualidade do produto, você está fazendo um teste extra, que é o teste de desenvolvedor.
Vc tá zuando né?
http://pt.wikipedia.org/wiki/Test_Driven_Development
|
@jntsdaniel
github.com/jonatasdaniel
---
AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/12/2010 12:25:26
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
marcio_gs wrote:TDD nada mais são do que Teste De Desenvolvedor
Quando você faz teste que não foi criado pela equipe de qualidade do produto, você está fazendo um teste extra, que é o teste de desenvolvedor.
Marcio,
TDD é:
crie um teste unitário que espera um determinado comportamento de uma classe,
verifique que esse teste falha,
crie o código para atender a expectativa do teste,
refatore o código e o teste,
repita o ciclo.
TDD não é o teste, é o processo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/12/2010 12:49:00
|
André Fonseca
JWizard
![[Avatar]](/images/avatar/286b0b3ea509af1aeff6bb47299d96d7.png)
Membro desde: 23/02/2007 15:52:55
Mensagens: 2034
Offline
|
|
Você é novo no GUJ?
Como fazer perguntas?
www.twitter.com/_afonseca |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/12/2010 22:44:58
|
YvGa
Virtual Machine Man
Membro desde: 07/03/2007 15:58:16
Mensagens: 518
Offline
|
Hmm, se o seu forte nao é programação acho que você não escolheu o melhor dos temas para seu TCC. TDD é bastante dificil, mesmo para programadores experientes. Voce le, le, le e a ficha demora pra cair, pra muitos nao cai nunca.
Mas já que começou, agora vai em frente, só que vai ter que suar a camisa.
Eu recomendo, muitissimo, que voce va beber direto na fonte.
http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
|
Paulo Borio |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 08:15:24
|
CarlosEduardoDantas
GUJ Master
![[Avatar]](/images/avatar/dc33e31c39c141adff52d67a0718b867.jpg)
Membro desde: 13/11/2006 15:26:38
Mensagens: 1089
Offline
|
Gostaria de algo que fosse simples de desenvolver, pq não sou mt boa em programação.
Mas TDD é justamente sobre programação. Posso estar errado, mas acredito que você tenha escolhido o tema porque gosta de escrever casos de teste e procurar bugs em códigos finalizados, e talvez tenha imaginado que TDD fosse justamente isso, o que é um engano.
|
'Nós somos o que repetidamente fazemos. Excelência, então, não é um ato, mas um hábito'.
Aristóteles.
carloseduardoxp |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 13:15:05
|
Master.Abs
JavaGuru
![[Avatar]](/images/avatar/4e75943e17bc09ff25edc80e743aa682.jpg)
Membro desde: 17/11/2010 13:47:18
Mensagens: 242
Offline
|
Test Driven Development, ou seja, Desenvolvimento Dirigido por Testes. O TDD é uma forma previsível de desenvolver. Voce sabe quando acabou sem ter de se preocupar com uma longa trilha de erros.
This message was edited 4 times. Last update was at 09/12/2010 08:49:39
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 15:15:10
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
O exemplo acima é bem simples e BEM errado!! Em TDD, não criamos uma classe e depois os testes. É justamente o OPOSTO. Criamos um teste e DEPOIS codificamos o que for essencial para esse teste passar. O desenvolvimento é GUIADO pelos testes, ou seja, o teste precisa existir ANTES do código.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 15:35:12
|
Master.Abs
JavaGuru
![[Avatar]](/images/avatar/4e75943e17bc09ff25edc80e743aa682.jpg)
Membro desde: 17/11/2010 13:47:18
Mensagens: 242
Offline
|
esmiralha wrote:O exemplo acima é bem simples e BEM errado!! Em TDD, não criamos uma classe e depois os testes. É justamente o OPOSTO. Criamos um teste e DEPOIS codificamos o que for essencial para esse teste passar. O desenvolvimento é GUIADO pelos testes, ou seja, o teste precisa existir ANTES do código.
Então BONZÃO posta um exemplo ai para nos ensinar.
Pois o que eu vi vc colocar foi uma critica e cade a solução ???
Aqui nesse forum vc lida com pessoas que tem suas duvidas expostas, e ainda bem que tem pessoas que ainda tentam ajudar. Diferente de Animais como sua raça mediocre que só pensa em criticar a boa intensão das pessoas.
Aprenda primeiro a lidar com gente para depois responder de maneira civilizada.
This message was edited 3 times. Last update was at 08/12/2010 15:54:45
|
Att.
Master Abs
Evil Soldier the killer of Java Bugs
And
Advocate of good education.
----------------------------------------------------------------------
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 16:44:13
|
j0nny
GUJ Master
![[Avatar]](/images/avatar/2f37ce1ace06a770fab4452db0fe5c5f.png)
Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline
|
Master.Abs wrote:
esmiralha wrote:O exemplo acima é bem simples e BEM errado!! Em TDD, não criamos uma classe e depois os testes. É justamente o OPOSTO. Criamos um teste e DEPOIS codificamos o que for essencial para esse teste passar. O desenvolvimento é GUIADO pelos testes, ou seja, o teste precisa existir ANTES do código.
Então BONZÃO posta um exemplo ai para nos ensinar.
Pois o que eu vi vc colocar foi uma critica e cade a solução ???
Aqui nesse forum vc lida com pessoas que tem suas duvidas expostas, e ainda bem que tem pessoas que ainda tentam ajudar. Diferente de Animais como sua raça mediocre que só pensa em criticar a boa intensão das pessoas.
Aprenda primeiro a lidar com gente para depois responder de maneira civilizada.
Calma aí pessoal, não vamos faltar com respeito...
Na verdade, vc criou seues testes unitários, mas o que o TDD prega, é que os testes sejam realizados antes da estrutura e lógica das classes, até para facilitar o desacoplamento de código posteriormente.
|
@jntsdaniel
github.com/jonatasdaniel
---
AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 20:01:17
|
YvGa
Virtual Machine Man
Membro desde: 07/03/2007 15:58:16
Mensagens: 518
Offline
|
Master.Abs wrote:
esmiralha wrote:O exemplo acima é bem simples e BEM errado!! Em TDD, não criamos uma classe e depois os testes. É justamente o OPOSTO. Criamos um teste e DEPOIS codificamos o que for essencial para esse teste passar. O desenvolvimento é GUIADO pelos testes, ou seja, o teste precisa existir ANTES do código.
Então BONZÃO posta um exemplo ai para nos ensinar.
Pois o que eu vi vc colocar foi uma critica e cade a solução ???
Aqui nesse forum vc lida com pessoas que tem suas duvidas expostas, e ainda bem que tem pessoas que ainda tentam ajudar. Diferente de Animais como sua raça mediocre que só pensa em criticar a boa intensão das pessoas.
Aprenda primeiro a lidar com gente para depois responder de maneira civilizada.
Ele nao esta criticando sua boa intencao, ele esta criticando a sua abordagem. Talvez ele nao tenha feito de uma forma muito polida, mas tambem nao foi nenhuma agressao para voce reagir dessa forma.
E quando voce expoe publicamente sua opiniao está sim sujeito a criticas.
Sobre a opiniao do esmirralha sobre o seu post, concordo plenamente. Sua abordagem está sim equivocada. Em TDD escrevemos antes os testes, depois implementamos alguma coisa pra ele.
Eu sei que voce fez com a intencao de ajudar, mas as vezes acaba confundindo quem ta começando.
|
Paulo Borio |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2010 09:48:50
|
PedroTOliveira
JavaChild
Membro desde: 03/09/2010 10:44:54
Mensagens: 111
Offline
|
Olá Nayara,
Vou tentar exemplificar o processo de forma prática.
Então vou criar um cenário simples e aplicar o TDD para resolver meu probleminha.
Tarefa: Criar um cadastro de cliente com validação do CPF. De acordo com a fórmula.
Fórmula de validação do CPF:
http://www.gerardocumentos.com.br/?pg=entenda-a-formula-do-cpf3
Pensando na minha tarefa acima, imaginei que terei que criar uma classe chamada CPFValidator com um metodo chamado "validate" que irá receber o número do CPF como parâmetro e retornar um boolean dizendo se meu CPF está válido ou não.
Nesse momento eu acabei de especificar o contrato ao qual eu quero testar.
Modelo rabiscado:
Baseado nisso eu inicio meu desenvolvimento criando o teste unitário.
Segue exemplo:
Nesse momento, eu tenho apenas meu teste e o esqueleto não implementado da minha classe CPFValidator.
Apesar de não existir ainda a implementação da classe eu acabei modelando e criando um mecanismo de como testar o comportamento que minha implementação irá ter.
Sendo assim meu desenvolvimento est'a guiado pelo caso de teste que eu criei (TDD).
Seguindo o processo os próximos passos seriam: (De acordo coma a figura do amigo ali).
- Criar implementação inicial do método valiedate.
- Adicionar novos casos de testes a minha classe de testes
- Refatorar o metodo validate se preciso.
Simplificando muito é isso...
Edorso tudo que o amigo YvGa disse, TDD parece simples, mas exige muita prática e disciplina do programador.
Ao meu ver é o estilo de Design que mais exige que a pessoa saiba programar bem.
This message was edited 3 times. Last update was at 09/12/2010 10:18:31
|
blog: www.pedro.oliveira.nom.br/blog/
twitter:www.twitter.com/pedrotoliveira |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2010 16:47:13
|
William Alves
JavaEvangelist
![[Avatar]](/images/avatar/7aef228fe8c99a599158ee626efe281b.jpg)
Membro desde: 02/10/2008 07:36:41
Mensagens: 301
Localização: São Paulo-SP
Offline
|
nayaracf wrote:Olá pessoal estou fazendo meu trabalho de conclusão de curso sobre TDD, e gostaria de algumas sugestões para exemplificar o uso de TDD.
Gostaria de algo que fosse simples de desenvolver, pq não sou mt boa em programação.
Se puderem me ajudar. Obrigada
Olá, naya.
Fizemos na empresa um exercicio simples usando um supermercado, um de meus amigos colocou no blog dele http://resumotecnico.blogspot.com/ , esta em TDD na pratica; (os creditos são dele rsrs)
Foi um exercicio simples mais ajudou muito a galera, fomos incrementando os testes por parte by tio jack, sem esquecer das regrinhas red, green, refactoring e baby steps.
O que mais ajuda na minha opinião e eh o principio de tudo é você entender o problema antes de querer implementa-lo, parece simples mas ja vi gente se enroscar com isso.
Abraços.
[edit] desculpe a pelo atraso a essa hora você ja entregou seu tcc, mas fica a dica.
This message was edited 1 time. Last update was at 21/12/2010 16:48:33
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2010 09:35:21
|
CarlosEduardoDantas
GUJ Master
![[Avatar]](/images/avatar/dc33e31c39c141adff52d67a0718b867.jpg)
Membro desde: 13/11/2006 15:26:38
Mensagens: 1089
Offline
|
http://blog.caelum.com.br/2010/12/10/perdendo-ou-ganhando-tempo-com-testes-de-unidade/
|
'Nós somos o que repetidamente fazemos. Excelência, então, não é um ato, mas um hábito'.
Aristóteles.
carloseduardoxp |
|
|
 |
|
|