Testes de Unidade, por que você
deve começar a fazer?
Renan Siravegna @RenanSiravegna
@RenanSiravegna
http://renansiravegna.wordpress.com/
Vocês testam o seu código?
Ciclo do desenvolvimento
Codificação FinalizaçãoTestes
2 mins 2 mins 1 min
Tempo total: 5 minutos
(E isto é apenas uma sup...
Ciclo do desenvolvimento
(de verdade)
Tempo total: 21 Minutos
Codificação FinalizaçãoTestes
2 mins 2 mins 1 min
Repetição ...
E se você testasse todas as
funcionalidades que seu
código pode ter afetado?
Pior ainda.. E se você testasse
o seu sistema inteiro?
Levaria dias? Semanas?
Meses?
Testar manualmente demora!!
Existe solução?
Automatizar tudo!!
Criar testes de unidade!!
O que é teste de unidade?
Um pedaço de código que irá chamar outro pedaço de código e
irá verificar algumas suposições. Ca...
Escrever código que testa
código
Como?
Codificação FinalizaçãoEscrita de
testes
2 mins 5 min 1 min
Tempo dos testes: 16 minutos
Repetição (5 vezes)
Testes
5 ms
Outros benefícios
• Meu sistema funciona!!!
• Testes de Regressão
• Não tenho medo de alterar meu código
• No final das co...
Qualidade de código com testes
de unidade
Problemas
• Falta de conhecimento de Orientação a Objetos
• Não pensar corretamente nos cenários
• Fica chato se você não ...
TDD
Começar testando (antes
mesmo de existir o código de
produção)
Como assim?
Benefícios
• Foco no objetivo
• Código nasce testado
• Sem soluções complexas
• Código limpo, mais coeso e menos desacopla...
Mas... Não é a mesma coisa
que escrever os testes
depois???
Problemas
• Aprendizado
• Mudança de cultura
• Exige prática
• Refatoração
Refatoração
É uma técnica disciplinada para reestruturar um corpo existente
de código, alterando a sua estrutura interna s...
E o que eu ganho com isso?
• Comentários no código se tornam desnecessários
• Código pode ser facilmente entendido por tod...
Até quando eu devo testar?
• Desencane de cobrir 100% o seu código
• Teste até onde os testes de unidade são necessários
•...
O que não testar
• Getters
• Setters
• Classes da linguagem
• Trechos simples demais
• Integração entre partes do sistema ...
Leituras recomendadas
Testes de Unidade, por que você deve começar a fazer? - Javaneiros
Testes de Unidade, por que você deve começar a fazer? - Javaneiros
Testes de Unidade, por que você deve começar a fazer? - Javaneiros
Próximos SlideShares
Carregando em…5
×

Testes de Unidade, por que você deve começar a fazer? - Javaneiros

256 visualizações

Publicada em

Mais detalhes sobre o que são testes de unidade, quais os benefícios, por que fazer, como fazer e até onde fazer

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
256
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Testes de Unidade, por que você deve começar a fazer? - Javaneiros

  1. 1. Testes de Unidade, por que você deve começar a fazer? Renan Siravegna @RenanSiravegna
  2. 2. @RenanSiravegna http://renansiravegna.wordpress.com/
  3. 3. Vocês testam o seu código?
  4. 4. Ciclo do desenvolvimento Codificação FinalizaçãoTestes 2 mins 2 mins 1 min Tempo total: 5 minutos (E isto é apenas uma suposição...)
  5. 5. Ciclo do desenvolvimento (de verdade) Tempo total: 21 Minutos Codificação FinalizaçãoTestes 2 mins 2 mins 1 min Repetição (5 vezes)
  6. 6. E se você testasse todas as funcionalidades que seu código pode ter afetado?
  7. 7. Pior ainda.. E se você testasse o seu sistema inteiro?
  8. 8. Levaria dias? Semanas? Meses?
  9. 9. Testar manualmente demora!!
  10. 10. Existe solução?
  11. 11. Automatizar tudo!! Criar testes de unidade!!
  12. 12. O que é teste de unidade? Um pedaço de código que irá chamar outro pedaço de código e irá verificar algumas suposições. Caso as suposições sejam erradas, o teste irá falhar. Unidade é um único e determinado comportamento.
  13. 13. Escrever código que testa código
  14. 14. Como?
  15. 15. Codificação FinalizaçãoEscrita de testes 2 mins 5 min 1 min Tempo dos testes: 16 minutos Repetição (5 vezes) Testes 5 ms
  16. 16. Outros benefícios • Meu sistema funciona!!! • Testes de Regressão • Não tenho medo de alterar meu código • No final das contas, sai mais barato • É mais fácil de encontrar um bug no código • Você consegue ver melhor como seu código será usado • Muito mais divertido! • Melhora a qualidade do código
  17. 17. Qualidade de código com testes de unidade
  18. 18. Problemas • Falta de conhecimento de Orientação a Objetos • Não pensar corretamente nos cenários • Fica chato se você não faz da forma correta
  19. 19. TDD
  20. 20. Começar testando (antes mesmo de existir o código de produção)
  21. 21. Como assim?
  22. 22. Benefícios • Foco no objetivo • Código nasce testado • Sem soluções complexas • Código limpo, mais coeso e menos desacoplado • Maior cobertura de código • Satisfação de ver seu sistema funcionando de ponta a ponta
  23. 23. Mas... Não é a mesma coisa que escrever os testes depois???
  24. 24. Problemas • Aprendizado • Mudança de cultura • Exige prática • Refatoração
  25. 25. Refatoração É uma técnica disciplinada para reestruturar um corpo existente de código, alterando a sua estrutura interna sem alterar seu comportamento externo.
  26. 26. E o que eu ganho com isso? • Comentários no código se tornam desnecessários • Código pode ser facilmente entendido por todos • Fácil de testar • Fácil de compreender • Extensibilidade • Melhor leitura e escrita
  27. 27. Até quando eu devo testar? • Desencane de cobrir 100% o seu código • Teste até onde os testes de unidade são necessários • Teste somente o que é relevante
  28. 28. O que não testar • Getters • Setters • Classes da linguagem • Trechos simples demais • Integração entre partes do sistema (falando em testes de unidade) • Quando você sabe que o teste vai passar antes de implementar
  29. 29. Leituras recomendadas

×