Questão de Engenharia de Software — Teste de Software — FUNDATEC 2025
- Código
- qg473667
- Banca
- FUNDATEC
- Órgão
- IF Sul - MG
- Ano
- 2025
- Nível
- Superior
- Cargo
- PEBTT - Informática
- ADivergência.
- BInconsistência.
- CErro.
- DDefeito.
- EFalha.
GabaritoE — Falha.
Gabarito: letra E — Falha. A diferença entre o resultado esperado (15) e o obtido (5), observada durante a execução do teste, caracteriza uma falha (failure), que é a manifestação externa de um defeito no código. O programador cometeu um erro (engano humano ao escrever - no lugar de +), que introduziu um defeito no código (instrução incorreta), e ao executar o teste, o defeito se manifestou como uma falha (comportamento observado incorreto). Como a pergunta foca no "comportamento incorreto, observado na função durante sua execução", a classificação correta é falha.
A banca explora a confusão entre os conceitos de erro, defeito e falha. Muitos candidatos confundem "erro" (ação humana) com "falha" (resultado observado). O enunciado descreve explicitamente a execução que gerou o resultado incorreto — isso é falha, não erro nem defeito. Atenção à hierarquia: Erro (humano) → Defeito (no código) → Falha (em execução).
Divergência não é um termo técnico clássico na terminologia de teste de software. Embora possa ser usado informalmente para descrever a diferença entre resultados, a nomenclatura padrão (IEEE 610) distingue claramente erro, defeito e falha. Divergência não é a classificação correta para o comportamento observado.
Inconsistência refere-se a uma falta de conformidade com a especificação ou com o comportamento esperado, mas não é o termo específico para a manifestação observada de um defeito. É um conceito mais genérico, não padronizado como falha.
Erro (error) é o engano cometido pelo ser humano (programador, analista). No exemplo, o programador errou ao escrever a - b em vez de a + b. O erro é a causa, não o efeito observado na execução. A questão pede a classificação do "comportamento incorreto observado", que é a consequência, não a causa.
Defeito (defect) é a imperfeição no código ou no sistema resultante de um erro. No caso, a instrução return a - b; é o defeito. Ele está estático no código. Porém, a questão descreve a diferença observada durante a execução — isso é a manifestação dinâmica do defeito, ou seja, a falha.
Falha (failure) é a incapacidade do sistema de executar uma função requerida dentro dos requisitos especificados, manifestada durante a execução. O resultado obtido (5) diverge do esperado (15) exatamente por causa do defeito no código. O enunciado frisa "comportamento incorreto, observado na função durante sua execução", o que se encaixa perfeitamente na definição de falha.
Lembre-se da cadeia: Erro (humano) → Defeito (código) → Falha (execução). A questão sempre pergunta pela etapa que está sendo descrita: se é o engano, é erro; se é a linha errada, é defeito; se é o resultado errado ao rodar, é falha. Treine essa distinção com exemplos.
Gabarito: letra E — Falha.
Link permanente: /questoes/qg473667