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
ce168145
Banca
CESPE / CEBRASPE
Órgão
APEX Brasil
Ano
2024
Nível
Superior
Cargo
Analista - Operações e Segurança de Tecnologia da Informação (TIC) - Especialidade: Infraestrutura de TIC
Em uma arquitetura DevOps, existem diferenças entre a integração contínua e o deployment contínuo. Assinale a opção em que é apresentada característica aplicada ao deployment contínuo.
  1. ATorna novas entregas um não evento (não existindo mais um “dia D”), evitando, assim, que a perda de um deadline atrase a entrega de uma funcionalidade por meses.
  2. BBuilds e testes devem ser executados com frequência, se possível após cada commit realizado no master.
  3. CÉ recomendável para sistemas desktop, app móvel ou embarcado que precisem de atualização.
  4. DAumenta o tempo de entrega de novas funcionalidades, que são liberadas assim que ficam prontas, diminuindo o intervalo entre releases e o número de releases.
Revelar gabarito e comentário

GabaritoA — Torna novas entregas um não evento (não existindo mais um “dia D”), evitando, assim, que a perda de um deadline atrase a entrega de uma funcionalidade por meses.

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

Deployment Contínuo (Continuous Deployment)

Gabarito: Alternativa A. O deployment contínuo (Continuous Deployment) automatiza completamente a entrega do software até o ambiente de produção, sem intervenção humana, tornando as releases tão frequentes que perdem o caráter de evento – exatamente o que descreve a alternativa A: "torna novas entregas um não evento (não existindo mais um 'dia D')".

A banca cobra a distinção entre integração contínua (CI) e deployment contínuo (CD). Enquanto a CI foca em integrar e testar código com frequência, o CD vai além, automatizando a implantação em produção. O contexto conceitual é essencial.

Característica

Integração Contínua (CI)

Deployment Contínuo (CD)

Foco principal

Integrar e testar código frequentemente

Automatizar completamente a implantação em produção

Resultado sobre releases

Releases ainda podem ser eventos manuais

Releases tornam-se "não eventos", sem "dia D"

Exemplo de prática

Builds e testes após cada commit no master

Liberação automática para produção sem intervenção humana

Adequação típica

Qualquer sistema com versionamento

Aplicações web (não recomendado para desktop, mobile ou embarcado)

Efeito no tempo de entrega

Reduz tempo de detecção de erros

Reduz tempo de entrega de novas funcionalidades

Efeito na frequência de releases

Aumenta frequência de integrações

Aumenta número de releases (libera assim que prontas)

1Automatiza entrega até produção
2Liberações frequentes = não evento
3Não recomendado para mobile/embarcado
4Reduz tempo de entrega (não aumenta)
5Aumenta número de releases (não diminui)
6Integração contínua (CI)
Builds e testes frequentes
Após cada commit no master
Deployment contínuo (CD)
LEVELsoulevel.com.br
Deployment contínuo (CD): Automatiza entrega até produção; Liberações frequentes = não evento; Não recomendado para mobile/embarcado; Reduz tempo de entrega (não aumenta); Aumenta número de releases (não diminui); Integração contínua (CI) (Builds e testes frequentes, Após cada commit no master)

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa descreve precisamente o resultado do deployment contínuo: liberações constantes eliminam a noção de um "dia D", reduzindo riscos e atrasos. O trecho do material de apoio confirma: "A Implantação Contínua (Continuous Deployment - CD) leva a entrega contínua um passo adiante, automatizando completamente a entrega do software até o ambiente de produção sem intervenção humana. Isso evita a sobrecarga das equipes de operações por conta dos processos manuais que atrasam a entrega de aplicações."

Alternativa B — ❌ Incorreta

Descreve a integração contínua (CI): "Builds e testes devem ser executados com frequência, se possível após cada commit realizado no master". Isso é característico da CI, não do deployment contínuo.

Alternativa C — ❌ Incorreta

Afirma que o deployment contínuo é "recomendável para sistemas desktop, app móvel ou embarcado". Na prática, ele é mais adequado para aplicações web, onde atualizações podem ser feitas sem intervenção manual ou aprovação externa. Para mobile e embarcados, o processo é mais complexo (ex.: lojas de aplicativos), não sendo recomendado.

Alternativa D — ❌ Incorreta

Apresenta dois erros: diz que o deployment contínuo "aumenta o tempo de entrega" (na verdade, reduz) e "diminuindo o número de releases" (na verdade, aumenta a frequência, logo o número de releases cresce). O correto seria "diminui o tempo de entrega e aumenta o número de releases".

Gabarito: Alternativa A.

Link permanente: /questoes/ce168145