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

Teste Unitários e TDD

1.992 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.992
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

×