Pular para o conteúdo principal

Questão de Engenharia de Software — Teste de Software — FCC 2015

Engenharia de SoftwareTeste de Software
Código
fc026366
Banca
FCC
Órgão
TRT - 4ª REGIÃO (RS)
Ano
2015
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
Testes servem para assegurar que o software está contemplando todas as funcionalidades esperadas e que estas funcionalidades estão funcionando corretamente. Os
  1. Atestes são sempre usados para mostrar que o software não tem nenhuma falha.
  2. Btestes sempre verificam todas as possibilidades de entradas.
  3. Ctestes devem ser realizados somente pelo programador que escreveu o código-fonte.
  4. Dcasos de teste devem ser escritos para entradas esperadas bem como para não esperadas.
  5. Etestes devem ser executados somente no final do processo de desenvolvimento.
Revelar gabarito e comentário

GabaritoD — casos de teste devem ser escritos para entradas esperadas bem como para não esperadas.

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 Software – Princípios Gerais

Gabarito: letra D. Casos de teste devem abranger tanto entradas esperadas (válidas) quanto não esperadas (inválidas), princípio fundamental do teste de software (Myers, The Art of Software Testing). As demais alternativas violam conceitos básicos: teste não prova ausência de falhas, não é exaustivo, não deve ser restrito ao programador original e não se limita ao final do desenvolvimento.

Alternativa

Afirmação

Análise

Status

A

Testes sempre mostram que o software não tem falhas

Testes revelam defeitos, mas não provam ausência de falhas

❌ Incorreta

B

Testes sempre verificam todas as possibilidades de entrada

Teste exaustivo é inviável na prática

❌ Incorreta

C

Testes devem ser realizados somente pelo programador original

Independência de teste é recomendada para evitar viés

❌ Incorreta

D

Casos de teste devem ser escritos para entradas esperadas e não esperadas

Princípio fundamental: testar entradas válidas e inválidas para verificar robustez

✅ Correta

E

Testes devem ser executados somente no final do desenvolvimento

Testes devem ocorrer ao longo de todo o ciclo de vida

❌ Incorreta

Alternativa A — ❌ Incorreta

Afirma que testes sempre mostram que o software não tem falhas. Na verdade, testes podem revelar a presença de defeitos, mas nunca provar sua ausência. Teste bem-sucedido é aquele que encontra erros; um teste que não encontra erros não garante que o software está livre deles.

Alternativa B — ❌ Incorreta

Afirma que testes sempre verificam todas as possibilidades de entrada. Isso é inviável na prática (teste exaustivo é impossível para sistemas reais). A seleção de casos de teste busca cobrir um conjunto representativo, não todas as combinações possíveis.

Alternativa C — ❌ Incorreta

Afirma que testes devem ser realizados somente pelo programador que escreveu o código. A independência de teste é recomendada: testadores diferentes do desenvolvedor tendem a encontrar mais defeitos, pois não têm o viés de quem construiu o código.

Alternativa D — ✅ Correta ⟵ GABARITO

Correta. Além de testar entradas esperadas (que validam o funcionamento normal), é essencial testar entradas não esperadas ou inválidas para verificar a robustez do software (tratamento de exceções, limites, dados incorretos). Isso está alinhado com os princípios de Myers e boas práticas de teste.

Alternativa E — ❌ Incorreta

Afirma que testes devem ser executados somente no final do desenvolvimento. Na realidade, os testes devem ocorrer ao longo de todo o ciclo de vida (testes unitários, de integração, de sistema, de aceitação), seguindo modelos como o V-Model ou práticas ágeis de integração contínua. Atrasar testes aumenta o custo de correção.

Gabarito: letra D.

Link permanente: /questoes/fc026366