Pular para o conteúdo principal

Questão de Engenharia de Software — Git — CESPE / CEBRASPE 2025

Engenharia de SoftwareGit
Código
ce417735
Banca
CESPE / CEBRASPE
Órgão
PC DF
Ano
2025
Cargo
GAAPC ( )

Julgue o item a seguir, a respeito de GIT e testes de software.

 

A integração do TDD ao fluxo de trabalho do GIT, por meio da implementação de hooks de pré-commit e pré-push, em associação com práticas de integração contínua, propicia uma abordagem proativa para a manutenção da integridade do código em ambientes de desenvolvimento distribuído com múltiplos branches.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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

TDD, Git Hooks e Integração Contínua

Gabarito: Certo (C). A integração do TDD ao fluxo de trabalho do Git, por meio de hooks de pré-commit e pré-push, em associação com práticas de integração contínua, de fato propicia uma abordagem proativa para a manutenção da integridade do código em ambientes de desenvolvimento distribuído com múltiplos branches. A afirmativa está correta porque descreve com precisão como essas práticas se complementam para detectar e prevenir problemas de forma antecipada.

O TDD (Test-Driven Development) é uma metodologia de desenvolvimento em que os testes são escritos antes do código de produção. O ciclo é simples: escreve-se um teste que falha, implementa-se o código mínimo para fazê-lo passar e, em seguida, refatora-se o código. Essa prática garante que cada funcionalidade seja coberta por testes desde o início, criando uma rede de segurança que permite alterações com confiança.

Os hooks do Git são scripts que o Git executa automaticamente em determinados pontos do fluxo de trabalho. O hook de pré-commit é executado antes de um commit ser criado, permitindo que o desenvolvedor rode testes, verifique formatação ou faça qualquer outra validação antes de registrar a alteração. O hook de pré-push, por sua vez, é executado antes que os commits sejam enviados para um repositório remoto, servindo como uma última barreira antes de compartilhar o código com a equipe.

A integração contínua (CI) é uma prática de desenvolvimento em que os desenvolvedores integram seu código em um repositório compartilhado com frequência, e cada integração é verificada por uma compilação automatizada e testes. O objetivo é detectar problemas de integração o mais cedo possível. Quando o TDD é combinado com hooks de pré-commit e pré-push, os testes são executados localmente antes de cada commit e push, o que significa que muitos problemas são detectados antes mesmo de chegarem ao servidor de CI.

Em um ambiente com múltiplos branches, essa abordagem é particularmente valiosa. Cada branch pode ter seu próprio conjunto de alterações, e a integração entre eles pode gerar conflitos ou quebras de funcionalidade. Ao executar os testes localmente antes de cada commit e push, os desenvolvedores garantem que suas alterações não quebram o código existente, reduzindo a probabilidade de conflitos e problemas de integração. A CI, por sua vez, valida a integração de todos os branches em um ambiente centralizado, fornecendo uma camada adicional de segurança.

A abordagem é proativa porque antecipa a detecção de problemas, em vez de reagir a eles após a integração. Em vez de descobrir que uma alteração quebrou o código após o merge, o desenvolvedor descobre isso antes mesmo de fazer o commit. Isso economiza tempo, reduz o retrabalho e mantém a integridade do código em um nível mais alto.

A banca explora a compreensão de como essas práticas se relacionam. A afirmativa não é uma mera definição de cada conceito, mas uma análise de como eles se integram para alcançar um objetivo comum. O candidato que entende o papel de cada prática e como elas se complementam reconhece a correção da afirmativa.

  1. 1TDD: escreve teste antes do código
  2. 2Hook pré-commit: roda testes locais
  3. 3Hook pré-push: última barreira local
  4. 4CI: valida integração centralizada
LEVEL · soulevel.com.br

Alternativa C — ✅ Certo ⟵ GABARITO

A afirmativa está correta. O TDD, ao escrever testes antes do código, garante que cada funcionalidade seja testada desde o início. Os hooks de pré-commit e pré-push do Git executam esses testes automaticamente antes de cada commit e push, respectivamente, impedindo que código quebrado seja registrado ou compartilhado. A integração contínua, por sua vez, valida a integração de todos os branches em um ambiente centralizado, executando os testes novamente e detectando problemas de integração. Essa combinação cria uma abordagem proativa, pois os problemas são detectados e corrigidos o mais cedo possível, antes que se propaguem para outros desenvolvedores ou para o ambiente de produção. Em um ambiente distribuído com múltiplos branches, essa abordagem é essencial para manter a integridade do código, pois cada branch pode ser validado individualmente antes da integração, e a CI garante que a integração em si não introduza problemas.

Gabarito: Certo (C).

Link permanente: /questoes/ce417735