Tipo de teste que focaliza cada componente de um software de...

Próximas questões
Com base no mesmo assunto
Q252839 Engenharia de Software
Tipo de teste que focaliza cada componente de um software de forma individual, garantindo que o componente funciona adequadamente:

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - Teste de Unidade.

Explorando o tema proposto pela questão, estamos falando sobre Teste de Software, uma etapa crítica no desenvolvimento de sistemas que visa garantir a qualidade do produto de software. Os testes são classificados de acordo com o contexto e o objetivo com que são aplicados.

Na alternativa B, temos o Teste de Unidade (ou Teste de Módulo, Teste de Componente). Essa modalidade de teste é realizada para verificar se cada componente do software funciona como esperado de forma isolada. Aqui, "componente" pode ser entendido como a menor parte testável de uma aplicação, como funções, procedimentos ou objetos, por exemplo.

O Teste de Unidade é tipicamente o primeiro nível de teste no processo de desenvolvimento de software e é conduzido durante a fase de implementação. Os desenvolvedores normalmente escrevem esses testes, que são automatizados na maioria das vezes, para garantir que o código que eles desenvolveram atende a especificação e se comporta conforme o esperado.

Essa abordagem de teste permite identificar problemas no código em estágios iniciais, facilitando a sua correção e reduzindo custos associados a correções em fases posteriores do desenvolvimento. Portanto, a alternativa B está correta porque descreve exatamente o propósito do Teste de Unidade: focar em cada componente individualmente e garantir que ele funciona adequadamente.

Os outros tipos de teste mencionados nas alternativas são importantes, mas têm focos diferentes:

  • Teste de Integração verifica a combinação e o funcionamento de dois ou mais componentes do software.
  • Teste de Regressão é utilizado para confirmar que uma mudança recente não afetou as funcionalidades existentes.
  • Teste de Validação confirma se o produto final atende às expectativas e requisitos dos usuários finais.

Compreender as diferenças entre esses tipos de teste é crucial para quem deseja atuar na área de Engenharia de Software e é fundamental para o sucesso em concursos públicos que abordem essa temática.

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

a)(Não condiz) Teste de Integração.
Integra e testa os componentes de um sistema com o objetivo de encontrar erros durante suas interações.
[PRESSMAN] É uma técnica sistemática para construir a arquitetura de software ao mesmo tempo que conduz testes para descobrir erros associados com as interfaces
b)(Condiz) Teste de Unidade.
Testa componentes individuais para assegurar sua correta operação
[PRESSMAN] focaliza o esforço de verificação na menor unidade de projeto do software
c)(Não condiz) Teste de Regressão.
Realiza a execução de um subconjunto de teste que já foram executados com o objetivo de garantir que mudanças não propagem erros.
[PRESSMAN] é a reexecução do mesmo subconjunto de teste que já foram executados para assegurar que as alterações não tenham propagado efeitos colaterais indesejados
d)(Não condiz) Teste de Validação.
Após a execução dos teste de integração pode ser iniciado os teste de validação ou aceitação que objetivam demonstrar que o software está em conformidade com o resquisitos.
[PRESSMAN] O teste focaliza ações visíveis ao usuário e saídas do sistema reconhecíveis pelo usuário ... a validação tem sucesso quando o software funciona de maneira que pode ser razoavelmente esperada pelo cliente.
Complementando o colega e acrescentando a visão de Sommerville:

"Teste de Componente (ou Unidade): Os componentes individuais são testados para garantir que operam corretamente. Cada componente é testado independentemente, sem os outros componentes de sistema. Os componentes podem ser entidades simples: funções ou classes de objetos, ou podem ser grupos coerentes dessas entidades".

Fonte: Engenharia de Software, pag. 53, 8ª Edição, Ian Sommerville. Editora Pearson Adison Wesley.

Clique para visualizar este comentário

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