O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

TDC Florianópolis 2019. Trilha Java - Arquitetura de Testes

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 29 Anúncio

TDC Florianópolis 2019. Trilha Java - Arquitetura de Testes

Baixar para ler offline

Aprenda a montar uma arquitetura de testes para facilitar a vida dos desenvolvedores da sua equipe. Monte uma biblioteca de testes utilizando Junit, mockito, assertj, rest-assured e testContainers. Teste suas APIs rest de forma fácil e rápida. Aplique plugins de cobertura e mutação.

Aprenda a montar uma arquitetura de testes para facilitar a vida dos desenvolvedores da sua equipe. Monte uma biblioteca de testes utilizando Junit, mockito, assertj, rest-assured e testContainers. Teste suas APIs rest de forma fácil e rápida. Aplique plugins de cobertura e mutação.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a TDC Florianópolis 2019. Trilha Java - Arquitetura de Testes (20)

Anúncio

Mais recentes (20)

Anúncio

TDC Florianópolis 2019. Trilha Java - Arquitetura de Testes

  1. 1. Globalcode – Open4education Java - Construindo uma arquitetura de testes Sandro L Giacomozzi @sandrogiacom Alisson Medeiros @AlissonMedeiros
  2. 2. Globalcode – Open4education Por que? Preguiça Repetição Inovação Meuémelhor Novidade Automação Necessidade TCC Produtividade Reduzircustos Nãoexiste hobby
  3. 3. Globalcode – Open4education
  4. 4. Globalcode – Open4education ● Novo modelo de desenvolvimento e entrega de serviços ● Pouca ou nenhuma cultura de testes ● Cada equipe possui um padrão e ferramentas distintas ● Demora no feedback dos testes. Testes quebrados ● Confusão sobre teste de unidade e teste de integração ● Criar uma cultura colaborativa Nossa motivação
  5. 5. Globalcode – Open4education Não tínhamos segurança para entregar software no modelo proposto com qualidade e velocidade esperada! Resumindo...
  6. 6. Globalcode – Open4education ● Conjunto de boas práticas ○ Nomenclatura, estrutura de código ● Ferramentas e frameworks ○ JUnit, Mockito, AssertJ, Rest-assured, Testcontainers, Jacoco, PIT ● Documentação ○ Conceitos, como utilizar e exemplos O que é - proposta
  7. 7. Globalcode – Open4education Primeira rodada Levante as necessidades e dificuldades da equipe Faça uma implementação inicial (POC) Valide com um projeto em desenvolvimento Compartilhe os resultados e prepare novas funcionalidades
  8. 8. Globalcode – Open4education X de testes
  9. 9. Globalcode – Open4education Exemplo Padrão para testes de unidade e integração. Criação do projeto com dependências Maven, exemplos e documentação. Primeiros projetos utilizando o novo padrão Compartilhamento do aprendizado e preparação para novas funcionalidades.
  10. 10. Globalcode – Open4education Exemplo - Teste de Unidade JUnit + AssertJ JUnit + AssertJ + Mockito
  11. 11. Globalcode – Open4education Exemplo - Teste de Integração Spring Boot Test + RestAssured
  12. 12. Globalcode – Open4education Exemplo - Teste de Integração com Mock Spring Boot Test + RestAssured + MockServer
  13. 13. Globalcode – Open4education Before run tests https://www.testcontainers.org/
  14. 14. Globalcode – Open4education ● Centraliza outras bibliotecas (starter) ● Faz a gestão das versões de terceiros ● Facilita o setup de um novo serviço ● Encapsula a infraestrutura O que faz a biblioteca E?
  15. 15. Globalcode – Open4education Vamos checar?
  16. 16. Globalcode – Open4education O que a checagem resolve? • Problema: É o que importa e pode estar escondido, separar da solução. Ex.: Vamos escrever testes poder fazer liberações em produção a qualquer momento. Problema real: Não é possível liberar código em produção a qualquer momento.
  17. 17. Globalcode – Open4education Antes de começar a checar • Comunicação: Todos devem entender a importância do problema e a solução Ex.: dois desenvolvedores sabem que a maioria das liberações em produção afetam os clientes, mas o restante do time desconhece. Comunicação + problema: alinhamento
  18. 18. Globalcode – Open4education O que checar? • Meta/Medida: Checagem deve ser o mais simples possível, Ex.: Testes escritos na semana, valor + meta = resultado.
  19. 19. Globalcode – Open4education Vigilância • Monitoramento/Feedback: Ex.: acordei em fazer testes para liberar código em produção livre de bugs, como saber se é estou sem checagem? Posso liberar uma versão agora?
  20. 20. Globalcode – Open4education ● Cobertura de código: Checagem quantitativa
  21. 21. Globalcode – Open4education ● JaCoCo, baixou? O build quebra.... Como garantir minha evolução?
  22. 22. Globalcode – Open4education Qual código está melhor testado? Estou evoluindo, mas com bons testes? Cobertura pode ser uma cilada bino.
  23. 23. Globalcode – Open4education ● Plugin de mutação, garantindo a qualidade! Mutação vs cobertura
  24. 24. Globalcode – Open4education Testes rasos = mutação baixa
  25. 25. Globalcode – Open4education Testes com profundidade = mutação alta
  26. 26. Globalcode – Open4education ● Ferramentas como: ○ Code Climate ○ Sonar ○ Codacy Que tal colocar uma dessas ferramentas nos seus Pull Request? Como dar visibilidade e transparência?
  27. 27. Globalcode – Open4education ● Sonar Cloud - Demo Show me the code
  28. 28. Globalcode – Open4education Conheça a comunidade de desenvolvedores da TOTVS developers.totvs.com
  29. 29. Globalcode – Open4education https://github.com/sandrogiacom/jtest-tools https://github.com/sandrogiacom/testcontainers-demo https://github.com/AlissonMedeiros/jacoco-demo https://github.com/AlissonMedeiros/mutation-example Obrigado!

×