Questão 39 Comentada - Universidade Federal do Tocantins (UFT) - Analista de Tecnologia da Informação - CS-UFG (2023)

O uso de APIs de testes contribui para o desacoplamento dos testes em relação à aplicação. Nesse contexto, o acoplamento estrutural pode ser definido como

  • A a forma mais leve de acoplamento, pois é desnecessário haver modificações constantes nos testes relacionados a cada classe ou método. Essa abordagem é amplamente adotada, já que sua implementação independe de um grande investimento de tempo.
  • B a aplicação de testes de unidade, que se concentra em testar unidades individuais de código (classes ou métodos) de forma isolada. Isso reduz a dependência dos testes em relação a partes extensas do código de produção.
  • C o acoplamento forte de testes, uma vez que qualquer alteração nas classes ou métodos de produção exige uma extensa modificação nos testes associados. Neste sentido, os testes são frágeis e tornam o código de produção rígido.
  • D o uso de injeção de dependência para substituir componentes reais por versões simuladas durante os testes. Isso possibilita que os testes sejam realizados com componentes simulados, reduzindo a dependência do código de produção.

Gabarito comentado da Questão 39 - Universidade Federal do Tocantins (UFT) - Analista de Tecnologia da Informação - CS-UFG (2023)

A questão aborda o conceito de acoplamento estrutural em testes de software, que avalia a interdependência entre os módulos de um sistema.

A alternativa correta é C.

O acoplamento estrutural refere-se à dependência dos testes em relação ao código de produção. Um sistema com alto acoplamento estrutural implica que as mudanças no código de produção exigem modificações significativas nos testes.

Acoplamento mede o grau de interdependência entre os módulos. Um alto grau de acoplamento dificulta a manutenção e evolução do sistema.

Coesão mede o grau em que os elementos dentro de um módulo estão relacionados, sendo desejável uma alta coesão.

A alternativa C está correta porque descreve o acoplamento estrutural como um acoplamento forte, onde alterações no código de produção afetam extensivamente os testes. Isso ocorre quando os testes não são bem projetados, não utilizando técnicas como mocks e stubs para isolar as dependências.

Em sistemas com alto acoplamento estrutural, qualquer mudança no código pode quebrar os testes, tornando o código frágil e difícil de manter.

Outras alternativas não descrevem corretamente o acoplamento estrutural. Por exemplo, a injeção de dependência (alternativa D) é uma técnica para reduzir o acoplamento, não para defini-lo.