Questão de Engenharia de Software — Conceitos e Tipos de Testes de Software — VUNESP 2023
Engenharia de Software›Conceitos 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.
AOs pipelines de implantação unem gerenciamento de configuração, integração contínua e automação de teste.
BÉ uma boa prática criar um pacote diferente para liberação em ambiente de homologação e outro para ambiente de produção.
CCom vistas a diminuir o risco em uma liberação, deve- se liberar um pacote com um grande conjunto de atualizações.
DOs ambientes de desenvolvimento, homologação e produção devem ser os mais distintos possíveis para ampliar os cenários de testes.
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.
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çõesaumenta 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.