Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos e Tipos de Testes de Software — VUNESP 2023

Engenharia de SoftwareConceitos e Tipos de Testes de Software
Código
vu196592
Banca
VUNESP
Órgão
TJ RS
Ano
2023
Cargo
TTI ( )

Integração, entrega e implantação contínua são técnicas nas quais são estabelecidos fluxos de processos buscando otimizar o processo desde o desenvolvimento ao release do software em ambiente de produção.

 

A esse respeito, assinale a alternativa correta.

  1. AOs pipelines de implantação unem gerenciamento de configuração, integração contínua e automação de teste.
  2. BÉ uma boa prática criar um pacote diferente para liberação em ambiente de homologação e outro para ambiente de produção.
  3. CCom vistas a diminuir o risco em uma liberação, deve- se liberar um pacote com um grande conjunto de atualizações.
  4. DOs ambientes de desenvolvimento, homologação e produção devem ser os mais distintos possíveis para ampliar os cenários de testes.
  5. ENão é possível criar um pipeline com processo automatizado de atualização em alterações de banco de dados ou infraestrutura.
Revelar gabarito e comentário

GabaritoA — Os pipelines de implantação unem gerenciamento de configuração, integração contínua e automação de teste.

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

Pipelines de implantação e DevOps

Gabarito: letra A. Os pipelines de implantação (CI/CD) unem, de fato, gerenciamento de configuração, integração contínua e automação de testes — é exatamente essa a definição de pipeline de implantação no contexto de DevOps. As demais alternativas contrariam boas práticas de entrega contínua, como veremos.

O enunciado trata de integração contínua (CI), entrega contínua (CD) e implantação contínua (CD) — três práticas que formam o coração do DevOps. A ideia central é automatizar o fluxo desde o commit do código até a liberação em produção, reduzindo o tempo entre deploys e aumentando a frequência de entregas com segurança. O pipeline de implantação é o mecanismo que materializa esse fluxo: ele orquestra as etapas de build, teste e deploy de forma automatizada, integrando ferramentas de controle de versão, automação de testes e provisionamento de ambientes.

A alternativa A está correta porque o pipeline de implantação, por definição, une gerenciamento de configuração (controle de versão, artefatos, ambientes), integração contínua (build e testes automáticos a cada commit) e automação de teste (execução automática de suítes de teste). Essa é a essência do pipeline CI/CD: um fluxo automatizado que leva o código do repositório até a produção, passando por etapas de validação.

As demais alternativas exploram conceitos contrários às boas práticas de entrega contínua. Vamos analisar cada uma:

  • B) Criar pacotes diferentes para homologação e produção é anti-padrão: o ideal é que o mesmo artefato (pacote) seja promovido entre os ambientes, garantindo que o que foi testado em homologação seja exatamente o que vai para produção. Pacotes diferentes introduzem risco de divergência.

  • C) Liberar um pacote com grande conjunto de atualizações aumenta o risco, pois dificulta o isolamento de falhas e o rollback. A boa prática é liberar pequenas mudanças incrementais com frequência.

  • D) Ambientes de desenvolvimento, homologação e produção devem ser o mais semelhantes possível (paridade de ambientes), para que o comportamento em produção seja previsível. Ambientes muito distintos ampliam os cenários de teste, mas também ampliam a chance de falhas que só aparecem em produção.

  • E) É perfeitamente possível automatizar atualizações de banco de dados e infraestrutura em pipelines, usando ferramentas de migração de banco e infraestrutura como código (IaC).

A pegadinha da banca está em inverter as boas práticas: ela apresenta como corretas práticas que são justamente o oposto do que se recomenda em DevOps. O candidato que conhece os princípios de CI/CD identifica rapidamente a alternativa A como a única alinhada.

1Une
Gerenciamento de configuração
Integração contínua
Automação de testes
2Boas práticas
Mesmo artefato em todos os ambientes
Pequenas mudanças incrementais
Paridade de ambientes
Automatizar banco e infraestrutura (IaC)
3Anti-padrões
Pacotes diferentes por ambiente
Grandes lotes de atualização
Ambientes muito distintos
Pipeline de implantação (CI/CD)
LEVELsoulevel.com.br
Pipeline de implantação (CI/CD): Une (Gerenciamento de configuração, Integração contínua, Automação de testes); Boas práticas (Mesmo artefato em todos os ambientes, Pequenas mudanças incrementais, Paridade de ambientes, Automatizar banco e infraestrutura (IaC)); Anti-padrões (Pacotes diferentes por ambiente, Grandes lotes de atualização, Ambientes muito distintos)

Alternativa A — ✅ Correta ⟵ GABARITO

O pipeline de implantação é a espinha dorsal do DevOps. Ele une gerenciamento de configuração (controle de versão, gestão de artefatos e ambientes), integração contínua (build e testes automáticos a cada integração de código) e automação de teste (execução automática de testes unitários, de integração, de sistema etc.). Essa é a definição clássica de pipeline de implantação: um fluxo automatizado que leva o código do repositório até a produção, passando por etapas de validação. A alternativa está correta porque descreve exatamente o papel do pipeline.

Alternativa B — ❌ Incorreta

Criar pacotes diferentes para homologação e produção é anti-padrão. A boa prática é usar o mesmo artefato (pacote) em todos os ambientes, promovendo-o de homologação para produção. Isso garante que o que foi testado é exatamente o que será liberado. Pacotes diferentes introduzem risco de divergência entre o que foi validado e o que vai para produção.

Alternativa C — ❌ Incorreta

Liberar um pacote com grande conjunto de atualizações aumenta o risco, não diminui. Quanto maior o lote de mudanças, maior a dificuldade de isolar falhas, de fazer rollback e de identificar a causa de problemas. A boa prática é liberar pequenas mudanças incrementais com frequência, reduzindo o risco de cada liberação.

Alternativa D — ❌ Incorreta

Ambientes de desenvolvimento, homologação e produção devem ser o mais semelhantes possível (paridade de ambientes). Isso garante que o comportamento observado em homologação seja o mesmo em produção. Ambientes muito distintos ampliam os cenários de teste, mas também ampliam a chance de falhas que só aparecem em produção, justamente o que se quer evitar.

Alternativa E — ❌ Incorreta

É perfeitamente possível automatizar atualizações de banco de dados e infraestrutura em pipelines. Ferramentas de migração de banco (como Flyway, Liquibase) e infraestrutura como código (IaC, como Terraform, Ansible) são amplamente usadas em pipelines CI/CD para automatizar essas tarefas. A alternativa afirma o contrário, o que é falso.

Gabarito: letra A

Link permanente: /questoes/vu196592