Pular para o conteúdo principal

Questão de Engenharia de Software — Orientação a Objetos — FUNDATEC 2026

Engenharia de SoftwareOrientação a Objetos
Código
qg685954
Banca
FUNDATEC
Órgão
IFC-SC
Ano
2026
Nível
Superior
Cargo
Professor EBTT - Informática: Engenharia de Software e Banco de Dados
O teste unitário atua na base do controle de qualidade de software, focando na verificação de componentes individuais, como métodos e classes de objetos. A respeito das técnicas e dos desafios associados ao projeto de testes unitários para sistemas orientados a objetos, assinale a alternativa INCORRETA.
  1. AA validação de funções ou métodos isolados, que representam os componentes mais simples de um programa, é comumente realizada mediante a chamada dessas rotinas com o fornecimento de diferentes parâmetros de entrada.
  2. BPara garantir a cobertura adequada ao testar uma classe de objetos, o testador deve projetar cenários que contemplem todas as operações associadas, a verificação dos valores de seus atributos e a simulação de todos os eventos que causem mudanças de estado.
  3. CA presença de herança (generalização) na arquitetura simplifica o processo de testes, uma vez que uma operação exaustivamente testada e validada na classe em que foi definida dispensa a necessidade de novos testes nas subclasses que a herdam.
  4. DEmbora a recomendação ideal em testes unitários seja a validação de métodos de forma isolada, há casos em que a dependência de contexto exige a execução de sequências de testes, em que o teste de uma operação depende da execução prévia de outra.
  5. EA simulação de estados é uma etapa crítica na testagem de objetos complexos; logo, o projeto de testes deve ser capaz de submeter a instância do objeto a todas as transições de estado possíveis previstas em seu modelo.
Revelar gabarito e comentário

GabaritoC — A presença de herança (generalização) na arquitetura simplifica o processo de testes, uma vez que uma operação exaustivamente testada e validada na classe em que foi definida dispensa a necessidade de novos testes nas subclasses que a herdam.

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

Teste Unitário em Sistemas Orientados a Objetos

Gabarito: letra C. A alternativa C está incorreta pois afirma que a herança dispensa novos testes nas subclasses, contrariando o princípio de que métodos herdados devem ser retestados no contexto da subclasse, devido a possíveis sobreposições (override) e dependências de estado herdadas.

O teste unitário em OO exige verificar cada classe considerando seu comportamento completo, incluindo métodos herdados, atributos e transições de estado. A banca explora a falsa crença de que herança simplifica os testes, quando na verdade ela impõe a necessidade de retestar ou, no mínimo, revalidar a operação no novo contexto.


Alternativa

Afirmação sobre Teste Unitário em OO

Correta/Incorreta

Justificativa

A

Validação de métodos isolados com diferentes parâmetros de entrada.

✅ Correta

Descreve a prática padrão de teste unitário (caixa-branca ou caixa-preta sobre o método).

B

Cobertura adequada exige testar todas as operações, atributos e eventos que causem mudanças de estado.

✅ Correta

Garante cobertura completa do comportamento da classe.

C

Herança dispensa novos testes nas subclasses, pois o teste na superclasse é suficiente.

❌ Incorreta (Gabarito)

Subclasses podem sobrescrever métodos, adicionar atributos ou alterar estado, exigindo reteste ou revalidação no novo contexto.

D

Dependência de contexto pode exigir sequências de teste, mesmo que o ideal seja o isolamento.

✅ Correta

Reconhece a necessidade prática de testes sequenciais quando há dependências entre operações.

E

Testes devem submeter o objeto a todas as transições de estado possíveis previstas no modelo.

✅ Correta

Essencial para validar o ciclo de vida de objetos complexos.

Teste unitário em OO
  • 1Método isolado
    • Diferentes parâmetros
  • 2Classe completa
    • Todas as operações
    • Atributos (estado)
    • Transições de estado
  • 3Herança
    • Dispensa reteste na subclasse
    • Deve retestar no novo contexto
      • Override
      • Novos atributos
      • Dependências herdadas
  • 4Sequência de testes
    • Dependência de contexto
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta

Descreve corretamente o teste unitário básico: chamar métodos isoladamente com diferentes parâmetros para validar seu funcionamento. É a prática padrão (teste de caixa-branca ou caixa-preta sobre o método).

Alternativa B — ✅ Correta

Correta: para testar uma classe, o testador deve cobrir todas as operações, verificar os valores dos atributos (estado) e simular eventos que causem mudanças de estado. Isso garante cobertura adequada.

Alternativa C — ❌ Incorreta ⟵ GABARITO

A afirmativa erra ao dizer que a herança simplifica os testes a ponto de dispensar novos testes nas subclasses. Na orientação a objetos, uma subclasse pode:

  • Sobrescrever (override) o método herdado;

  • Adicionar novos atributos que alteram o estado;

  • Herdar dependências que exigem revalidação.

NÃO CAIA NESSA!

A banca usa o argumento de que "o teste da superclasse basta" — um erro clássico. O candidato deve lembrar que o contexto muda: o método opera sobre um objeto da subclasse, com possíveis diferenças de estado e comportamento. Por isso, o reteste (ou, no mínimo, reexecução dos casos de teste da superclasse na subclasse) é necessário.

Alternativa D — ✅ Correta

Correta: embora o ideal seja testar métodos isoladamente, há dependências de contexto (ex.: método que depende de uma operação anterior). Nesses casos, sequências de teste são necessárias e aceitas.

Alternativa E — ✅ Correta

Correta: objetos complexos possuem ciclos de vida definidos. Testar todas as transições de estado possíveis previstas no modelo (ex.: diagrama de estados) é uma etapa crítica para garantir a corretude do objeto.


Conclusão: A única alternativa falsa é a C; portanto, gabarito letra C.

Link permanente: /questoes/qg685954