Test-Driven Development - Introdução ao método de construção de software guiado por testes

  • View
    1.375

  • Download
    2

Embed Size (px)

DESCRIPTION

Palestra sobre TDD ministrada por Thiago Faria de Andrade (AlgaWorks).

Text of Test-Driven Development - Introdução ao método de construção de software guiado por testes

  • 1.
  • 2. Palestrante Thiago Faria de Andrade
      • Programador h mais de 15 anos
      • 9 anos de experincia com Java
      • Bacharel em Sistemas de Informao
      • Certificado como programador Java pela Sun
      • Consultor, arquiteto, desenvolvedor, escritor e instrutor Java
      • Diretor/Proprietrio da AlgaWorks
      • Diretor de Tecnologia da Boobow
  • 3. Agenda
      • O que TDD?
      • Quem inventou?
      • Espiral da morte
      • Benefcios
      • Padres do TDD
      • Red Bar Patterns
      • Testing Patterns
      • Green Bar Patterns
      • Padres xUnit
      • Refatorao
      • Dominando TDD
      • Como aprender TDD
  • 4. O que TDD?
      • Tcnica de desenvolvimento de software
      • Testes unitrios automatizados
      • Test-first programming (da XP)
      • Processo formado por pequenas iteraes
  • 5. O que TDD?
      • J sei, um mtodo para testar software!
  • 6. O que TDD?
      • No um mtodo para testar software
      • um mtodo para construir software
  • 7. O que TDD?
      • Atravs do processo vermelho-verde-refatorar
      • Com cdigo limpo que funciona (Ron Jefrries)
  • 8. Quem inventou?
      • No sei
      • Mas um criador de cabras que redescobriu TDD.
      • @kentbeck
  • 9. Espiral da morte sem tempo para testar
  • 10. Benefcios
      • Testes unitrios sempre atualizados
      • Design guiado pelos testes
      • Aumento de confiana
      • Qualidade de cdigo
      • Baixo acoplamento
      • Alta coeso
      • Cdigo limpo
      • Testes so especificaes
  • 11. Padres do TDD
      • Crie uma lista de testes
      • Faa um brainstorm
      • Identifique e anote todos os testes que voc precisar escrever
      • Faa isso para uma mesma classe ou mtodo a ser testado
      • Durante o desenvolvimento, voc pode adicionar novos testes a essa lista
  • 12. Padres do TDD
      • Crie testes isolados uns dos outros
      • Um teste no pode depender de outro
      • Deve ser possvel executar um teste isoladamente
  • 13. Padres do TDD
      • Teste primeiro
      • Escreva o teste antes do cdigo que para ser testado
      • uma oportunidade para pensar no design das classes
      • Uma forma de controlar o escopo do que ser implementado
  • 14. Padres do TDD
      • Assertiva primeiro
      • Pense primeiro no sucesso do teste
      • Depois pense se vai precisar de um mtodo, de uma classe, os nomes dos parmetros, etc
  • 15. Padres do TDD
      • Como assim?
  • 16. Padres do TDD
      • Como assim?
  • 17. Padres do TDD
      • Dados para teste
      • No use nmeros mgicos
      • Evite passar o mesmo valor para diferentes parmetros
      • Use dados do mundo real
  • 18. Padres do TDD
      • Use dados evidentes
      • Testes so para pessoas, no para computadores
      • Escreva na assertiva uma expresso no s que representa o valor final esperado, mas o que ele significa
  • 19. Padres do TDD
      • Use dados evidentes
  • 20. Padres do TDD
      • Ao invs de
  • 21. Red Bar Patterns
      • Quando e onde escrever os testes?
      • Quando parar?
  • 22. Red Bar Patterns
      • Um passo de cada vez
      • Qual o prximo teste?
      • O que voc est confiante e vai lhe ensinar algo
      • Para cada pessoa a resposta diferente
      • Cada teste deve representar um passo em direo ao objetivo final
  • 23. Red Bar Patterns
      • Primeiro teste
      • No comece pelo mais completo
      • Comece pelo menor
      • Comece pelo mais simples
  • 24. Red Bar Patterns
      • Explicao usando testes
      • No d para forar ningum a mudar a forma de trabalhar
      • Pea explicaes em termos de testes
      • Explique em termos de testes
  • 25. Red Bar Patterns
      • Testes de estudo
      • Podemos escrever testes para componentes de terceiros?
      • Apenas para estudar ou documentar o uso
      • No teste todos os recursos do componente terceiro
  • 26. Red Bar Patterns
      • Novo teste
      • O que fazer quando surgir uma discusso?
      • Adicione um novo item na lista de testes
      • Volte ao assunto principal
  • 27. Red Bar Patterns
      • Teste de regresso
      • Se um defeito for encontrado, escreva um pequeno teste que falha, execute e depois implemente a correo
      • Para escrever o teste, pense em como voc teria feito se fosse no passado
  • 28. Red Bar Patterns
      • Pausa
      • Quando estiver cansado, d uma pausa
      • Beba gua, descanse, tenha outros compromissos diferentes e saia de frias
  • 29. Red Bar Patterns
      • Comece de novo
      • Se estiver perdido, jogue tudo fora e comece de novo
  • 30. Testing Patterns
      • Tcnicas mais detalhadas de como escrever testes
      • Hum legal!
  • 31. Testing Patterns
      • Testes menores
      • Se o teste ficou grande demais, deixe-o e escreva um pequeno que representa parte dele
      • O ciclo verde-vermelho-refatorar deve ser rpido
  • 32. Testing Patterns
      • Objetos dubls (mock)
      • Como testar objetos que dependem de recursos externos