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

Aplicando TestContainers para garantir qualidad...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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.

Avatar for Guilherme Rogatto

Guilherme Rogatto

January 24, 2022
Tweet

More Decks by Guilherme Rogatto

Other Decks in Technology

Transcript

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

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

    atualmente • Containers • Mostrando o código • Estratégias de espera • Reporting • Pipelines
  3. 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
  4. 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
  5. 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