Teste Unitários e TDD

1.955 visualizações

Publicada em

Palestra para a equipe de desenvolvimento da Engeman EAM, em Julho de 2010.

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

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.955
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
24
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Teste Unitários e TDD

  1. 1. Testes de SoftwareConceitos, Benefícios e Aplicabilidade
  2. 2. Diogo DamianiDesenvolvedor de SoftwareEstudante compulsivo de Arquitetura de Software eBoas Práticas de Desenvolvimento.
  3. 3. Tipos de Testes
  4. 4. UnitáriosIntegradosRegressãoFuncionais Stress ...
  5. 5. UnitáriosIntegradosRegressãoFuncionais Stress ...
  6. 6. Teste Unitário“É um código executável que testa uma unidade funcional do software” Geralmente uma classe, um método.
  7. 7. Por que testes?
  8. 8. “Testes são documentação executável”
  9. 9. “Testes garantem a mudança sem medo”
  10. 10. Desculpas para não escrever testes...
  11. 11. Não tenho tempo para isso! Pode piorar!
  12. 12. Vou demorar muito mais! Depende!
  13. 13. Código legado é impossível de testar! Mito!
  14. 14. Isso é responsabilidade do testador! Nem sempre!
  15. 15. Compila! Logo, funciona! O compilador é só mais um teste, quando existe!
  16. 16. Consequências da Falta de Testes
  17. 17. “Desenvolvedor que não faz testes é como um cirurgião que não lava as mãos” Uncle Bob (Robert C. Martin)
  18. 18. “Software sem testes dá medo!” Giovanni Bassi
  19. 19. Para testar, o software tem que ser testável!SRPSeparação de ReponsabilidadesCoesãoInversão de ControleInjeção de Dependência...
  20. 20. TDDTest Driven Development
  21. 21. TDD“É uma técnica para desenvolvimentode software cujo processo é formadopor pequenas iterações e os testes são escritos primeiro”Não é um método para testar software, mas para (re)construir software!
  22. 22. Benefícios dos Testes
  23. 23. TDD: garante a existência de testes unitários Oba! Ganhei um conjunto de testes!
  24. 24. Diminui a quantidade de erros Mais qualidade de código!
  25. 25. Testes servem como especificação Agora eu sei como isso funciona!
  26. 26. Melhora a arquitetura do software Mais desacoplamento e coesão!
  27. 27. Princípios
  28. 28. Testes devem ser isolados Um teste não deve depender do sucesso do outro!
  29. 29. Testes devem ser limpos Legibilidade = clareza + simplicidade + consistência
  30. 30. Um conceito e uma confirmação por teste Uma análise, uma conclusão
  31. 31. Ferramentas

×