Globalcode	  –	  Open4educationsexta-feira, 19 de outubro de 2012
Lições do Futuro:     O que eu queria saber há alguns anos atrás      sobre como manter uma suíte de testes               ...
Eder Ignatowicz...                                            Software Craftsman @ Dextra                                 ...
Fábio Lima Santos                                            Software Craftsman @ Dextra                                  ...
Maior grupo financeiro de                                    câmbio do Brasil                                             ...
Globalcode	  –	  Open4educationsexta-feira, 19 de outubro de 2012
Globalcode	  –	  Open4educationsexta-feira, 19 de outubro de 2012
Globalcode	  –	  Open4educationsexta-feira, 19 de outubro de 2012
Qualidade não é negociável!!!                 Você tem o direito de fazer direito!                                        ...
Testes Unitários                               Testes de Integração                                                       ...
BDD                Desenvolvimento de Framework Próprio                                             Globalcode	  –	  Open4...
Testes Funcionais                                                         Globalcode	  –	  Open4educationsexta-feira, 19 d...
BDD + Testes Funcionais                                     +                                         Globalcode	  –	  Ope...
Abandono Testes Integração                                                 Globalcode	  –	  Open4educationsexta-feira, 19 ...
Alta Taxa de Cobertura                                     Globalcode	  –	  Open4educationsexta-feira, 19 de outubro de 2012
Deploy 3x/Semana                                     Plataforma Bancária                                                  ...
Cliente Feliz                   4 anos de projeto (~12 pessoas)                                             Globalcode	  –...
“Continuous Delivery”                                                             Globalcode	  –	  Open4educationsexta-fei...
Explosão na Quantidade                                de Testes Funcionais                                                ...
Lentidão na execução da                                   suíte de testes                                                 ...
Time Triste                                                   Globalcode	  –	  Open4educationsexta-feira, 19 de outubro de...
Onde erramos?       Como saber se minha suíte de testes não está indo                       para o buraco?                ...
Bugs em Produção                                      Seus testes não passam?                                       Você n...
Bugs em Produção                                              Seus testes passam?                                         ...
Teste quebra                                          Em produção funciona?                                          Você ...
Funcionalidade é alterada                    Seu teste passa sem precisar de alteração?              Você não está testand...
Você corrige um defeito                                     Seu teste passa a quebrar?          Você não está focando seus...
Você altera o sistema                          Não tem feedback rápido dos testes?                                        ...
Você tem um problema arquitetural nos                                    seus testes!                                     ...
Você faz uma pequena alteração                     no sistema             É difícil identificar um teste que possa ser rod...
Você não vai testar a funcionalidade e nem rodar a                   suíte completa porque ela é lenta                    ...
Pequena alteração, muitos testes                             quebram?                                       Você vai demor...
Mas quais são as características de                   uma boa suíte de testes?                                           G...
Uma boa suíte de testes é qualquer               suíte de testes que não tenha os                   problemas apresentados...
Mas e se eu tivesse uma máquina do                             tempo?                                         Globalcode	 ...
Não existe bala de prata                                                   Globalcode	  –	  Open4educationsexta-feira, 19 ...
Mas o que talvez                                       (provavelmente)                                        funcione?   ...
3 F’s - Corey Haines                                                      Fast                                            ...
Código de teste é tão importante                       quanto código de produção                   Testes bem escritos e e...
Consistente e Confiável                 A sua suíte de testes deve conquistar a confiança da sua                          ...
“Isolada”                      Um teste não pode influenciar o resultado de outro                                      Fee...
Duráveis                       Mantém seu valor durante toda a vida do produtosexta-feira, 19 de outubro de 2012
Documentação                                         Testes servem como documentação                                      ...
Foque a cobertura nas                                     funcionalidades que mudam com                                   ...
Não deixe o teste para o final                                      Não rode a suíte somente antes de                     ...
Mas o que é mais                                       importante?sexta-feira, 19 de outubro de 2012
Saber se sua suíte está indo para o buraco                                                   Globalcode	  –	  Open4educati...
@ederign                                                Globalcode	  –	  Open4educationsexta-feira, 19 de outubro de 2012
Upcoming SlideShare
Loading in …5
×

Testes

531 views

Published on

