Pular para o conteúdo principal

Questão de Engenharia de Software — Qualidade de Software — INSTITUTO AOCP 2025

Engenharia de SoftwareQualidade de Software
Código
qg543488
Banca
INSTITUTO AOCP
Órgão
TRE-TO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área de Atividade: Apoio Especializado - Especialidade: Tecnologia da Informação
A Portaria CNJ nº 253/2020 estabelece diretrizes para o desenvolvimento de soluções tecnológicas na Plataforma Digital do Poder Judiciário Brasileiro (PDPJ-Br), incluindo práticas recomendadas de automação e qualidade na entrega de software. Assim, acerca dos processos de integração contínua (Continuous Integration – CI) e de entrega contínua (Continuous Delivery – CD), assinale a alternativa correta.
  1. AA prática de CI consiste na publicação manual de versões finais no ambiente de produção após a aprovação do Conselho Nacional de Justiça (CNJ).
  2. BO pipeline de CD automatiza o processo de integração contínua, embora não apresente a geração de relatórios de cobertura de testes, sem afetar o processo de deploy.
  3. CA Portaria determina a obrigatoriedade de CI e CD em todos os projetos, independentemente do tipo ou da criticidade da aplicação.
  4. DO processo de integração contínua é facultativo na PDPJ-Br e pode ser substituído por testes manuais, desde que documentados adequadamente.
  5. EA integração contínua deve incluir pipelines, testes automatizados e armazenamento de imagens de contêineres; a entrega contínua deve ser adotada quando compatível com a natureza do projeto.
Revelar gabarito e comentário

GabaritoE — A integração contínua deve incluir pipelines, testes automatizados e armazenamento de imagens de contêineres; a entrega contínua deve ser adotada quando compatível com a natureza do projeto.

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”.

Integração Contínua (CI) e Entrega Contínua (CD) na PDPJ-Br

Gabarito: letra E. A alternativa correta sintetiza o que a Portaria CNJ nº 253/2020 e as boas práticas de engenharia de software estabelecem: a integração contínua deve incluir pipelines, testes automatizados e armazenamento de imagens de contêineres, enquanto a entrega contínua deve ser adotada quando compatível com a natureza do projeto. As demais alternativas distorcem conceitos fundamentais de CI/CD, como a automatização, a obrigatoriedade e o papel dos testes.

A Integração Contínua (CI) é uma prática de desenvolvimento em que os desenvolvedores integram suas alterações de código em um repositório central com frequência. A cada commit, uma pipeline automatizada executa compilações e testes, verificando se o novo código é compatível com a base existente. O objetivo é identificar e corrigir erros rapidamente, melhorar a qualidade do software e reduzir o tempo de lançamento de novas atualizações. Já a Entrega Contínua (CD) é a prática em que as alterações feitas pela equipe são automaticamente testadas e carregadas em um repositório, onde podem ser implantadas em produção pela equipe de operações. A diferença crucial é que, na CD, o software fica pronto para ser implantado a qualquer momento, mas a implantação em si pode exigir aprovação manual — diferente da implantação contínua, que automatiza também o deploy.

A Portaria CNJ nº 253/2020, que trata do desenvolvimento de soluções tecnológicas na PDPJ-Br, incorpora essas práticas como diretrizes. Ela não impõe CI/CD de forma cega e obrigatória para todos os projetos, mas recomenda sua adoção conforme a natureza e a criticidade de cada aplicação. Isso significa que a decisão de usar CD, por exemplo, deve considerar se o projeto se beneficia de entregas frequentes e automatizadas. A alternativa E captura exatamente essa nuance: a CI é tratada como prática essencial (com pipelines, testes e armazenamento de contêineres), enquanto a CD é condicionada à compatibilidade com o projeto.

Na prática, um pipeline de CI/CD funciona assim: o desenvolvedor faz um commit no repositório → a pipeline é acionada automaticamente → o código é compilado, os testes automatizados são executados (unitários, de integração, etc.) → se tudo passar, o artefato é empacotado (por exemplo, em uma imagem Docker) e armazenado em um registro de contêineres → na CD, esse artefato fica disponível para implantação em produção, que pode ser feita manualmente ou de forma automatizada. A cobertura de testes é um relatório gerado pela pipeline e é fundamental para garantir a qualidade — não é algo que possa ser dispensado.

