Questão de Engenharia de Software — Qualidade de Software — CESPE / CEBRASPE 2026
Engenharia de Software›Qualidade de Software
Código
ce229785
Banca
CESPE / CEBRASPE
Órgão
TCU
Ano
2026
Nível
Superior
Cargo
Auditor Federal de Controle Externo - Área de Controle Externo/ Orientação: Auditoria de Tecnologia da Informação
Considerando a linguagem de programação Java e a cobertura SonarQube, julgue o item a seguir.No trecho de código a seguir, a implementação individualizada do QualityGate permite que o resultado do estágio Quality Gate 1 não interrompa o pipeline, caso o resultado da análise do SonarQube seja FAILED, e que ele prossiga normalmente para a execução do estágio SonarQube analysis 2.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
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”.
Quality Gate no SonarQube e pipelines CI/CD
Gabarito: Errado (E). A afirmação está incorreta porque, em um pipeline de CI/CD, o Quality Gate do SonarQube, quando configurado para interromper o pipeline em caso de FAILED, atua como um portão de qualidade: se a análise falhar, o pipeline é interrompido e o estágio seguinte (SonarQube analysis 2) não é executado. A implementação individualizada do Quality Gate não altera esse comportamento padrão, a menos que seja explicitamente configurada para não bloquear a execução, o que contraria a finalidade do Quality Gate.
O Quality Gate no SonarQube é um conjunto de condições que o código deve atender para ser considerado de qualidade aceitável. Ele é usado em pipelines de CI/CD para automatizar a verificação de qualidade do código. Quando o resultado da análise é FAILED, o Quality Gate sinaliza que o código não atende aos critérios estabelecidos. Em um pipeline, essa falha normalmente interrompe a execução, impedindo que o código seja promovido para estágios posteriores, como deploy ou análise adicional. A ideia é justamente impedir que código de baixa qualidade avance no processo.
A questão menciona "implementação individualizada do QualityGate" e sugere que isso permitiria que o pipeline continuasse mesmo com FAILED. No entanto, a configuração padrão e a finalidade do Quality Gate é bloquear a progressão em caso de falha. Para que o pipeline continuasse, seria necessário configurar explicitamente o estágio para ignorar o resultado do Quality Gate, o que não é o comportamento padrão e nem o propósito da ferramenta. A afirmação, portanto, está errada ao sugerir que a implementação individualizada, por si só, permitiria a continuação do pipeline.
Na prática, em ferramentas como Jenkins, GitLab CI ou GitHub Actions, a integração com o SonarQube pode ser feita de duas formas: (1) o pipeline chama a API do SonarQube para verificar o status do Quality Gate e, se FAILED, interrompe a execução; ou (2) o pipeline é configurado para não interromper, mas isso é uma decisão consciente de configuração, não uma consequência automática da "implementação individualizada". A banca explora a confusão entre a existência de um Quality Gate e a possibilidade de configurá-lo para não bloquear, mas a afirmação como escrita é falsa.
A pegadinha aqui é que o candidato pode pensar que "implementação individualizada" significa que cada estágio tem seu próprio Quality Gate e, portanto, um FAILED em um não afetaria o outro. No entanto, o Quality Gate é uma condição global do projeto no SonarQube, e a interrupção do pipeline depende da configuração do pipeline, não da individualização do Quality Gate. O erro está em afirmar que a implementação individualizada permite a continuação, quando na verdade o comportamento padrão é interromper.
1Análise SonarQube
2Quality Gate FAILED
3[-] Interrompe pipeline
4Estágio seguinte não executa
LEVEL · soulevel.com.br
Alternativa E — ❌ Errada ⟵ GABARITO
A afirmação está errada porque o Quality Gate, quando configurado para interromper o pipeline em caso de FAILED, impede a execução do estágio seguinte. A "implementação individualizada" não altera esse comportamento; ela apenas define critérios específicos para cada projeto ou estágio, mas a lógica de bloqueio permanece. Para que o pipeline continuasse, seria necessário configurar explicitamente o estágio para ignorar o resultado do Quality Gate, o que não é o padrão e nem a finalidade da ferramenta. O erro está em sugerir que a individualização, por si só, permitiria a continuação.