Pular para o conteúdo principal

Questão de Engenharia de Software — Teste de Software — FGV 2026

Engenharia de SoftwareTeste de Software
Código
gp044415
Banca
FGV
Órgão
TJ-SC
Ano
2026
Cargo
Analista de Sistemas
Um analista de testes precisa conduzir uma bateria de testes emum novo sistema do Tribunal de Justiça de Santa Catarina. Paraisso, ele deve conhecer os diferentes níveis de testes, seusobjetivos e os profissionais normalmente envolvidos em cada nívelde sua execução. Associe os níveis de teste às respectivas características. 1. Teste deintegração. 2. Testeunitário. 3. Teste desistema. ( ) O ideal é que seja conduzido pelospróprios desenvolvedores, para preveniro aparecimento de falhas logo no início. ( ) Avalia o comportamento do softwarecomo um todo, agindo sobre todas ascamadas de forma unificada. ( ) Foca nas interfaces de comunicação e natroca de informações entre as partesinternas ou com APIs externas. ( ) Recomenda-se que seja executado poruma equipe de testes independente, enão pelos desenvolvedores, para evitartestes "viciados" que mascarem falhas. Assinale a opção que indica a relação correta, na ordemapresentada.
  1. A2 – 1 – 1 – 3.
  2. B1 – 3 – 2 – 2.
  3. C2 – 3 – 1 – 3.
  4. D3 – 2 – 3 – 1.
  5. E3 – 2 – 1 – 1.
Revelar gabarito e comentário

GabaritoC — 2 – 3 – 1 – 3.

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”.

Níveis de Teste de Software

Gabarito: letra C — a sequência correta é 2 – 3 – 1 – 3. O teste unitário é conduzido pelos desenvolvedores para prevenir falhas logo no início; o teste de sistema avalia o software como um todo; o teste de integração foca nas interfaces de comunicação; e o teste de sistema deve ser executado por uma equipe independente para evitar testes "viciados". Essa associação reflete os conceitos clássicos de níveis de teste da Engenharia de Software.

Os níveis de teste organizam a atividade de testar em camadas de abrangência crescente, cada uma com objetivos, escopo e responsáveis distintos. Compreender essa hierarquia é essencial para planejar uma estratégia de testes eficaz, pois cada nível responde a uma pergunta diferente sobre a qualidade do software.

Teste unitário é o nível mais granular: testa a menor unidade do software, como uma função, método ou classe, isoladamente. O objetivo é verificar se essa unidade se comporta conforme o esperado, prevenindo falhas logo no início do desenvolvimento. Por isso, é conduzido pelos próprios desenvolvedores, que conhecem o código e podem corrigir defeitos imediatamente.

Teste de integração verifica se as unidades que já passaram no teste unitário funcionam corretamente quando combinadas. O foco está nas interfaces de comunicação e na troca de informações entre as partes internas do sistema ou com APIs externas. O objetivo é descobrir erros de integração, como incompatibilidade de dados, chamadas incorretas ou problemas de sequenciamento.

Teste de sistema avalia o comportamento do software como um todo, agindo sobre todas as camadas de forma unificada. O objetivo é verificar se o sistema completo atende aos requisitos funcionais e não funcionais especificados. Recomenda-se que seja executado por uma equipe de testes independente, e não pelos desenvolvedores, para evitar testes "viciados" que mascarem falhas — a independência garante uma visão imparcial e mais próxima do usuário final.

A distinção entre os níveis é fundamental: enquanto o teste unitário foca no "menor pedaço", o teste de integração foca nas "conexões" e o teste de sistema foca no "todo". A pegadinha da banca está em associar o teste de sistema à equipe independente, pois muitos candidatos confundem com o teste de aceitação, que também é executado por uma equipe externa, mas com foco na validação junto ao cliente.

Guarde a tríade: unidade = desenvolvedor, integração = interfaces, sistema = todo + equipe independente. É exatamente nessa fronteira que as alternativas se dividem.

Nível de teste

Escopo

Objetivo

Responsável

Unitário

Menor unidade (função, método, classe)

Prevenir falhas logo no início

Desenvolvedores

Integração

Interfaces e troca de informações entre módulos/APIs

Descobrir erros de integração

Desenvolvedores

Sistema

Software como um todo, todas as camadas

Verificar requisitos funcionais e não funcionais

Equipe de testes independente

Alternativa A — ❌ Incorreta

A sequência 2 – 1 – 1 – 3 associa o teste de integração à avaliação do software como um todo, o que é incorreto. O teste de sistema é que avalia o comportamento global; o teste de integração foca nas interfaces entre módulos. A alternativa também repete o teste de integração na terceira posição, quando deveria ser o teste de sistema.

Alternativa B — ❌ Incorreta

A sequência 1 – 3 – 2 – 2 associa o teste de integração à prevenção de falhas logo no início, o que é característica do teste unitário. Além disso, repete o teste unitário na quarta posição, quando a recomendação de equipe independente se aplica ao teste de sistema.

Alternativa C — ✅ Correta ⟵ GABARITO

A sequência 2 – 3 – 1 – 3 associa corretamente: teste unitário (2) à prevenção de falhas pelos desenvolvedores; teste de sistema (3) à avaliação do software como um todo; teste de integração (1) ao foco nas interfaces; e teste de sistema (3) à recomendação de equipe independente. Cada característica foi corretamente vinculada ao nível de teste correspondente.

Alternativa D — ❌ Incorreta

A sequência 3 – 2 – 3 – 1 associa o teste de sistema à prevenção de falhas pelos desenvolvedores, o que é característica do teste unitário. Também associa o teste unitário à avaliação do software como um todo, invertendo os papéis.

Alternativa E — ❌ Incorreta

A sequência 3 – 2 – 1 – 1 associa o teste de sistema à prevenção de falhas pelos desenvolvedores, o que é característica do teste unitário. Além disso, repete o teste de integração na quarta posição, quando a recomendação de equipe independente se aplica ao teste de sistema.

NÃO CAIA NESSA!

A banca explora a confusão entre os níveis de teste, especialmente entre o teste de sistema e o teste de aceitação. Muitos candidatos associam a equipe independente ao teste de aceitação, mas a questão deixa claro que a independência é recomendada para o teste de sistema, para evitar que os desenvolvedores mascarem falhas. Fique atento: o teste de sistema é a última barreira antes da entrega, e a imparcialidade é crucial.

PEGA ESSA DICA!

Para resolver questões de associação de níveis de teste, monte um mapa mental: unitário (desenvolvedor, menor unidade), integração (interfaces, comunicação entre módulos), sistema (todo, equipe independente) e aceitação (cliente, validação). Essa estrutura fixa os conceitos e evita confusões na hora da prova.

Gabarito: letra C

Link permanente: /questoes/gp044415