Um dos problemas mais comuns do QAs está relacionado ao ambiente de testes. Há inúmeras variáveis que podem interferir no resultado do teste como: dependências (pacotes instalados, versão, arquitetura, etc.), configurações (php.ini, Ngnix, Apache, Tomcat, etc.), dentre outras.
Considerando esse cenário você deve estar se questionando, qual a vantagem em utilizar o docker nos ambiente de testes?
Vantagens:
- A execução em qualquer máquina sempre irá rodar de forma esperada, com bibliotecas, dependências e permissões configuradas;
- Elimina o uso de máquina virtual específica para realização do teste;
- Possibilita a criação de imagens* com combinações de ambientes diferentes;
- Imutabilidade, ou seja, você cria o container uma única vez, versiona e distribui posteriormente.
- Padronização dos ambientes;
- Facilidade na distribuição das atualizações de dependências, bibliotecas e parâmetros;
- Particiona a máquina, e roda processos menores com menor consumo de recurso;
- Elimina a história do “Na minha máquina funciona”.
Desvantagens:
- Perda da variação de ambientes;
- Devs/QAs não adquirem conhecimento sobre as parametrizações do ambiente.
- O primeiro passo é identificar as dependências e configurações que o software necessita;
- Crie uma imagem considerando os parâmetros mapeados. Ver: https://docs.docker.com/engine/reference/;
- Distribua a imagem para o seu time de QAs/Devs;
- Institucionalize e incentive o uso.