willie22
I'm cool cuz I Fold
Sou QA Lead e uma das tarefas da minha equipa é desenvolver Testes Automáticos a Microserviços.
Temos testado estes Microserviços com sucesso há mais de uma ano. Resumidamente, o nosso Processo de Testes é:
Informação adicional: Os Developers são responsáveis pelos Testes Unitários. A Equipa de QA é responsável pelos Testes Funcionais, de Integração, de Performance e Exploratórios. Os nossos Testes Automáticos já estão integreados no Workflow de CI/CD.
No entanto, a empresa está a migrar de Docker para Kubernetes, iremos usar uma REST API diferente, por isso os Testes serão refatorizados. Por este motivo, antes da refatorização, a Equipa de DevOps atirou uma ideia para o ar: E se alterássemos o Paradigma de Testes e, em vez de desenvolver Testes Automáticos de Microserviços, a Equipa de QA desenvolvesse "Microserviços de Testes"? Estes "Microserviços de Testes" iriam correm no Ambiente de Produção e validar todas as mensagens geradas. Na minha opinião isto vai contra todas as boas Práticas de Testes mas gostava de ouvir a vossa opinião.
Concordam comigo? Desde já, obrigado pelo vosso input.
Temos testado estes Microserviços com sucesso há mais de uma ano. Resumidamente, o nosso Processo de Testes é:
- Analisar a documentação
- Normalmente o output do Microserviço irá variar de acordo com cerca de 6 combinações de input. Escrevemos as Especificações para esses 6 Cenários de Teste
- Produzir mensagens com os nossos Dados de Teste para os source Topics utlizando uma REST API
- Os Microserviços irão consumir e processar as mensagens de input, mapear os campos, agregar/transformar os dados, realizar cálculos e produzir as mensagens de output
- Consumir as mensagens dos Tópicos de output usando a REST API e realizar as asserções
Informação adicional: Os Developers são responsáveis pelos Testes Unitários. A Equipa de QA é responsável pelos Testes Funcionais, de Integração, de Performance e Exploratórios. Os nossos Testes Automáticos já estão integreados no Workflow de CI/CD.
No entanto, a empresa está a migrar de Docker para Kubernetes, iremos usar uma REST API diferente, por isso os Testes serão refatorizados. Por este motivo, antes da refatorização, a Equipa de DevOps atirou uma ideia para o ar: E se alterássemos o Paradigma de Testes e, em vez de desenvolver Testes Automáticos de Microserviços, a Equipa de QA desenvolvesse "Microserviços de Testes"? Estes "Microserviços de Testes" iriam correm no Ambiente de Produção e validar todas as mensagens geradas. Na minha opinião isto vai contra todas as boas Práticas de Testes mas gostava de ouvir a vossa opinião.
- Desenvolver Microserviços é uma Tarefa de Desenvolvimento, não é uma Tarefa de QA~
- Teríamos o dobro dos Microserviços em Produção (faria mais sentido correr estes "Microserviços de Testes" em Staging mas eles disseram Produção)? Isto iria degradar imensamente a performance do servidor
- Qual é o objetivo? Não vejo nem benefício em fazer isto, apenas desvantagens
Concordam comigo? Desde já, obrigado pelo vosso input.