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

Aplicando TestContainers para garantir qualidade de Microsserviços

Aplicando TestContainers para garantir qualidade de Microsserviços

Com TestContainers podemos simular ambientes (banco de dados, mensageria, etc.) similares a desenvolvimento e homologação, mas só sendo utilizado em momento de execução, e depois finalizar os containers no final do ciclo de vida de nossos testes de integração, obtendo diversos ganhos expressivos em diversos pontos que serão apresentados, inclusive em pipelines de CI/CD.

38f0f8d04a3f4c9f83915bfdcf81a1fd?s=128

Guilherme Rogatto

January 24, 2022
Tweet

More Decks by Guilherme Rogatto

Other Decks in Technology

Transcript

  1. Aplicando TestContainers para garantir qualidade de Microsserviços

  2. Quem sou eu? • Formado em Engenharia de Computação. •

    Consultor de Qualidade de Software. • Instrutor de Automação de Testes.
  3. Agenda • Infraestrutura e Arquitetura • Automação de testes microsserviços/APIs

    atualmente • Containers • Mostrando o código • Estratégias de espera • Reporting • Pipelines
  4. None
  5. Automação de testes microsserviços/APIs atualmente 1. Flask tests 2. Dependência

    de ambientes (bancos de dados, cloud, gateway, vpns e mais) 3. Novos códigos entrando a todo momento no ambiente 4. Não podemos colocar esse projeto em uma pipeline de entrega contínua
  6. Containers Com o uso do containers simplificamos diversas camadas do

    sistema operacional, temos uma rápida execução e diversas imagens oficiais para a utilização, como por exemplo: • Mysql • PostgreSQL • Kafka
  7. Linguagens Temos as bibliotecas disponibilizadas para diferentes linguagens de programação

    para o uso do TestContainers.
  8. Vamos para o TestContainers!!

  9. Estratégias de espera Wait por diversos status code Wait 200

    ok
  10. Reporting

  11. Pipelines Utilizando TestContainers conseguimos realmente adicionar nossos testes na camada

    de integração contínua, assim podemos parar o pipeline caso algum teste não execute como esperado ou até mesmo ter insights de como está a qualidade por trás desse novo deploy da nova versão do microserviço O teste inicial economiza tempo e dinheiro
  12. /guilherme-rogatto /Rogatto