Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos e Tipos de Testes de Software — FUNDATEC 2023

Engenharia de SoftwareConceitos e Tipos de Testes de Software
Código
qa541357
Banca
FUNDATEC
Órgão
IFC
Ano
2023
Cargo
PEBTT ( )
Os testes ______ têm como objetivo aferir o comportamento de sistemas e módulos distintos; por sua vez, os testes _____ focam nos métodos, funções de uma classe de um único sistema; os testes ____ identificam as vulnerabilidades do sistema, por fim, os testes _____ têm o propósito de garantir que as mudanças realizadas em uma nova versão da aplicação não gerem erros em componentes prontos e já testados.   Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
  1. Aunitários – integração – segurança – regressão
  2. Bintegração – unitários – segurança – regressão
  3. Cregressão – segurança – unitários – integração
  4. Dsegurança – unitários – performance – regressão
  5. Eintegração – unitários – segurança – performance
Revelar gabarito e comentário

GabaritoB — integração – unitários – segurança – regressão

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

Testes de Software: Níveis e Tipos

Gabarito: letra B. A sequência correta é: testes de integração (verificam o comportamento de sistemas e módulos distintos), testes unitários (focam nos métodos e funções de uma classe de um único sistema), testes de segurança (identificam vulnerabilidades) e testes de regressão (garantem que mudanças não gerem erros em componentes já testados). A questão cobra a distinção entre os níveis de teste (unidade, integração, sistema) e os tipos de teste (segurança, regressão, performance), que são conceitos fundamentais da Engenharia de Software.

Os testes de software são classificados de várias formas, e a banca explora exatamente essa classificação. Primeiro, temos os níveis de teste, que indicam a abrangência do que está sendo testado: o teste unitário (ou de unidade) verifica a menor parte testável do software, como um método ou função de uma classe; o teste de integração verifica a interação entre módulos ou sistemas distintos, buscando erros nas interfaces; o teste de sistema verifica o sistema completo; e o teste de aceitação verifica se o sistema atende aos requisitos do usuário. Por outro lado, temos os tipos de teste, que indicam o objetivo específico: o teste de segurança busca identificar vulnerabilidades; o teste de regressão reexecuta testes antigos para garantir que mudanças não introduziram novos defeitos; o teste de performance avalia o comportamento do sistema sob condições de carga; e o teste de usabilidade avalia a facilidade de uso.

A pegadinha da questão está em misturar níveis e tipos de teste. O candidato que não domina a diferença entre eles pode confundir, por exemplo, o teste de integração com o teste de sistema, ou o teste de segurança com o teste de performance. A banca também explora a ordem das lacunas, exigindo que o candidato conheça a definição de cada um para preencher corretamente. É fundamental entender que o teste de integração é um nível de teste que verifica a interação entre módulos, enquanto o teste de segurança é um tipo de teste que busca vulnerabilidades. O teste de regressão, por sua vez, é um tipo de teste que pode ser aplicado em qualquer nível, mas seu objetivo específico é garantir que mudanças não quebrem funcionalidades existentes.

Para acertar a questão, o candidato deve identificar cada definição e associá-la ao termo correto. A primeira lacuna fala em "comportamento de sistemas e módulos distintos", o que remete diretamente ao teste de integração. A segunda lacuna fala em "métodos, funções de uma classe de um único sistema", o que é a definição clássica do teste unitário. A terceira lacuna fala em "identificar vulnerabilidades", que é o objetivo do teste de segurança. E a quarta lacuna fala em "garantir que as mudanças não gerem erros em componentes prontos", que é a definição do teste de regressão. A única alternativa que preenche todas as lacunas corretamente é a letra B.

Tipo de Teste

Objetivo Principal

Nível/Âmbito

Integração

Aferir o comportamento de sistemas e módulos distintos

Interação entre módulos/sistemas

Unitário

Focar nos métodos e funções de uma classe de um único sistema

Menor unidade testável (método/função)

Segurança

Identificar vulnerabilidades do sistema

Sistema (tipo de teste)

Regressão

Garantir que mudanças em nova versão não gerem erros em componentes prontos e já testados

Qualquer nível (tipo de teste)

Testes de software
  • 1Níveis (abrangência)
    • Unitário
      • métodos e funções de uma classe
    • Integração
      • interação entre módulos/sistemas
    • Sistema
      • sistema completo
    • Aceitação
      • requisitos do usuário
  • 2Tipos (objetivo)
    • Segurança
      • identificar vulnerabilidades
    • Regressão
      • mudanças não geram novos defeitos
    • Performance
      • comportamento sob carga
    • Usabilidade
      • facilidade de uso
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Inverte a ordem dos dois primeiros testes. A alternativa coloca "unitários" antes de "integração", mas a primeira lacuna fala em "sistemas e módulos distintos", o que é característica do teste de integração, não do unitário. O teste unitário foca em métodos e funções de uma única classe, como descrito na segunda lacuna.

Alternativa B — ✅ Correta ⟵ GABARITO

Preenche corretamente todas as lacunas: integração (comportamento de sistemas e módulos distintos), unitários (métodos e funções de uma classe), segurança (identificar vulnerabilidades) e regressão (garantir que mudanças não gerem erros em componentes já testados). A sequência está perfeitamente alinhada com as definições clássicas da Engenharia de Software.

Alternativa C — ❌ Incorreta

Apresenta uma sequência completamente invertida. Coloca "regressão" na primeira lacuna, mas o teste de regressão não tem como objetivo aferir o comportamento de sistemas e módulos distintos; esse é o papel do teste de integração. Além disso, coloca "segurança" na segunda lacuna, mas o teste de segurança não foca em métodos e funções de uma classe; esse é o papel do teste unitário.

Alternativa D — ❌ Incorreta

Erra na primeira e na terceira lacunas. Coloca "segurança" na primeira lacuna, mas o teste de segurança não tem como objetivo aferir o comportamento de sistemas e módulos distintos; esse é o papel do teste de integração. Além disso, troca "segurança" por "performance" na terceira lacuna, mas o teste de performance não identifica vulnerabilidades; esse é o papel do teste de segurança.

Alternativa E — ❌ Incorreta

Erra apenas na última lacuna. As três primeiras estão corretas (integração, unitários, segurança), mas a última lacuna pede o teste que garante que mudanças não gerem erros em componentes já testados, que é o teste de regressão, não o de performance. O teste de performance avalia o comportamento do sistema sob condições de carga, não a ausência de novos defeitos após mudanças.

Gabarito: letra B

Link permanente: /questoes/qa541357