Pular para o conteúdo principal

Questão de Arquitetura de Software — Conceitos Básicos em Arquitetura de Software — FGV 2025

Arquitetura de SoftwareConceitos Básicos em Arquitetura de Software
Código
fg107143
Banca
FGV
Órgão
CPRM
Ano
2025
Nível
Superior
Cargo
Analista em Geociências - Análise e Desenvolvimento de Sistemas
A arquitetura limpa, proposta por Robert C. Martin (2019), é um dos conceitos mais recentes em arquitetura de software.Assinale a afirmativa incorreta sobre esse conceito.
  1. ATestabilidade deve fazer parte do design.
  2. BA arquitetura não depende dos testes, mas os testes dependem internamente dos componentes do sistema.
  3. CA função dos testes é apoiar o desenvolvimento e a operação do sistema.
  4. DO problema dos "Testes Frágeis" ocorre quando os testes são fortemente acoplados ao sistema.
  5. EAs regras de negócio devem ser testadas sem a utilização do Front End da aplicação.
Revelar gabarito e comentário

GabaritoC — A função dos testes é apoiar o desenvolvimento e a operação do sistema.

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

Clean Architecture (Robert C. Martin)

Gabarito: letra C. A afirmativa incorreta é a letra C, pois, na Clean Architecture, os testes não têm como função principal apoiar a operação do sistema; sua função primordial é validar as regras de negócio e garantir a corretude do software durante o desenvolvimento e a manutenção, não a operação em si.

A banca testa o conhecimento sobre os princípios da Clean Architecture, especialmente o papel da testabilidade e a independência entre arquitetura e testes. A armadilha está na alternativa C, que atribui aos testes um papel operacional que não lhes é inerente nesse contexto.

Alternativa

Afirmativa

Correta/Incorreta

Justificativa

A

Testabilidade deve fazer parte do design.

✅ Correta

Na Clean Architecture, a testabilidade é um pilar: o design deve permitir testes isolados, sem dependências de infraestrutura.

B

A arquitetura não depende dos testes, mas os testes dependem internamente dos componentes do sistema.

✅ Correta

A arquitetura é independente de frameworks e testes; os testes dependem das abstrações e regras de negócio internas.

C

A função dos testes é apoiar o desenvolvimento e a operação do sistema.

❌ Incorreta (Gabarito)

Os testes apoiam o desenvolvimento e a manutenção, não a operação do sistema. A operação refere-se à execução contínua, não afetada por testes.

D

O problema dos "Testes Frágeis" ocorre quando os testes são fortemente acoplados ao sistema.

✅ Correta

Testes frágeis quebram facilmente devido ao acoplamento excessivo com detalhes de implementação, o que a Clean Architecture busca evitar.

E

As regras de negócio devem ser testadas sem a utilização do Front End da aplicação.

✅ Correta

Na Clean Architecture, as regras de negócio são independentes de interface, permitindo testes sem Front End.

Alternativa A — ✅ Correta

"Testabilidade deve fazer parte do design." Na Clean Architecture, a testabilidade é um dos pilares: o design deve ser concebido de modo que os componentes possam ser testados isoladamente, sem dependências de infraestrutura ou frameworks.

Alternativa B — ✅ Correta

"A arquitetura não depende dos testes, mas os testes dependem internamente dos componentes do sistema." A arquitetura deve ser independente de qualquer framework ou biblioteca, inclusive de testes. Já os testes dependem dos componentes internos (abstrações, interfaces e regras de negócio) para serem escritos.

Alternativa C — ❌ Incorreta ⟵ GABARITO

"A função dos testes é apoiar o desenvolvimento e a operação do sistema." O erro está em incluir a "operação" como finalidade dos testes na Clean Architecture. Os testes automatizados apoiam o desenvolvimento (verificam comportamento, previnem regressões) e a manutenção, mas não se destinam a apoiar a operação do sistema. A operação refere-se à execução contínua do software, que não é afetada pelos testes unitários ou de integração. A frase correta seria que os testes apoiam o desenvolvimento e a verificação, não a operação.

NÃO CAIA NESSA!

A banca utiliza o termo "operação" para induzir o candidato a achar que os testes têm um papel operacional direto. Fique atento: na Clean Architecture, a testabilidade existe para validar as regras de negócio e permitir refatorações seguras, não para manter o sistema funcionando (operação).

Alternativa D — ✅ Correta

"O problema dos 'Testes Frágeis' ocorre quando os testes são fortemente acoplados ao sistema." Exato: testes frágeis quebram facilmente porque dependem de implementações concretas, contrariando o princípio de depender de abstrações.

Alternativa E — ✅ Correta

"As regras de negócio devem ser testadas sem a utilização do Front End da aplicação." Na Clean Architecture, as regras de negócio (entidades e casos de uso) são testadas isoladamente, sem dependência de UI, banco de dados ou outros frameworks.

Gabarito: letra C — a afirmativa incorreta sobre Clean Architecture é a que atribui aos testes a função de apoiar a operação do sistema.

Link permanente: /questoes/fg107143