Questão FC373837
Considere as seguintes afirmativas sobre testes em programas orientados a objetos: I. O conceito de herança leva a algumas dificuldades; por exemplo, se alterações forem feitas em
Técnicas de Modelagem de Sistemas
FCC · 2021
Considere as seguintes afirmativas sobre testes em programas orientados a objetos:
I. O conceito de herança leva a algumas dificuldades; por exemplo, se alterações forem feitas em uma classe pai ou superclasse, será difícil testar as subclasses individualmente e isolar o erro para uma classe.
II. O fluxo de controle é caracterizado pela passagem de mensagens entre objetos, e o fluxo de controle não muda de um objeto para outro. Consequentemente, o fluxo de controle sequencial dentro de uma classe é similar ao das funções, sendo mais indicado o uso de técnicas de teste tradicionais.
III. Em uma função, os parâmetros passados com dados globais determinam o caminho de execução em seu código. Mas, em um objeto, o estado a ele associado também influencia o caminho de execução, e os métodos de uma classe podem se comunicar entre si por meio desse estado.
Consequentemente, para testar objetos, o estado de um objeto desempenha um papel importante. Está correto o que se afirma em
- I, II e III.
- I e II, apenas.
- I e III, apenas.
- II e III, apenas.
- II, apenas.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A afirmativa I está correta porque, em OO, a herança cria dependências entre classes: uma alteração em uma superclasse pode alterar o comportamento de todas as subclasses que a estendem, exigindo retestes e tornando difícil isolar a origem do erro numa única classe.
A afirmativa III também está correta: ao testar objetos, não bastam os parâmetros de entrada — o estado do objeto (atributos) influencia o fluxo de execução e os caminhos possíveis dentro dos métodos.
Além disso, os métodos de uma classe podem interagir por meio desse estado compartilhado, de modo que testes unitários precisam considerar sequências de operações e estados pré e pós-execução.
Consequentemente, para testar adequadamente em OO, é fundamental projetar cenários que controlem e verifiquem o estado do objeto antes e depois das chamadas, bem como as interações entre classes envolvidas.
Conteúdo do catálogo FC Concursos · Atualizado em