Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a Introdução ao TDD nas soluções Global AppCasting(20)

Anúncio

Introdução ao TDD nas soluções Global AppCasting

  1. Introdução ao TDD nas soluções Global AppCasting
  2. Introdução • O que é TDD? • Mais do que uma tarefa, um estilo de vida!
  3. O que é mais importante? 1) Construir o código do teste? 2) Construir o código do software?
  4. Dissonância cognitiva “Você sendo um ser humano é naturalmente incapaz de programar sem acidentalmente introduzir bugs. Isso é inerente a natureza humana e principalmente a essa profissão.” Fernando Franzini
  5. Todo código é culpado até que prove sua inocência!
  6. O teste é o que prova que aquilo que você programou realmente faz o que você se propôs a automatizar.
  7. TDD não é revolução. TDD é evolução!
  8. TDD não substitui os outros métodos de controle de qualidade! • Pair programming; • Testes manuais; • Revisão de código;
  9. O que é mais importante? 1) Construir o código do teste? 2) construir o código do software?
  10. Design up-front - tradicional
  11. Design up-front – teste primeiro
  12. Desenvolvimento dirigido a testes (Test Driven Development)
  13. Passo a passo 1. Adicionar um teste; 2. Executar todos os testes; Seu teste ira falhar! 3. Modificar ou criar pequenas coisas no código; 4. Executar todos os testes Nessa etapa todos os testes devem passar! Se não passarem, volte ao passo 3. 5. Refatorar o código; 6. Executar todos testes Nessa etapa todos os testes devem passar! Se não passarem, volte ao passo 5.
  14. Escrevendo um teste • Onde começar? Teste mais simples. • Como começar? Assertion mais óbvia. • Então: Testes e assertions que ajudam a entender outros testes.
  15. Tipos comuns de testes aplicados • Testes de unidade; • Isto faz o que se espera? • Testes de integração; • Estão funcionando juntos como se espera? • Testes de regressão; • Essa modificação interfere algum dos itens acima em relação ao que já esta pronto?
  16. TDD e metodologia ágil • Errado: Prever/Escrever um código/design para modificar no futuro quando precisarmos. • Correto: Escrever um código simples e claro, que seja fácil modificar e seguro.
  17. TDD e metodologia ágil KISS (Keep it simple stupid): • Como conseguimos um código simples? Fazendo um Teste passar! • Como conseguimos um código claro? Refatorando o código após ele passar! • Como conseguimos um código seguro? Com Testes!
  18. Mão na massa...
  19. Desafios • Dificuldades em começar; • Curva de aprendizado; • Tempo;
  20. Benefícios • Primeiro foco no teste, depois na implementação; • Código “nasce” testado; • Feedback rápido; • Qualidade do código; • O teste é uma documentação; • Redução do tempo gasto com debugging;
  21. Limitações e pontos de ponderação • Suporte gerencial obrigatório; • Manutenção do projeto; • Alto nível de cobertura e detalhamento se torna mais difícil de ser alcançado quando se inicia o TDD em data tardia; • Lacunas inesperadas na cobertura de teste; • Alta dependência da especificação de requisitos;
  22. FIM
  23. Referências bibliográficas • How to implement TDD ( Test driven development ) in c# (Csharp) using VSTS unit testing? https://www.youtube.com/watch?v=5gMBGVNR8wE&list=PLcAWxGgex55V8w4YQfIQW-4g8wslwh0Xs • Introduction to Test Driven Development (TDD) in .NET https://www.youtube.com/watch?v=7ttVXhUkN3c • Test Driven Development https://pt.wikipedia.org/wiki/Test_Driven_Development • Test Driven Development (TDD) para seres humanos http://www.slideshare.net/RmuloSantos9/test-driven-development-tdd-para-seres- humanos?ref=https://www.linkedin.com/ • TDD - Test Driven Development http://pt.slideshare.net/elias.nogueira/tdd-test-driven-development-16315314 • TDD: Mais uma tarefa ou um estilo de vida? http://infobase.com.br/tdd-mais-uma-tarefa-ou-um-estilo-de-vida/ • Test Driven Development: TDD simples e prático http://www.devmedia.com.br/test-driven-development-tdd-simples-e-pratico/18533 • TDD, por que usar? https://tableless.com.br/tdd-por-que-usar/ • TDD: fundamentos do desenvolvimento orientado a testes http://www.devmedia.com.br/tdd-fundamentos-do-desenvolvimento-orientado-a-testes/28151
Anúncio