Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos e Tipos de Testes de Software — Avança SP 2023

Engenharia de SoftwareConceitos e Tipos de Testes de Software
Código
qa541247
Banca
Avança SP
Órgão
Pref Morungaba
Ano
2023
Cargo
ASI (Morungaba)
Qual dos seguintes processos de teste/validação de sistemas é realizado para verificar se o sistema produz o resultado desejado?
  1. AValidação de Estilo.
  2. BTeste de Estresse.
  3. CTeste de Regressão.
  4. DAnálise de Risco.
  5. ETeste de Aceitação.
Revelar gabarito e comentário

GabaritoE — Teste de Aceitação.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Teste de Aceitação: validação do produto certo

Gabarito: letra E. O teste de aceitação é o processo de teste/validação realizado para verificar se o sistema produz o resultado desejado, ou seja, se atende às necessidades e expectativas do cliente/usuário. Essa é a essência da validação: confirmar que foi construído o produto certo, em contraposição à verificação, que confere se o produto foi construído corretamente conforme a especificação.

O teste de software é uma atividade crítica da engenharia de software, permeando todo o ciclo de desenvolvimento. Ele se relaciona diretamente com os conceitos de verificação e validação. A verificação responde à pergunta: "estamos construindo o produto corretamente?", ou seja, o software está de acordo com os requisitos especificados? Já a validação responde à pergunta: "estamos construindo o produto certo?", ou seja, o software atende às reais necessidades e expectativas do cliente? O teste de aceitação é o nível de teste que materializa a validação, pois é executado pelo cliente ou usuário final para confirmar se o sistema está apto a ser colocado em produção e se entrega o valor esperado.

Os testes de software são tradicionalmente classificados em níveis, que indicam a abrangência do que está sendo testado. Os quatro níveis clássicos são: teste de unidade, teste de integração, teste de sistema e teste de aceitação. Cada nível tem um objetivo específico e ocorre em uma fase distinta do desenvolvimento. O teste de unidade verifica a menor parte testável do software (funções, métodos, classes), geralmente isolada. O teste de integração verifica a interação entre módulos, buscando falhas nas interfaces. O teste de sistema avalia o software como um todo, exercitando completamente o sistema para verificar se atende aos requisitos funcionais e não funcionais. Por fim, o teste de aceitação é o último nível, realizado pelo cliente ou usuário final, para validar se o sistema atende às suas necessidades e se está pronto para uso em produção.

É fundamental distinguir os níveis de teste das técnicas de teste. Enquanto os níveis indicam o tamanho do que se testa (unidade, módulo, sistema), as técnicas indicam como o teste é conduzido, principalmente se o testador enxerga ou não o código interno. As técnicas clássicas são caixa-preta (black box), caixa-branca (white box) e caixa-cinza (gray box). O teste de aceitação é um nível de teste que, em geral, utiliza a técnica de caixa-preta, pois o cliente não tem acesso ao código-fonte e avalia o sistema apenas por suas entradas e saídas, ou seja, pelo comportamento observável. Essa distinção é crucial para não confundir os conceitos em provas.

A banca explora exatamente essa confusão entre níveis e tipos de teste. Nesta questão, as alternativas misturam conceitos de diferentes naturezas: "Validação de Estilo" e "Análise de Risco" não são processos de teste de software; "Teste de Estresse" é um tipo específico de teste de desempenho; "Teste de Regressão" é um tipo de teste que verifica se alterações não introduziram novos defeitos. Apenas o "Teste de Aceitação" é um nível de teste cujo objetivo é verificar se o sistema produz o resultado desejado, validando-o junto ao cliente. Guarde essa fronteira: o teste de aceitação é a validação final, feita pelo cliente, para confirmar que o produto atende às suas expectativas.

1Validação
Produto certo
Atende ao cliente/usuário
2Nível de teste
Último nível
Realizado pelo cliente
3Técnica
Caixa-preta
Teste de aceitação
LEVELsoulevel.com.br
Teste de aceitação: Validação (Produto certo, Atende ao cliente/usuário); Nível de teste (Último nível, Realizado pelo cliente); Técnica (Caixa-preta)

Alternativa A — ❌ Incorreta

"Validação de Estilo" não é um processo de teste/validação de sistemas reconhecido na engenharia de software. Não existe um nível ou tipo de teste com essa denominação. O termo "validação" em si é um conceito amplo, mas "validação de estilo" não corresponde a nenhuma prática de teste estabelecida. A banca cria um distrator com um nome que parece plausível, mas que não tem fundamento técnico.

Alternativa B — ❌ Incorreta

O teste de estresse é um tipo específico de teste de desempenho, cujo objetivo é avaliar o comportamento do sistema sob condições extremas de carga, como um número elevado de usuários simultâneos ou volume de dados além do esperado. Ele busca identificar o ponto de saturação do sistema e verificar se ele se recupera adequadamente após a sobrecarga. Não é o processo que verifica se o sistema produz o resultado desejado, mas sim se ele mantém seu desempenho sob pressão.

Alternativa C — ❌ Incorreta

O teste de regressão tem como finalidade reexecutar testes já aplicados em versões anteriores do software, após uma modificação, para garantir que as alterações não introduziram novos defeitos em componentes que já funcionavam corretamente. Ele é essencial para assegurar que uma correção ou melhoria não quebrou funcionalidades existentes. Não é o processo que verifica se o sistema produz o resultado desejado, mas sim se as mudanças não causaram regressões.

Alternativa D — ❌ Incorreta

A análise de risco não é um processo de teste de software, mas sim uma atividade de gerenciamento de projetos que identifica, avalia e prioriza riscos que podem afetar o sucesso do projeto. Ela pode influenciar o planejamento dos testes, direcionando esforços para áreas de maior risco, mas não é um processo de teste em si. Não verifica se o sistema produz o resultado desejado.

Alternativa E — ✅ Correta ⟵ GABARITO

O teste de aceitação é o nível de teste realizado pelo cliente ou usuário final para validar se o sistema atende às suas necessidades e expectativas, ou seja, se produz o resultado desejado. Ele é a materialização do conceito de validação: confirmar que foi construído o produto certo. Esse teste ocorre após o teste de sistema e antes da liberação do software para produção, sendo o último filtro de qualidade sob a ótica do usuário. É exatamente o processo descrito no enunciado.

PEGA ESSA DICA!

Para diferenciar os níveis de teste, lembre-se da abrangência: unidade (menor parte), integração (interação entre módulos), sistema (software completo) e aceitação (validação pelo cliente). Já os tipos de teste (estresse, regressão, segurança, desempenho) indicam o aspecto específico que está sendo avaliado. Na prova, identifique se a questão fala do tamanho do que se testa (nível) ou do objetivo específico (tipo).

Gabarito: letra E

Link permanente: /questoes/qa541247