Pular para o conteúdo principal

Questão de Engenharia de Software — Gerência de Configuração — FUNDATEC 2023

Engenharia de SoftwareGerência de Configuração
Código
qq897100
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Ciências de Dados
Sobre o processo integração contínua utilizando GIT, é correto afirmar que:
  1. AÉ uma prática de software que exige que commits sejam executados uma única vez para cada aplicativo em um repositório compartilhado.
  2. BPara compilar e testar, é necessário fazer dowload localmente de todo o código-fonte.
  3. CAtualizações frequentes de código facilitam o merge de alterações dos integrantes de uma equipe de desenvolvimento de software.
  4. DFazer commit de códigos uma única vez detecta erros com maior antecedência e reduz a quantidade de código necessária para depuração quando o erro é detectado.
  5. EAs atualizações devem ser implementadas e testadas localmente antes de fazer push do código para o repositório.
Revelar gabarito e comentário

GabaritoC — Atualizações frequentes de código facilitam o merge de alterações dos integrantes de uma equipe de desenvolvimento de software.

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) com GIT

Gabarito: Letra C. A Integração Contínua (CI) é uma prática de desenvolvimento onde os membros da equipe integram seu trabalho com frequência, realizando commits em um repositório compartilhado. Cada integração é verificada por uma build automatizada e testes, permitindo a detecção precoce de erros. A alternativa C está correta porque, ao atualizar o código frequentemente, as alterações são menores e mais fáceis de mesclar (merge), reduzindo conflitos.

Aspecto

Integração Contínua (CI) com GIT

Alternativa C (Correta)

Alternativas Incorretas (A, B, D, E)

Frequência de commits

Commits frequentes (muitas vezes ao dia)

Atualizações frequentes facilitam o merge

A: afirma commits únicos; D: defende commit único

Local da compilação/testes

Servidor de CI (ex.: Jenkins, GitLab CI)

B: exige download local de todo o código

Detecção de erros

Precoce, devido a integrações constantes

D: commit único atrasa detecção

Fluxo de trabalho

Push → CI executa build/testes automaticamente

E: exige testes locais antes do push (não é regra da CI)

  1. 1Commit frequente
  2. 2Push para repositório
  3. 3Build automatizada
  4. 4Testes automatizados
  5. 5Feedback rápido
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que commits devem ser executados uma única vez para cada aplicativo. Isso contraria o princípio da CI, que exige commits frequentes (muitas vezes ao dia). O objetivo é integrar rapidamente, não esperar acumular muitas alterações.

Alternativa B — ❌ Incorreta

Diz que é necessário fazer download local de todo o código-fonte para compilar e testar. Na CI, a compilação e os testes são geralmente realizados em um servidor de integração contínua (como Jenkins, GitLab CI, etc.), que obtém o código do repositório. Os desenvolvedores não precisam baixar todo o código localmente para cada build.

Alternativa C — ✅ Correta ⟵ GABARITO

"Atualizações frequentes de código facilitam o merge de alterações dos integrantes de uma equipe de desenvolvimento de software." Essa é a essência da CI: quanto menores e mais frequentes as alterações, menor a chance de conflitos complexos e mais fácil integrar o trabalho de vários desenvolvedores.

Alternativa D — ❌ Incorreta

Propõe que fazer commit uma única vez detecta erros com maior antecedência. Na verdade, o oposto é verdadeiro: commits frequentes com integração contínua permitem detectar erros rapidamente, logo após serem introduzidos. Um commit único (após dias ou semanas) atrasa a detecção e torna a depuração mais difícil.

Alternativa E — ❌ Incorreta

Embora testar localmente antes de fazer push seja uma boa prática, a CI não exige que os testes sejam feitos localmente; o fluxo típico é fazer push e então o servidor de CI executa os testes. A afirmativa não reflete corretamente o conceito de CI, que é sobre integração frequente e verificação automatizada no repositório central.

NÃO CAIA NESSA!

A alternativa E parece atraente porque muitos desenvolvedores testam localmente antes do push. Porém, a CI foca na automação após a integração no repositório compartilhado; a frequência das atualizações (alternativa C) é o ponto-chave.

Gabarito: Letra C.

Link permanente: /questoes/qq897100