Questão de Engenharia de Software — Gerência de Configuração — FUNDATEC 2023
Engenharia de Software›Gerê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:
AÉ uma prática de software que exige que commits sejam executados uma única vez para cada aplicativo em um repositório compartilhado.
BPara compilar e testar, é necessário fazer dowload localmente de todo o código-fonte.
CAtualizações frequentes de código facilitam o merge de alterações dos integrantes de uma equipe de desenvolvimento de software.
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.
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)
1Commit frequente
2Push para repositório
3Build automatizada
4Testes automatizados
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.