A banca explora aqui a confusão clássica entre CI e CD, além de tentar induzir o candidato a aceitar afirmações absurdas, como a publicação manual de versões ou a obrigatoriedade universal. O critério decisivo para separar as alternativas é: CI = integração e testes automatizados; CD = entrega pronta para produção, condicionada à natureza do projeto. Guarde essa fronteira — é nela que as alternativas se dividem.

  1. 1Commit no repositório
  2. 2Pipeline acionada
  3. 3Build e testes automatizados
  4. 4Relatório de cobertura
  5. 5Artefato (imagem de contêiner)
  6. 6Pronto para deploy
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A prática de CI não consiste na publicação manual de versões finais em produção. Pelo contrário, a CI é caracterizada pela automação: a cada commit, a pipeline executa builds e testes automaticamente. A publicação manual em produção, após aprovação do CNJ, não corresponde a nenhuma prática de CI/CD — a aprovação humana pode existir na CD, mas não é uma publicação manual de versões finais, e o CNJ não atua como aprovador técnico de deploys. O erro está em inverter o conceito: CI é automação, não manualidade.

Alternativa B — ❌ Incorreta

O pipeline de CD automatiza o processo de integração contínua? Não exatamente: o pipeline de CD estende a CI, automatizando a entrega do software testado para um repositório pronto para implantação. Além disso, a afirmação de que o pipeline de CD "não apresenta a geração de relatórios de cobertura de testes" é falsa — a cobertura de testes é uma métrica gerada justamente pelos testes automatizados que rodam na pipeline, e esses relatórios são essenciais para avaliar a qualidade. A CD não elimina nem dispensa a geração de relatórios de cobertura; ela os incorpora como parte do processo.

Alternativa C — ❌ Incorreta

A Portaria CNJ nº 253/2020 não determina a obrigatoriedade de CI e CD em todos os projetos, independentemente do tipo ou criticidade. A alternativa comete uma generalização indevida: a adoção de CD, em especial, deve ser avaliada conforme a compatibilidade com a natureza do projeto. A própria alternativa E, correta, reflete essa flexibilidade. A banca tenta fazer o candidato acreditar em uma imposição universal que não existe na norma.

Alternativa D — ❌ Incorreta

A integração contínua não é facultativa na PDPJ-Br e não pode ser substituída por testes manuais. A CI é uma prática recomendada e amplamente adotada para garantir qualidade e agilidade; os testes manuais, embora possam complementar, não substituem a automação de testes e a integração contínua. A alternativa inverte a lógica: a CI é justamente a prática que automatiza a integração e os testes, reduzindo a dependência de processos manuais. A documentação adequada não torna facultativa uma prática que é diretriz da Portaria.

Alternativa E — ✅ Correta ⟵ GABARITO

Esta alternativa está correta porque reflete fielmente as diretrizes da Portaria CNJ nº 253/2020 e os conceitos de CI/CD. A integração contínua deve incluir pipelines (automação do build e testes), testes automatizados (para validar cada alteração) e armazenamento de imagens de contêineres (empacotamento e versionamento dos artefatos). Já a entrega contínua deve ser adotada quando compatível com a natureza do projeto — ou seja, não é obrigatória para todos, mas recomendada quando o projeto se beneficia de entregas frequentes e automatizadas. Essa é a leitura correta da norma e das boas práticas.

NÃO CAIA NESSA!

A banca adora inverter os conceitos de CI e CD. Aqui, a pegadinha está em alternativas que tratam CI como publicação manual (A), que dizem que CD dispensa relatórios de cobertura (B), que impõem obrigatoriedade universal (C) ou que tornam CI facultativa (D). O candidato que confunde CI com CD ou que acha que a Portaria obriga tudo cai fácil. Lembre-se: CI é automação de integração e testes; CD é entrega pronta para produção, condicionada à natureza do projeto. Com treino, você enxerga essas trocas de longe 💪.

PEGA ESSA DICA!

Para questões sobre CI/CD, monte mentalmente o fluxo: commit → pipeline → build → testes → relatório de cobertura → artefato (imagem de contêiner) → pronto para deploy. Se a alternativa falar em "manual", "facultativo" ou "obrigatório para todos", desconfie: a regra é automação e adequação ao projeto.

Gabarito: letra E

Link permanente: /questoes/qg543488