Questão de Engenharia de Software — Teste de Software — INSTITUTO AOCP 2024
Engenharia de Software›Teste 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.
AV – V – F – V – F.
BF – V – F – V – F.
CF – F – F – V – F.
DV – F – V – F – V.
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.