Questão de Engenharia de Software — Desenvolvimento de Software — CESPE / CEBRASPE 2024
Engenharia de Software›Desenvolvimento de Software
Código
ce185245
Banca
CESPE / CEBRASPE
Órgão
SEBRAE-NACIONAL
Ano
2024
Nível
Superior
Cargo
Analista Técnico II – Desenvolvimento Software
Uma empresa de desenvolvimento de software está implementando uma pipeline de C I/C D para um novo sistema de e-commerce. A equipe de desenvolvimento optou por utilizar um sistema de build distribuído e containers Docker para a construção e execução dos testes. No entanto, após algumas semanas de operação, a equipe percebeu um aumento significativo no tempo de execução dos testes de integração, o que impactou diretamente a frequência de deploy.Considerando o cenário hipotético precedente, assinale a opção em que são citadas as ações mais adequadas para otimizar o tempo de execução dos testes de integração e garantir a eficiência da pipeline de CI/CD.
Aaumentar a quantidade de recursos computacionais alocados para a execução dos testes, com a disponibilização de mais CPU e memória, na proporção do aumento do tempo dos testes de integração
Breduzir a quantidade de testes de integração e focar apenas os testes críticos para o negócio
Cdividir os testes de integração em módulos menores e executá-los em paralelo, com a utilização dos diferentes containers Docker
Dmigrar para um sistema de build monolítico e centralizar a execução dos testes de integração em um único servidor
Revelar gabarito e comentário▾
GabaritoC — dividir os testes de integração em módulos menores e executá-los em paralelo, com a utilização dos diferentes containers Docker
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Otimização de Pipeline CI/CD
Gabarito: letra C. A ação mais adequada para reduzir o tempo de execução dos testes de integração sem comprometer a cobertura é dividir os testes em módulos menores e executá-los em paralelo, utilizando múltiplos containers Docker. O paralelismo é uma técnica consagrada em pipelines CI/CD para acelerar a execução, especialmente quando se dispõe de infraestrutura de containers que permite isolar e distribuir as cargas de teste.
1Testes em módulos menores
2Execução paralela
3Containers Docker isolados
4Redução do tempo total
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Aumentar CPU e memória pode trazer ganhos marginais, mas não resolve a causa raiz da lentidão (execução sequencial). O escalonamento vertical tem limites e pode ser ineficiente. A abordagem mais eficaz é o paralelismo, não apenas mais recursos.
Alternativa B — ❌ Incorreta
Reduzir a quantidade de testes, focando apenas nos críticos, diminui a cobertura de testes, comprometendo a qualidade do software. O objetivo é manter a cobertura e acelerar a execução, não eliminar testes.
Alternativa C — ✅ Correta ⟵ GABARITO
Dividir os testes em módulos independentes e executá-los em paralelo em diferentes containers Docker é uma prática recomendada. Cada container roda uma parte dos testes, aproveitando o isolamento e a escalabilidade horizontal. Reduz o tempo total de execução proporcionalmente ao número de containers disponíveis, sem perda de cobertura.
Alternativa D — ❌ Incorreta
Migrar para um build monolítico e centralizar a execução em um único servidor vai na direção oposta. Isso aumentaria a contenção de recursos e poderia elevar ainda mais o tempo de execução, além de reduzir a resiliência e a escalabilidade.
Gabarito: letra C. A paralelização de testes com containers é a solução mais alinhada às práticas modernas de CI/CD.