| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/06/2009 16:26:55
|
Andre Brito
JWizard
Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline
|
Pessoal, Do nada me veio à cabeça duas perguntas: 1 - Quando eu sei que não preciso de mais testes unitários? 2 - Como fazer TDD com consultas ao banco (que é um mock)? Usando Hash ou alguma coisa parecida? Abraço.
This message was edited 1 time. Last update was at 18/06/2009 16:27:13
|
Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2009 00:51:34
|
faelcavalcanti
GUJ Ranger
![[Avatar]](/images/avatar/04f2a4140112ae491f66a1c558df795f.jpg)
Membro desde: 03/05/2006 13:16:25
Mensagens: 960
Localização: Recife-PE
Offline
|
Andre Brito wrote:1 - Quando eu sei que não preciso de mais testes unitários?
você tem que analisar o aspecto funcional e não-funcional, se você pensar assim, você sempre achará mais uma coisa a testar e verificar
procure focar nos requisitos funcionais, que é o que mais importa para o cliente, e posteriormente limites da sua arquitetura de projeto, através de testes planejados e preventivos
não subestime requisitos nao-funcionais, como acaba sendo desbanjado pelos gerentes, pois se você diz ao cliente que sua arquitetura de projeto suporta 1 mil usuarios silmutaneos com tempo de resposta de ate 10 segundos, como fica se não o fizer?
geralmente o que se faz é identificar o grau de cobertura de precaveniência do código escrito, bem como a partir de lógicas cobertas no código, como por exemplo análise de pairwise, tabelas de decisao, entre outras técnicas, identificados durante a antecipação da programação
você também poderá identificar gargalos que devem ser sinalizados quando ocorrerem em uma mudança eventual, ou seja, problemas de recorrência de testes, que é bastante desgastante em ambiente de fábrica de software
Andre Brito wrote:2 - Como fazer TDD com consultas ao banco (que é um mock)? Usando Hash ou alguma coisa parecida?Abraço.
http://www.carbonfive.com/community/
http://blog.carbonfive.com/2008/07/testing/database-testing-with-spring-25-and-dbunit
|

--
http://faelcavalcanti.wordpress.com/ :: http://pe.debianbrasil.org/
--
Acredite um pouco mais na força de sua própria intuição. Muitas vezes deixamos de realizar algo de bom ou que nos favoreça simplesmente porque achamos tudo muito difícil e por isso nem começamos. Moral da história: A vida é o caminho e não o destino, você é o arquiteto do seu caminho!
--
Obrigado, Rafa Rocha! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2009 01:37:15
|
s4nchez
Virtual Machine Man
![[Avatar]](/images/avatar/bef4d169d8bddd17d68303877a3ea945.jpg)
Membro desde: 05/06/2006 11:35:55
Mensagens: 674
Localização: London, UK
Offline
|
Andre Brito wrote:
1 - Quando eu sei que não preciso de mais testes unitários?
Como o Kent Beck cita no livro dele, você possuirá testes o suficiente "quando o medo se transformar em tédio".
|
Ivan Sanchez | coding dojo | blog | twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2009 20:51:47
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Para testes envolvendo banco de dados geralmente se usa um banco em memória (e.g. sqlite, hsqldb, etc) e Carrega-se Fixtures antes de cada teste limpando ao final.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 07:49:19
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
s4nchez wrote:
Andre Brito wrote:
1 - Quando eu sei que não preciso de mais testes unitários?
Como o Kent Beck cita no livro dele, você possuirá testes o suficiente "quando o medo se transformar em tédio".
Testes unitários são super valorizados. Tem gente que acha que deve usar em todo projeto e em toda parte do projeto. Engraçado que o próprio Kent Beck recentemente disse que testes são dispensáveis em muitos projetos.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 14:47:31
|
Andre Brito
JWizard
Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline
|
Emerson Macedo wrote:Para testes envolvendo banco de dados geralmente se usa um banco em memória (e.g. sqlite, hsqldb, etc) e Carrega-se Fixtures antes de cada teste limpando ao final.
Emerson,
Essa de carregar Fixtures antes é pra não mexer no banco enquanto faço os testes, né?
Valeu Ivan, Rafael, Emerson e Moch.
|
Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 16:13:36
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Andre Brito wrote:
Emerson Macedo wrote:Para testes envolvendo banco de dados geralmente se usa um banco em memória (e.g. sqlite, hsqldb, etc) e Carrega-se Fixtures antes de cada teste limpando ao final.
Emerson,
Essa de carregar Fixtures antes é pra não mexer no banco enquanto faço os testes, né?
Valeu Ivan, Rafael, Emerson e Moch.
É para ter um estado consistente no início e ao final dos seus testes.
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/06/2009 12:08:23
|
psevestre
JavaEvangelist
Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline
|
Andre Brito wrote:
1 - Quando eu sei que não preciso de mais testes unitários?
Uma forma é medir quanto do seu código é "exercitado" pelos testes unitários. Se vc. for por este caminho é fundamental medir a cobertura dos testes. Felizemente há uma boa oferta de ferramentas para isto:
http://java-source.net/open-source/code-coverage
|
http://justaphilpicks.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2009 08:07:55
|
Andre Brito
JWizard
Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline
|
psevestre wrote:
Andre Brito wrote:
1 - Quando eu sei que não preciso de mais testes unitários?
Uma forma é medir quanto do seu código é "exercitado" pelos testes unitários. Se vc. for por este caminho é fundamental medir a cobertura dos testes. Felizemente há uma boa oferta de ferramentas para isto:
http://java-source.net/open-source/code-coverage
Oi psevestre.
Valeu pela dica cara.
Lendo rapidamente a descrição do Cobertura, eu tive uma impressão errada (eu espero): ele mede a porcentagem que os testes são executados. É isso?
Me parece meio estranho isso... Porque pensa bem, se eu tenho uns testes unitários que testam poucas coisas que acontecem, mas frequentemente, eu tenho uns testes unitários que são bastante executados. Ou seja, a porcentagem deles vai ser alta. Mas isso não indica que eu testei eventos que podem ser que aconteçam e eu não consiga ver.
Posso ter falado com sem nexo, mas a priori me parece ser um tanto quanto válido.
|
Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/06/2009 09:48:30
|
psevestre
JavaEvangelist
Membro desde: 13/05/2005 12:53:19
Mensagens: 432
Localização: São Paulo
Offline
|
Lendo rapidamente a descrição do Cobertura, eu tive uma impressão errada (eu espero): ele mede a porcentagem que os testes são executados. É isso?
Não. Leia de novo o que está escrito lá:
Cobertura is a free Java tool that calculates the percentage of code accessed by tests.
Traduzindo: Cobertura é uma ferramenta Java gratuita que calcula a porcentagem do código "acessada" (tradução aproximada) por testes.
Exemplificando: se seu código tem 1000 linhas e o conjunto de testes "passa" por 200, a cobertura é de 20%. Na ferramenta vc. pode navegar pelos resultados e verificar quais trechos de código foram executados ou não ao longo da bateria de testes unitários.
|
http://justaphilpicks.blogspot.com/ |
|
|
 |
|
|