Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AT Talks: Triângulos de Teste, Não Mais

AT Talks: Triângulos de Teste, Não Mais

Vamos pegar um gancho do que vimos no último AT Talks para falar de um futuro sem triângulos de teste (a ideia de chamar de triângulo é uma brincadeira porque muitos desenhos que vemos por ai representando a pirâmide de testes é na verdade a figura geométrica de um triângulo). Mas e aí, se não tem pirâmide o que fazemos? Nessa talk vamos conversar um pouco sobre outras abordagem para definir tipos de teste, entender por que quantidade talvez não seja a melhor forma de abordar a priorização e outras reflexões sobre como encontrar a melhor abordagem para o seu cenário. Dessa vez a Samanta Cicilia vai conduzir nosso papo.

Aproveite para seguir nosso canal no Youtube https://youtube.com/agiletesters e não perder nenhuma novidade!

Samanta Cicilia

July 28, 2020
Tweet

More Decks by Samanta Cicilia

Other Decks in Technology

Transcript

  1. "Não existe uma regra rígida aqui, depende da sua aplicação.

    O ponto importante é que você precisa dedicar algum tempo para entender que tipo de teste agrega mais valor à sua aplicação. A pirâmide de teste é apenas uma sugestão sobre a aplicação. quantidade de testes que você deve criar. " http://blog.codepipes.com/testing/software-testing-antipatterns.html @samantacicilia
  2. Suportar testes em vez de replicar testes Testabilidade em vez

    de automatização Teste de experiência em vez de codificação Problemas em vez de ferramentas Foco no risco em vez de cobertura Observabilidade em vez de compreensão https://automationintesting.com/#principles @samantacicilia
  3. SAMY QUOTE: "Meu incômodo é que a gente ainda fala

    pouco sobre riscos. Testes unitários são mais rápidos e menos intermitentes mas se você abusa do uso de mocks, você tem muitos testes com baixa fidelidade em relação ao comportamento real. Os testes podem continuar passando e o seu mock estar desatualizado. Não é só criar um monte de teste unitário, é comprar o risco da baixa fidelidade nos testes e inclusive o risco de que a qualidade dos mesmos pode ser questionável. Coverage não diz muita coisa sozinho." @samantacicilia
  4. Testes Pequenos: executados em um único processo, sem uso de

    componentes externos, threads ou paralelismo. São testes rápidos e determinísticos Testes Médios: executam múltiplos processos mas ainda assim sem acessar componentes externos, podem usar threads e fazer chamadas externas (como chamadas de rede) para o localhost. Testes Grandes: esses testes são os que necessitam de uma maior complexidade para execução, nesse momento os sistemas já estão integrados. São mais lentos e menos determinísticos. OUTRA FORMA DE CATEGORIZAR @samantacicilia
  5. O QUE É MELHOR ENTÃO? Assumir % de testes intermitentes

    e garantir uma cobertura integrada? 01 Assumir a baixa fidelidade dos mocks e deixar pontos de falha? 02 @samantacicilia
  6. E lembrando que, além de criar os testes, eles precisam

    estar no fluxo de desenvolvimento de forma automática... @samantacicilia
  7. OUTROS PONTOS PARA CONSIDERAR Pré-push: - testes rápidos e confiáveis

    - produtividade do time - rodar apenas os testes relacionados ao escopo da mudança? Versão Candidata: - testes maiores e mais instáveis - utilizar um ambiente temporário e controlado - teste de sanidade Testes de Produção: - testes relevantes - verificar o estado - monitoramento @samantacicilia
  8. OUTROS PONTOS PARA CONSIDERAR 1. AGILIDADE 2. AUTOMAÇÃO 3. ISOLAMENTO

    4. CONFIABILIDADE 5. DECISÕES DIRIGIDAS POR DADOS 6. ROLLOUT FASEADO @samantacicilia
  9. TESTABILIDADE - Logs - Monitoramento - Analytics - Decomposição -

    Fronteiras - Setup de ambiente - Arquitetura @samantacicilia