Test Driven Development
 Teste automatizado é uma  documentação executável. Testes automáticos geram Feed Back  rápido e fácil (1 click). Teste...
   Integração   Regressão   Aceitação   Stress / Carga   Funcional / Caixa Preta   Unitários
   Criado por Kent Back   Em 2003   XP (Extreme Programming)   Manifesto Ágil
Keep It Simple, Stupid
You Ain’t Gonna Need It
Don´t repeat yourself     Duplicate is Evil
Desenha   Implementa   Testa
Desenha   Testa   Implementa   Testa
DesenhaTesta                Testa        Implementa
DesenhaTesta                Testa        Implementa
Entenda o           BugTeste               Teste        Corrija o          Bug
   Encontre o foco do problema que gera o Bug   Transforme-o em um teste   Teste. Ele deve falhar   Corrija o bug   T...
   Tente fazer com que os próprios usuários    submetam testes   Examine o código e encontre possíveis Bugs    semelhantes
Não importa se foi feito essa manhã.
Anh? =/Teste             Teste        Ahh! =)
   Analise o código   Construa o teste e veja se você entendeu o    problema   Teste   Adapte o teste (Iterativamente)...
   Entenda   Documente   Refatore   Remova excessos   Padronize   Faça-o seguro e robusto
   CUIDADO!   Vá devagar   Esteja pronto para desfazer tudo
 Elevação   do comprometimento  do time Planejamento mais rápido
 Sãoconsiderados Scrum e TDD na discussão do que é ou não entregável
SCRUM                       TDDAgilidade e Transparência   Qualidade
MITOS                           REALIDADESTDD pode gerar um conjunto de       Componentes de terceiros àstestes 100% aplic...
   Os riscos aumentam   Demora mais na entrega e muito menos na    correção
   Ou o problema não foi entendido   Ou utiliza um grande inimigo o Ctrl+C,    Ctrl+V
   É como se não conhecesse uma biblioteca e    isso o impedisse de testar   Trata apenas de programação coisa que já   ...
   Sem fundamento   Se o cenário é inédito existe a comunidade    que pode ajudar
   Testes devem ser escritos antes do código   Não significa abrir mão de uma poderosa    ferramenta
   Escreva um teste que não irá funcionar.   Faça com que esse teste funcione com a    implementação mais óbvia e rápida...
   Bruno Eustáquio   Juliana Villas Boas   Marcelo Nascimento   Thiago Funghi   Thiago RibeiroPO - Márcio Sete
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
Próximos SlideShares
Carregando em…5
×

TDD - Pós Graduação em Engenharia de Software Ágil

1.890 visualizações

Publicada em

Apresentação sobre TDD para a disciplna de metodologias ágeis de desenvolvimento de software do curso de pósgraduação em engenharia de software centrada em métodos ágeis.

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

Sem downloads
Visualizações
Visualizações totais
1.890
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
49
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TDD - Pós Graduação em Engenharia de Software Ágil

  1. 1. Test Driven Development
  2. 2.  Teste automatizado é uma documentação executável. Testes automáticos geram Feed Back rápido e fácil (1 click). Teste de software é qualidade de software. Teste de caixa preta (Funcional), é cansativo para o ser humano.
  3. 3.  Integração Regressão Aceitação Stress / Carga Funcional / Caixa Preta Unitários
  4. 4.  Criado por Kent Back Em 2003 XP (Extreme Programming) Manifesto Ágil
  5. 5. Keep It Simple, Stupid
  6. 6. You Ain’t Gonna Need It
  7. 7. Don´t repeat yourself Duplicate is Evil
  8. 8. Desenha Implementa Testa
  9. 9. Desenha Testa Implementa Testa
  10. 10. DesenhaTesta Testa Implementa
  11. 11. DesenhaTesta Testa Implementa
  12. 12. Entenda o BugTeste Teste Corrija o Bug
  13. 13.  Encontre o foco do problema que gera o Bug Transforme-o em um teste Teste. Ele deve falhar Corrija o bug Teste novamente. Ele deve passar
  14. 14.  Tente fazer com que os próprios usuários submetam testes Examine o código e encontre possíveis Bugs semelhantes
  15. 15. Não importa se foi feito essa manhã.
  16. 16. Anh? =/Teste Teste Ahh! =)
  17. 17.  Analise o código Construa o teste e veja se você entendeu o problema Teste Adapte o teste (Iterativamente) Teste Siga para a próxima parte
  18. 18.  Entenda Documente Refatore Remova excessos Padronize Faça-o seguro e robusto
  19. 19.  CUIDADO! Vá devagar Esteja pronto para desfazer tudo
  20. 20.  Elevação do comprometimento do time Planejamento mais rápido
  21. 21.  Sãoconsiderados Scrum e TDD na discussão do que é ou não entregável
  22. 22. SCRUM TDDAgilidade e Transparência Qualidade
  23. 23. MITOS REALIDADESTDD pode gerar um conjunto de Componentes de terceiros àstestes 100% aplicáveis para vezes deixam de ter testes e até oqualquer aplicação código-fonte.Você só precisa fazer teste de É preciso aplicar outras técnicasunidade de testes, mesmo para sistemas simples. TDD contemplam apenas o testeTDD é suficiente para testar tudo entre o desenvolvedor e a unidade.TDD não é escalável O TDD encoraja o refactoring, o que torna o código escalável.
  24. 24.  Os riscos aumentam Demora mais na entrega e muito menos na correção
  25. 25.  Ou o problema não foi entendido Ou utiliza um grande inimigo o Ctrl+C, Ctrl+V
  26. 26.  É como se não conhecesse uma biblioteca e isso o impedisse de testar Trata apenas de programação coisa que já estamos acostumados
  27. 27.  Sem fundamento Se o cenário é inédito existe a comunidade que pode ajudar
  28. 28.  Testes devem ser escritos antes do código Não significa abrir mão de uma poderosa ferramenta
  29. 29.  Escreva um teste que não irá funcionar. Faça com que esse teste funcione com a implementação mais óbvia e rápida possível. Repita esse ciclo iterativamente refatorando o código eliminando o desnecessário.
  30. 30.  Bruno Eustáquio Juliana Villas Boas Marcelo Nascimento Thiago Funghi Thiago RibeiroPO - Márcio Sete

×