Em sistemas não orientado a objetos é possível utilizar o t...

Próximas questões
Com base no mesmo assunto
Q2542045 Engenharia de Software
Em sistemas não orientado a objetos é possível utilizar o teste unitário de maneira simplificada com um número de testes reduzidos. Neste contexto, isto é viável quando:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - uma única função é implementada por componente

A questão aborda o conceito de teste unitário, que é a prática de testar unidades individuais de código para garantir que cada uma funcione corretamente de forma isolada. Em sistemas não orientados a objetos, uma unidade pode ser uma função, procedimento ou até um módulo. O teste unitário é essencial para detectar erros na fase inicial do desenvolvimento e melhorar a qualidade do software.

Justificação da alternativa correta:

A alternativa B é a correta porque, em um contexto de sistemas não orientados a objetos, testar componentes que implementam uma única função simplifica o teste unitário. Isso significa que cada componente tem uma responsabilidade clara e única, facilitando a criação e execução de testes. Com um número menor de funções para testar em cada componente, o número total de testes necessários é reduzido, tornando o processo mais eficiente.

Análise das alternativas incorretas:

A - utilizamos testes de caixa-preta nos componentes

Os testes de caixa-preta são focados em verificar a funcionalidade do software sem considerar a estrutura interna do código. Embora úteis, eles não simplificam necessariamente o teste unitário, pois não se concentram em testar unidades isoladas de código, mas sim a entrada e saída do sistema como um todo.

C - os requisitos estão bem entendidos

Ter os requisitos bem entendidos é fundamental para a qualidade geral do software, mas isso não está diretamente relacionado à simplificação do teste unitário. Compreender os requisitos é mais uma questão de garantir que o software atenda às necessidades do usuário final.

D - os componentes apresentam alta integração

A alta integração entre componentes pode, na verdade, complicar o teste unitário. Cada componente interagindo com vários outros pode aumentar a complexidade dos testes, demandando mais esforço para criar mocks ou stubs para isolar as unidades a serem testadas.

E - existem muitos caminhos de controle

Ter muitos caminhos de controle no código aumenta a complexidade dos testes. Mais caminhos significam mais casos de teste para cobrir todas as possíveis execuções, o que não simplifica o processo de teste unitário.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Em sistemas não orientados a objetos, o teste unitário pode ser realizado de maneira simplificada e com um número reduzido de testes quando:

**B) uma única função é implementada por componente.**

Aqui está o porquê:

- **Uma única função é implementada por componente**: Quando um componente tem uma única função ou uma responsabilidade bem definida, o teste unitário pode ser mais direto e simplificado. Isso facilita a criação de casos de teste que cobrem a funcionalidade do componente de maneira eficaz e reduzida.

Vamos analisar por que as outras opções não são tão adequadas para simplificar o teste unitário:

A) **Utilizamos testes de caixa-preta nos componentes**: Testes de caixa-preta focam nos resultados das operações sem considerar o funcionamento interno do componente, o que não necessariamente simplifica o teste unitário.

C) **Os requisitos estão bem entendidos**: Ter requisitos bem entendidos é importante, mas não reduz necessariamente o número de testes necessários. Facilita a criação de testes, mas não simplifica a complexidade do teste unitário em si.

D) **Os componentes apresentam alta integração**: Componentes com alta integração geralmente requerem testes mais complexos para garantir que todas as interações funcionem corretamente, o que pode aumentar a quantidade de testes.

E) **Existem muitos caminhos de controle**: Muitos caminhos de controle geralmente aumentam a complexidade do teste e podem exigir mais testes para cobrir todas as possibilidades, não simplificam o processo de teste.

Portanto, a resposta correta é:

**B) uma única função é implementada por componente.**

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo