Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Palestra tdd - rsjug

202 views

Published on

Slides da palestra sobre TDD realizado pelo RSJUG

Published in: Software
  • Be the first to comment

  • Be the first to like this

Palestra tdd - rsjug

  1. 1. TDD Por um mundo com mais testes RSJUG
  2. 2. Bruno Maomeh Um grande aficionado pelo conhecimento, admirador do desenvolvimento de software e metodologias ágeis. Trabalhando por mais de 9 anos com o desenvolvimento, eu também sou entusiasta por comunidades de desenvolvimento de sistemas, atuando como coordenador da JavaSF International Group (JavaSF) e membro ativo da Comunidade Java do Ceará (JavaCE).
  3. 3. O que são testes?
  4. 4. O que são testes? Teste é tudo aquilo que assegura que alguma coisa está funcionado.
  5. 5. O que são testes? "Afirma-se que o teste de software é um processo, ou uma série de processos, projetado para se certificar a respeito do código de computador, além de fazer o que foi designado a cumprir, e sem realizar nada que não seja intencional.” (Myers - 2004)
  6. 6. O que são testes automatizados?
  7. 7. O que são testes automatizados? Qualquer instrução que teste automaticamente.
  8. 8. O que são testes automatizados? Ferramentas para execução dos testes:
  9. 9. Tipos de testes Teste de unidade Teste de integração Teste de aceitação Teste de segurança Teste de performance Teste de configuração Teste de regressão
  10. 10. Tipos de testes Teste de unidade Teste de integração Teste de aceitação Teste de segurança Teste de performance Teste de configuração Teste de regressão
  11. 11. Teste de unidade É um teste que executa a menor parcela de código de um software. Na maioria das linguagens atuais, a menor parcela de código é um método.
  12. 12. Teste de unidade Ajuda na rastreabilidade de bugs no sistema.
  13. 13. Teste de unidade Previnem regressão do código
  14. 14. Teste de unidade Incentivam a refatoração.
  15. 15. Teste de unidade Servem como documentação.
  16. 16. Teste de integração É aquele que integra duas ou mais partes do sistema ou com outros sistemas. Integração com banco de dados ou um webservice.
  17. 17. Teste de integração Garantir que as duas partes do sistema se comuniquem corretamente.
  18. 18. Teste de integração São testes de "caixa preta", o que reduz a rastreabilidade de problemas com o código (com relação ao teste unitário).
  19. 19. Teste de aceitação Garante que o sistema funcione como um todo.
  20. 20. Teste de aceitação Simula o teste com o usuário final.
  21. 21. Qual tipo de teste usar?
  22. 22. Qual tipo de teste usar? Em regras gerais (isso não é uma estatística, apenas referência)
  23. 23. O que é TDD?
  24. 24. O que é TDD? TDD é uma prática de desenvolvimento de software onde todo o código do sistema é escrito depois de escrever testes automatizados. "We never have enough time for testing, so let's just write the test first." (Kent Beck)
  25. 25. O que é TDD? Ciclo do TDD: Vermelho-Verde-Amarelo
  26. 26. O que é TDD? Só se escreve algum código novo no sistema se houver algum código de teste quebrando.
  27. 27. O que é TDD? Muito além de tecnicas de "test-first" Auxilia na detecção de falhas no design do sistema. Também deve ter informações sobre o código testado. Se um teste está ficando muito complicado, é um grande indício que exista problema com o design. É hora de refatorar!!
  28. 28. Referências https://github.com/brunomaomeh http://www.slideshare.net/brunomaomeh https://www.linkedin.com/in/brunomaomeh
  29. 29. Obrigado e

×