Pular para o conteúdo principal

Questão de Engenharia de Software — Desenvolvimento de Software — CESPE / CEBRASPE 2024

Engenharia de SoftwareDesenvolvimento 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.
  1. 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
  2. Breduzir a quantidade de testes de integração e focar apenas os testes críticos para o negócio
  3. Cdividir os testes de integração em módulos menores e executá-los em paralelo, com a utilização dos diferentes containers Docker
  4. 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.

  1. 1Testes em módulos menores
  2. 2Execução paralela
  3. 3Containers Docker isolados
  4. 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.

Link permanente: /questoes/ce185245