Questão de Engenharia de Software — Teste de Software — FGV 2024
Engenharia de Software›Teste de Software
Código
fg085515
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Júnior I - Desenvolvimento de Software para Operação de Satélites
Os testes de regressão verificam se há efeitos indesejados nas alterações no software. Uma estratégia consiste em retestar tudo, isto é, reaplicar todos os casos de teste projetados para versões anteriores. Pode-se também utilizar técnicas seletivas, de forma que somente são reexecutados os casos de testes que tenham relação com as alterações realizadas. A seleção pode ser baseada no código, que escolhe casos de teste que exercitam uma porção do código modificado, ou baseada na especificação, que escolhe casos de teste exercitam a parte da especificação que foi alterada. Neste contexto, qual das considerações abaixo é verdadeira:
AA técnica retesta tudo é mais simples de ser realizada e tem o mesmo custo de execução das técnicas seletivas.
BAs técnicas seletivas são mais custosas, pois podem reexecutar casos de teste que não podem mais ser executados na nova versão.
CAs técnicas seletivas com base na especificação somente executam testes desnecessários, pois as modificações sempre ocorrem no código.
DAs técnicas seletivas baseadas no código são mais fáceis de automatizar, pois ferramentas de análise de cobertura ajudam a determinar quais casos de teste devem ser selecionados.
EAs técnicas seletivas são intrinsecamente manuais, enquanto a técnica de retestar tudo é fácil de automatiza, pois basta reexecutar todos os testes.
Revelar gabarito e comentário▾
GabaritoD — As técnicas seletivas baseadas no código são mais fáceis de automatizar, pois ferramentas de análise de cobertura ajudam a determinar quais casos de teste devem ser selecionados.
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 Regressão: Retestar Tudo vs. Técnicas Seletivas
Gabarito: letra D. A afirmação verdadeira é que as técnicas seletivas baseadas no código são mais fáceis de automatizar, pois ferramentas de análise de cobertura auxiliam na seleção dos casos de teste relevantes. As demais alternativas contêm erros conceituais ou de custo.
A questão aborda as estratégias de teste de regressão, que visam garantir que alterações no software não introduzam novos defeitos. Existem duas abordagens principais: retestar tudo (executar todos os casos de teste anteriores) e técnicas seletivas (executar apenas os testes relacionados às mudanças). A seleção pode ser baseada no código ou na especificação.
Estratégia de Teste de Regressão
Descrição
Custo de Execução
Facilidade de Automação
Base de Seleção
Retestar Tudo
Reaplica todos os casos de teste de versões anteriores
Alto (executa todos os testes)
Fácil (basta reexecutar todos)
Nenhuma (não seletiva)
Seletiva Baseada no Código
Executa apenas testes que exercitam código modificado
Menor (executa menos testes)
Fácil (ferramentas de cobertura auxiliam)
Código modificado
Seletiva Baseada na Especificação
Executa apenas testes que exercitam especificação alterada
Menor (executa menos testes)
Pode ser mais complexa (depende de rastreabilidade)
Especificação alterada
Teste de regressão
1Retestar tudo
Simples
Maior custo de execução
2Técnicas seletivas
Baseada no código
Fácil automatizar (cobertura)
Baseada na especificação
Relevante se especificação mudou
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que retestar tudo é mais simples e tem o mesmo custo que as seletivas. Na prática, retestar tudo tem maior custo de execução, pois executa todos os testes, enquanto as seletivas reduzem o número de testes. Portanto, o custo não é o mesmo.
Alternativa B — ❌ Incorreta
Diz que as técnicas seletivas são mais custosas porque podem reexecutar testes que não podem mais ser executados na nova versão. Isso é contraditório: as seletivas são menos custosas justamente por executarem menos testes. Além disso, a impossibilidade de executar um teste na nova versão não é uma característica típica das técnicas seletivas.
Alternativa C — ❌ Incorreta
Alega que as técnicas seletivas baseadas na especificação executam testes desnecessários, pois as modificações sempre ocorrem no código. Isso é falso: modificações podem ocorrer tanto no código quanto na especificação. Testes baseados na especificação são relevantes quando a especificação é alterada.
Alternativa D — ✅ Correta ⟵ GABARITO
Afirma que as técnicas seletivas baseadas no código são mais fáceis de automatizar porque ferramentas de análise de cobertura ajudam a determinar quais casos de teste devem ser selecionados. De fato, ferramentas de cobertura de código podem identificar quais testes exercitam as partes modificadas, permitindo automação eficiente da seleção.
Alternativa E — ❌ Incorreta
Sustenta que as técnicas seletivas são intrinsecamente manuais, enquanto retestar tudo é fácil de automatizar. Ambas as abordagens podem ser automatizadas: retestar tudo é trivial, mas as seletivas também são automatizáveis com ferramentas adequadas (como as de análise de cobertura).
PEGA ESSA DICA!
Em questões sobre teste de regressão, lembre-se: retestar tudo é simples, mas caro; técnicas seletivas são mais eficientes e podem ser automatizadas com ferramentas de cobertura. Identifique sempre se a afirmação trata de custo, automação ou base de seleção.