Greenbar - Testes automatizados na sua empresa

2,282 views

Published on

Experiência de quase 2 anos tentando inserir e manter a cultura de testes automatizados numa empresa. Desafios e as barreiras enfrentadas ao adotar a cultura de testes automatizados nesta empresa, onde acertamos e onde erramos, como a equipe (e isso inclui os gerentes) responderam a mudança e como isso impactou nos sprints e entrega de software.

Published in: Technology
2 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total views
2,282
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
58
Comments
2
Likes
6
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Greenbar - Testes automatizados na sua empresa

    1. 1. GreenbarTestes automatizados na sua empresaRafael Ponte
    2. 2. Quem escreve testes?
    3. 3. http://blog.fragmental.com.br/2007/10/31/programadores-profissionais- escrevem-testes-ponto-final/
    4. 4. Você é um programador profissional? #provocacaogratuita
    5. 5. Por que testar?Para verificar se o sistema se comporta comodeveria.
    6. 6. Como testar?Testes manuais.Testes automatizados.
    7. 7. Testes automatizados.Trazem mais confiança.Identificam regressões de código.Permitem refatorar com segurança.
    8. 8. Tudo começou com uma consultoria.
    9. 9. Erros eDesafios Impacto Acertos
    10. 10. Erros eDesafios Impacto Acertos
    11. 11. Convencer a gerência.Seria um investimento de médio-longo prazo.
    12. 12. Projeto já em andamento.Dificuldade para escrever testes.
    13. 13. Infra?Não tínhamos nada pronto!
    14. 14. Colaboração da equipe.Equipe de bons desenvolvedores, mas sem experiência com testes.
    15. 15. Zona de Conforto
    16. 16. Devs. simpatizantes.Teste de integração é teste de “maxu”!
    17. 17. Erros eDesafios Impacto Acertos
    18. 18. Por onde começar? Baby steps.
    19. 19. Testes de UnidadeMelhorando o design das classes aos poucos.
    20. 20. Eclipse já vem com jUnit Mãos à obra!
    21. 21. SEM mocks. Modelo, classes utilitárias e deresponsabilidade bem definidas.
    22. 22. COM mocks.Utilizá-los não é tão simples quanto parece.
    23. 23. JMock VS Mockito
    24. 24. Testes de IntegraçãoTeste de “maxu” vai no banco.
    25. 25. Spring Testing + DBUnit
    26. 26. Sujar ou não sujar o banco, eis a questão.
    27. 27. 100% de cobertura.Esta não deveria ser sua meta.
    28. 28. No início era a melhor meta/métrica que tínhamos.
    29. 29. Getters&SettersUm testezinho a mais não faz mal, né.
    30. 30. Testes mal escritos.Você vai escrevê-los, pode ter certeza disso.
    31. 31. Testes frágeis, poucolegíveis e com assertivas ruins.
    32. 32. Refatoração Contínua neles!
    33. 33. Ainda assolados pela pouca legibilidade.
    34. 34. Há 4-5 anos omercado gritava: “Antes testes mal escritos do que nenhum teste.”
    35. 35. Buscando ajuda no BDD. Testes são especificações executáveis.
    36. 36. • Nome de métodos mais expressivos• Template Given-When-Then• Nos forçou a pensar mais no negócio e no que realmente devemos testar• Maior interação com o cliente
    37. 37. TDD.Somente em regras de negócio complexas.
    38. 38. OOP e SOLID PrinciplesSem estes conhecimentos não é tão simples ter um bom design.
    39. 39. Automatizando.Automatize o máximo que você puder.
    40. 40. Ant + Hudson Simples e prático.
    41. 41. $ git pull --rebase; ant
    42. 42. Excesso de informaçãoRelatório de testes, Find Bugs, PMD, Checkstyle e Coverage
    43. 43. Code Review.Relatório de testes e Coverage são suficientes.
    44. 44. Build do Hudson quebrando.
    45. 45. Nosso mantra:“Hudson quebrou? Páratudo e conserta.”
    46. 46. Testes de Aceitação.Tudo ia bem, até o dia em que o número detestes cresceu demais.
    47. 47. Selenium/WebDriverPrecisávamos de alguém com experiência.
    48. 48. @handersonbfUm EMO num corpo de um OGRO. Selenium/WebDriver Precisávamos de alguém com experiência.
    49. 49. Testando cenários importantes. Começamos do jeito certo.
    50. 50. Test Automation Pyramid Aceitação - 10% Integração - 40% Unidade - 50%
    51. 51. More, more...Testes com granularidade fina demais.
    52. 52. Test Automation Pyramid Square Aceitação - 30% Integração - 30% Unidade - 40%
    53. 53. Mantê-los se tornou caro.Frágeis, feedback demorado, falsos negativos edifícil rastrear erros.
    54. 54. Nos tornamos mais criteriosos.
    55. 55. Design das telas mudavaconstantemente.E nem sempre o designer rodava os testes.
    56. 56. Designer disciplinado.E testes de aceitação fora do build principal.
    57. 57. Zona de Conforto DE NOVO!
    58. 58. Testes difíceis de rodar.Executar o build ou levantar o Tomcat era chato.
    59. 59. Facilite a vida da equipe. Jetty embarcado.
    60. 60. Cucumber.Cliente sem interesse de ler e muito menosescrever as features.
    61. 61. Erros eDesafios Impacto Acertos
    62. 62. Qualidade no software.Menor incidência de bugs e correções rápidas.
    63. 63. De 100% para 25%. Melhoramos nossas estimativas.
    64. 64. Fim do Sprint.Menor número de features entregues.
    65. 65. PRODUTIVIDADE.Baixa no início. Melhora durante os Sprints.
    66. 66. Gerência.Satisfeita com a produtividade de alguns projetos, decepcionada com outros.
    67. 67. Equipe mais madura.Perceberam a importância real dos testes.
    68. 68. CONCLUSÃODepois de quase 2 anos escrevendo testes.
    69. 69. Você só percebe os benefícios dos testes entre 6 meses e 1 ano
    70. 70. Nem tudo são flores.Mas a gerência continua acreditando piamente nostestes automatizados.
    71. 71. Enfim, VALE A PENA.
    72. 72. OBRIGADO! Rafael Ponterponte@triadworks.com.br

    ×