Em uma equipe de desenvolvimento de softwares, um requisito ...

Próximas questões
Com base no mesmo assunto
Q3408219 Engenharia de Software
Em uma equipe de desenvolvimento de softwares, um requisito fundamental para a manutenção da qualidade e do funcionamento das aplicações desenvolvidas é a implementação de testes de software. Ao executar esses testes é possível identificar falhas, erros e comportamentos inesperados antes que o produto seja implementado para o usuário final. Sobre as possibilidades de implementação de testes de software, analise as afirmativas a seguir.

I. Os testes de aceitação são realizados pelo cliente com os seus dados e os resultados determinam se a equipe de desenvolvimento está de acordo com a implementação realizada.

II. Os testes de integração buscam explorar funcionalidades de maior granularidade no sistema, envolvendo mais classes e, eventualmente, pacotes distintos.

III. Testes unitários exploram pequenas unidades de código, normalmente classes, que são testadas de forma isolada do restante do sistema.

Está correto o que se afirma em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D – II e III, apenas.

Tema central da questão: A questão aborda tipos de testes de software, especificamente testes de aceitação, integração e unitários. Esse conhecimento é fundamental para garantir a qualidade em projetos de desenvolvimento, pois cada tipo de teste possui objetivos e responsáveis distintos no ciclo de vida do software.

Resumo teórico:
- Testes unitários: visam verificar pequenas unidades de código (normalmente métodos ou funções) isoladamente, sem dependência de outras partes do sistema.
- Testes de integração: avaliam a interação entre diferentes módulos, classes ou componentes, verificando se funcionam corretamente juntos.
- Testes de aceitação: são realizados pelo cliente ou usuário final para validar se o sistema atende aos requisitos e expectativas do negócio.

Segundo o IEEE 829 e literatura clássica como "Software Engineering" de Ian Sommerville, a definição dos tipos de teste segue o que foi apresentado acima.

Justificativa da alternativa correta (D):
- II. Correta: Testes de integração realmente envolvem a verificação de grupos de classes ou módulos e, muitas vezes, abrangem pacotes distintos para garantir que as partes do sistema interagem corretamente.
- III. Correta: O teste unitário foca em pequenas unidades isoladas, geralmente classes ou funções, testadas separadamente do resto do sistema para garantir seu funcionamento individual.

Análise das alternativas incorretas:
- I. Incorreta: Testes de aceitação não se destinam a determinar se a equipe está de acordo com a implementação, mas sim a validar se o produto atende às necessidades do cliente. O objetivo é aprovar o software para uso, não avaliar a equipe de desenvolvimento.

Estratégia de interpretação: Atente-se à finalidade de cada teste. Pegadinhas costumam relacionar erroneamente o responsável ou o objetivo do teste. Questões como esta exigem atenção aos detalhes de cada definição para não confundir tipos de teste semelhantes.

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

I. "Os testes de aceitação são realizados pelo cliente com os seus dados e os resultados determinam se a equipe de desenvolvimento está de acordo com a implementação realizada."

Incorreta.

O erro está no trecho "os resultados determinam se a equipe de desenvolvimento está de acordo".

Nos testes de aceitação, o foco é verificar se o cliente está satisfeito com a implementação e se o sistema atende aos requisitos previamente acordados.

→ Quem decide se a implementação está de acordo é o cliente, não a equipe de desenvolvimento.

II. "Os testes de integração buscam explorar funcionalidades de maior granularidade no sistema, envolvendo mais classes e, eventualmente, pacotes distintos."

Correta.

Os testes de integração verificam a comunicação entre módulos, classes ou pacotes, validando se os componentes funcionam corretamente quando integrados.

→ Esses testes vão além do escopo unitário e analisam a colaboração entre partes do sistema.

III. "Testes unitários exploram pequenas unidades de código, normalmente classes, que são testadas de forma isolada do restante do sistema."

Correta.

Testes unitários têm como foco unidades pequenas e isoladas do software (geralmente funções ou métodos dentro de classes).

→ Eles visam garantir que cada parte individual do código funcione conforme o esperado.

Fonte: IA MESTRE DE QUESTÕES https://chatgpt.com/g/g-ijMcb3nnY-ia-questoes-de-concursos

"Você não precisa ser excelente para começar, mas precisa começar para ser excelente." – Zig Ziglar

Instagram: @tudomudahoje @rankingdasbancas

Clique para visualizar este comentário

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