No contexto da estratégia para o teste de um projeto, os est...

Próximas questões
Com base no mesmo assunto
Q39620 Engenharia de Software
No contexto da estratégia para o teste de um projeto, os estágios de teste desempenham um papel importante. O teste que é aplicado a componentes do modelo de implementação para verificar se os fluxos de controle e de dados estão cobertos e funcionam conforme o esperado, é o teste
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - teste unitário.

Para resolver essa questão, é necessário compreender os diferentes tipos de teste no contexto da engenharia de software. O teste unitário consiste na verificação da menor parte testável de um aplicativo, geralmente um método ou função isolada do restante do código, para garantir que esta funcione como esperado. O foco está em verificar os fluxos de controle e de dados internos do componente. Os testes unitários são geralmente escritos e executados pelos próprios desenvolvedores, antes que o código seja integrado a um sistema maior.

Por que a alternativa E, referente ao teste unitário, está correta? Porque ela se alinha diretamente com a descrição provida no enunciado, referindo-se aos testes aplicados a componentes individuais do modelo de implementação para verificar a cobertura e o correto funcionamento dos fluxos de controle e de dados, que é justamente o que os testes unitários são feitos para identificar e validar.

O entendimento dos outros tipos de teste fornece um contexto adicional e ajuda a descartar alternativas incorretas:

  • Teste do desenvolvedor pode ser um termo genérico, mas não é específico para descrever os testes de fluxos de controle e de dados em componentes.
  • Teste independente é um conceito fora de contexto, pois normalmente se refere a testes realizados por pessoas que não estão envolvidas no desenvolvimento do componente.
  • Teste de integração foca em verificar as interfaces e as interações entre componentes ou sistemas.
  • Teste de sistema avalia o comportamento completo de um sistema em ambiente que simula a operação em produção.

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

 Essa questão é um tanto controversa, já que em uma grande quantidade de questões que cita componentes o teste comentado é o de integração. Mas, não podemos nos deixar induzir por apenas uma palavra do enunciado nos levar a conclusões errôneas. Fiz um breve resumo dos comentários lidos no TIMasters sobre essa questão:

Primeiro temos um conceito para eliminar a solução direta: O teste de unidade focaliza o esforço de verificação na menor unidade de projeto do software - o componente ou módulo de software. [2]

Tendo em vista que componentes também estão associados a testes de unidade, porque não poderia ser também teste de integração. Podemos perceber que a questão trata de testes de muito baixo nível como fluxos de controle e de dados, onde podemos relacioná-los com testes do próprio código do componente, ou seja, testes de unidade.

Os testes de integração, também relacionados a testes de componentes do software, são bem mais alto nível e são efetuados entre as comunicações existentes entre componentes do sistema e não fluxos internos do componente. Esses testes estão mais relacionados com as saídas que os componentes apresentam uns para os outros.

Tendo em vista esses conceitos de testes de unidade e de integração, podemos perceber uma estrita relação com os testes de caixa branca e de caixa preta, respectivamente.

 

[1] TIMasters

[2] Pressman, 6a ed. pag 295

Para matar a questão se atente para essas três palavras entre colchetes:

No contexto da estratégia para o teste de um projeto, os estágios de teste desempenham um papel importante. O teste que é aplicado a componentes do modelo de [implementação] para verificar se os [fluxos de controle] e de [dados] estão cobertos e funcionam conforme o esperado, é o teste...

Teste Unitário

Tem como principal função testar o menor bloco de software desenvolvido, avaliando os resultados obtidos com entradas de dados pré-definidos.

e-

O teste de unidade comprova uma funcionalidade para verificar seu mecanismo correto. Implica um nivel de teste para testar os detalhes do compoenentes.

Clique para visualizar este comentário

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