Como avaliar a sua suíte de testes automatizados?

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
531
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testes

  1. 1. Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  2. 2. Lições do Futuro: O que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  3. 3. Eder Ignatowicz... Software Craftsman @ Dextra (Arquitetura, NoSQL, Devops, QA) Doutorando na Unicamp (Polyglot Persistence em Cidades Digitais) Professor na Faccamp e Unisal Editor líder no InfoQ Brasil @ederign Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  4. 4. Fábio Lima Santos Software Craftsman @ Dextra (Arquitetura, NoSQL, Devops, QA) Doutorando na Unicamp (Polyglot Persistence em Cidades Digitais) Professor na Faccamp e Unisal Editor líder no InfoQ Brasil @ederign Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  5. 5. Maior grupo financeiro de câmbio do Brasil Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  6. 6. Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  7. 7. Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  8. 8. Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  9. 9. Qualidade não é negociável!!! Você tem o direito de fazer direito! Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  10. 10. Testes Unitários Testes de Integração Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  11. 11. BDD Desenvolvimento de Framework Próprio Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  12. 12. Testes Funcionais Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  13. 13. BDD + Testes Funcionais + Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  14. 14. Abandono Testes Integração Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  15. 15. Alta Taxa de Cobertura Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  16. 16. Deploy 3x/Semana Plataforma Bancária Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  17. 17. Cliente Feliz 4 anos de projeto (~12 pessoas) Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  18. 18. “Continuous Delivery” Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  19. 19. Explosão na Quantidade de Testes Funcionais Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  20. 20. Lentidão na execução da suíte de testes Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  21. 21. Time Triste Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  22. 22. Onde erramos? Como saber se minha suíte de testes não está indo para o buraco? Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  23. 23. Bugs em Produção Seus testes não passam? Você não tem testes? Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  24. 24. Bugs em Produção Seus testes passam? Você não está testando a funcionalidade certa! Você não está testando o sistema correto Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  25. 25. Teste quebra Em produção funciona? Você não está testando o sistema certo! Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  26. 26. Funcionalidade é alterada Seu teste passa sem precisar de alteração? Você não está testando a funcionalidade correta! Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  27. 27. Você corrige um defeito Seu teste passa a quebrar? Você não está focando seus testes na funcionalidade e sim no sistema Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  28. 28. Você altera o sistema Não tem feedback rápido dos testes? Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  29. 29. Você tem um problema arquitetural nos seus testes! Você não vai rodar a sua suíte! (sob pressão) Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  30. 30. Você faz uma pequena alteração no sistema É difícil identificar um teste que possa ser rodado agora? É difícil identificar qual teste foi afetado? Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  31. 31. Você não vai testar a funcionalidade e nem rodar a suíte completa porque ela é lenta Você vai implantar com a suíte quebrada Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  32. 32. Pequena alteração, muitos testes quebram? Você vai demorar para identificar o que quebrou Você vai implantar em produção com a sua suíte quebrada Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  33. 33. Mas quais são as características de uma boa suíte de testes? Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  34. 34. Uma boa suíte de testes é qualquer suíte de testes que não tenha os problemas apresentados! Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  35. 35. Mas e se eu tivesse uma máquina do tempo? Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  36. 36. Não existe bala de prata Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  37. 37. Mas o que talvez (provavelmente) funcione? Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  38. 38. 3 F’s - Corey Haines Fast Ciclo TDD - < 1 min Ciclo Integração - rápido o suficiente Suíte Lenta == Builds Quebradas Focused Um Teste = Uma Razão pra Mudança Feedback Rápido Full Cobrir o maior % possível do sistemasexta-feira, 19 de outubro de 2012
  39. 39. Código de teste é tão importante quanto código de produção Testes bem escritos e em grupos pequenos no mesmo contexto Toda a equipe deve escrever a suíte de testessexta-feira, 19 de outubro de 2012
  40. 40. Consistente e Confiável A sua suíte de testes deve conquistar a confiança da sua equipe, do seu gerente e do clientesexta-feira, 19 de outubro de 2012
  41. 41. “Isolada” Um teste não pode influenciar o resultado de outro Feedback Rápidosexta-feira, 19 de outubro de 2012
  42. 42. Duráveis Mantém seu valor durante toda a vida do produtosexta-feira, 19 de outubro de 2012
  43. 43. Documentação Testes servem como documentação (são a melhor documentação que você vai ter) Documentação viva, especificação executável. Testes devem informar a intenção de um desenvolvedorsexta-feira, 19 de outubro de 2012
  44. 44. Foque a cobertura nas funcionalidades que mudam com maior frequência Faça testes para os bugs em produção - você automaticamente estará testando o mais críticosexta-feira, 19 de outubro de 2012
  45. 45. Não deixe o teste para o final Não rode a suíte somente antes de gerar a versão Faça integração contínua Não se preocupe com a performance de execução de um teste, mas sim com o paralelismo e concorrência.sexta-feira, 19 de outubro de 2012
  46. 46. Mas o que é mais importante?sexta-feira, 19 de outubro de 2012
  47. 47. Saber se sua suíte está indo para o buraco Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012
  48. 48. @ederign Globalcode  –  Open4educationsexta-feira, 19 de outubro de 2012

×