Pular para o conteúdo principal

Questão de Engenharia de Software — Teste de Software — INSTITUTO AOCP 2024

Engenharia de SoftwareTeste de Software
Código
qg263143
Banca
INSTITUTO AOCP
Órgão
UFS
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Classe E
A respeito do teste unitário de software, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.


( ) O teste unitário foca em validar cada componente individualmente.

( ) O teste unitário é geralmente realizado pelos usuários finais.

( ) O teste unitário é rápido de ser executado.

( ) O teste unitário verifica a interação entre diferentes módulos do software.

( ) O teste unitário pode usar frameworks específicos, como JUnit para Java. 
  1. AV – V – F – V – F.
  2. BF – V – F – V – F.
  3. CF – F – F – V – F.
  4. DV – F – V – F – V.
  5. EV – V – V – F – F.
Revelar gabarito e comentário

GabaritoD — V – F – V – F – V.

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 Unitário de Software

Gabarito: letra D. A sequência correta é V – F – V – F – V: o teste unitário valida cada componente individualmente (verdadeiro), não é realizado por usuários finais (falso), é rápido de executar (verdadeiro), não verifica a interação entre módulos (falso) e pode usar frameworks como JUnit (verdadeiro). A banca explora a confusão entre os níveis de teste — unitário, integração, sistema e aceitação — e é exatamente nessa fronteira que as alternativas se dividem.

O teste unitário, também chamado de teste de componente ou de módulo, é o nível mais baixo da hierarquia de testes. Ele foca em validar a menor unidade de código do software — um método, uma classe, uma função — de forma isolada, sem depender de outros componentes. O objetivo é verificar se aquela unidade específica se comporta conforme o esperado, antes de ser integrada ao restante do sistema. Por isso, é um teste rápido de executar: como não precisa subir o sistema inteiro nem acessar bancos de dados ou serviços externos, a execução é quase imediata, o que permite rodá-lo com frequência — inclusive a cada alteração no código.

A hierarquia dos níveis de teste é um dos pontos mais cobrados em concursos. Veja como cada nível se posiciona:

Nível

O que testa

Quem executa

Velocidade

Unitário

Componentes/módulos isolados (métodos, classes)

Desenvolvedores

Rápida

Integração

Interação entre módulos e interfaces

Desenvolvedores

Média

Sistema

O sistema completo, como um todo

Equipe de testes

Lenta

Aceitação

Se o sistema atende aos requisitos do cliente

Usuários finais

Lenta

A pegadinha clássica da banca é inverter as características entre os níveis: dizer que o teste unitário é feito por usuários finais (isso é do teste de aceitação) ou que ele verifica a interação entre módulos (isso é do teste de integração). O teste unitário é essencialmente técnico, executado por quem desenvolve o código, e não envolve a interação entre componentes — essa é a função do nível seguinte.

Na prática, frameworks como JUnit (para Java), NUnit (para .NET) e pytest (para Python) automatizam a execução dos testes unitários, permitindo que sejam rodados de forma rápida e repetida. Esses frameworks fornecem anotações, asserções e relatórios que facilitam a escrita e a verificação dos testes.

Guarde a fronteira entre os níveis: unitário = componente isolado; integração = interação entre componentes; sistema = sistema completo; aceitação = validação com o usuário. É exatamente nessa fronteira que as alternativas se dividem.

Alternativa A — ❌ Incorreta

A sequência V – V – F – V – F erra ao afirmar que o teste unitário é realizado por usuários finais (segunda afirmação). Usuários finais participam do teste de aceitação, não do teste unitário. Além disso, a quarta afirmação (verdadeira na alternativa) diz que o teste unitário verifica a interação entre módulos — isso é característica do teste de integração, não do unitário. A alternativa também marca como falsa a afirmação sobre frameworks como JUnit, que é verdadeira.

Alternativa B — ❌ Incorreta

A sequência F – V – F – V – F erra ao afirmar que o teste unitário não valida cada componente individualmente (primeira afirmação falsa). Essa é a definição central do teste unitário. Também erra ao dizer que é realizado por usuários finais (segunda afirmação verdadeira) e que verifica a interação entre módulos (quarta afirmação verdadeira). A afirmação sobre frameworks JUnit é marcada como falsa, mas é verdadeira.

Alternativa C — ❌ Incorreta

A sequência F – F – F – V – F erra ao afirmar que o teste unitário não valida cada componente individualmente (primeira afirmação falsa) e que não é rápido de executar (terceira afirmação falsa). O teste unitário é rápido justamente por testar unidades isoladas. A quarta afirmação (verdadeira na alternativa) sobre verificar interação entre módulos é do teste de integração, não do unitário. A afirmação sobre frameworks JUnit é marcada como falsa, mas é verdadeira.

Alternativa D — ✅ Correta ⟵ GABARITO

A sequência V – F – V – F – V está correta: o teste unitário valida cada componente individualmente (verdadeiro), não é realizado por usuários finais (falso), é rápido de executar (verdadeiro), não verifica a interação entre módulos (falso) e pode usar frameworks como JUnit (verdadeiro). Cada afirmação reflete exatamente as características do teste unitário, sem confundi-lo com os outros níveis.

Alternativa E — ❌ Incorreta

A sequência V – V – V – F – F erra ao afirmar que o teste unitário é realizado por usuários finais (segunda afirmação verdadeira). Isso é do teste de aceitação. Também erra ao marcar como falsa a afirmação sobre frameworks como JUnit (quinta afirmação falsa), que é verdadeira. As demais afirmações (primeira e terceira verdadeiras, quarta falsa) estão corretas, mas a sequência como um todo não corresponde à realidade.

NÃO CAIA NESSA!

A banca adora inverter as características entre os níveis de teste. Nesta questão, a armadilha está em atribuir ao teste unitário o que é do teste de integração (verificar interação entre módulos) e do teste de aceitação (ser realizado por usuários finais). Fique atento: unitário = componente isolado, integração = interação, aceitação = usuário final. Com treino, você enxerga essas trocas de longe 💪

PEGA ESSA DICA!

Para questões de sequência V/F sobre níveis de teste, monte mentalmente a tabela comparativa: para cada nível, pergunte "o que testa?", "quem executa?" e "qual a velocidade?". Se a afirmação não bater com a definição do nível, é falsa. Essa técnica resolve a maioria das questões do tema.

Gabarito: letra D

Link permanente: /questoes/qg263143