Pular para o conteúdo principal

Questão de Engenharia de Software — Qualidade de Software — CESPE / CEBRASPE 2026

Engenharia de SoftwareQualidade 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.Imagem associada para resolução da questão
  1. CCerto
  2. 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.

  1. 1Análise SonarQube
  2. 2Quality Gate FAILED
  3. 3[-] Interrompe pipeline
  4. 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.

Gabarito: letra E

Link permanente: /questoes/ce229785