Questão de Engenharia de Software — Orientação a Objetos — FUNDATEC 2026
Engenharia de Software›Orientaçã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.
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.
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.
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.
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.
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.