Pular para o conteúdo principal

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

Engenharia de SoftwareConceitos e Tipos de Testes de Software
Código
vu196436
Banca
VUNESP
Órgão
Pref Pindamonhangaba
Ano
2023
Cargo
WDes (Pref Pinda)

Dentre as técnicas para aplicação de testes de software, destacam-se os denominados testes de caixa branca e de caixa preta, sobre os quais é correto afirmar que o teste de caixa

  1. Apreta necessita ser documentado, tendo em vista sua natureza experimental.
  2. Bbranca deve ser executado em um ambiente de simulação que utilize um simulador certificado pela autoridade competente.
  3. Cpreta não pode ser acompanhado pelos futuros usuários finais do sistema que conterá o software sob teste.
  4. Dpreta não tem como objetivo examinar ou testar a estrutura interna lógica do software.
  5. Ebranca deve ser conduzido exclusivamente pela equipe que desenvolveu o software.
Revelar gabarito e comentário

GabaritoD — preta não tem como objetivo examinar ou testar a estrutura interna lógica do software.

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 caixa branca e caixa preta

Gabarito: letra D. O teste de caixa preta (black-box) trata o software como uma "caixa fechada": o testador conhece apenas as entradas e saídas esperadas, sem qualquer conhecimento da estrutura interna, do código-fonte ou da lógica de implementação. É exatamente isso que a alternativa D afirma — e é o conceito central que separa as duas técnicas.

O teste de caixa preta é uma técnica de teste funcional, também chamada de teste comportamental. O foco está no que o software faz (funcionalidade), não em como ele faz. O testador elabora casos de teste a partir da especificação de requisitos, das regras de negócio e dos documentos de análise, fornecendo entradas válidas e inválidas e verificando se as saídas correspondem ao esperado. Não há, em nenhum momento, a intenção de examinar o código-fonte, a estrutura de dados, os algoritmos ou a arquitetura interna — isso é território exclusivo do teste de caixa branca.

O teste de caixa branca (white-box), por outro lado, é a técnica estrutural: o testador tem acesso total ao código-fonte e projeta os casos de teste com base na lógica interna do programa. O objetivo é exercitar caminhos, decisões, condições e loops, garantindo que cada linha de código seja executada pelo menos uma vez (cobertura de código). Enquanto a caixa preta responde "o sistema faz o que deveria fazer?", a caixa branca responde "o código está correto e completo internamente?".

A distinção entre as duas técnicas é um dos pontos mais cobrados em concursos de Engenharia de Software, e a banca explora exatamente a confusão entre "o que o software faz" e "como o software é construído".

PEGA ESSA DICA!

Para não errar, memorize o par de palavras-chave: caixa preta = funcional / comportamento / entradas e saídas / sem código; caixa branca = estrutural / código-fonte / lógica interna / cobertura. Quando a questão falar em "especificação de requisitos", "regras de negócio" ou "funcionalidade", pense em caixa preta; quando falar em "código", "fluxo", "condições" ou "estrutura", pense em caixa branca.

Critério

Teste de Caixa Preta

Teste de Caixa Branca

Foco

Funcionalidade / comportamento

Estrutura interna / lógica

Conhecimento do código

Nenhum (caixa fechada)

Total (acesso ao código-fonte)

Base dos casos de teste

Especificação de requisitos, regras de negócio

Código-fonte, fluxos, condições, loops

Pergunta que responde

"O sistema faz o que deveria fazer?"

"O código está correto e completo internamente?"

Participação de usuários finais

Sim (ex.: teste de aceitação)

Não (exige conhecimento técnico)

Teste de caixa preta
  • 1Foco funcional
    • Entradas e saídas
    • Especificação de requisitos
  • 2Sem acesso ao código
    • Estrutura interna ignorada
    • Lógica não examinada
  • 3Participação de usuários
    • Teste de aceitação
  • 4Teste de caixa branca
    • Foco estrutural
      • Código-fonte
      • Cobertura de caminhos
    • Acesso total à lógica
      • Condições e loops
      • Decisões internas
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que o teste de caixa preta "necessita ser documentado, tendo em vista sua natureza experimental". O erro está em atribuir ao teste de caixa preta uma "natureza experimental" que justificaria a documentação. Na verdade, a documentação é uma boa prática em qualquer tipo de teste — inclusive na caixa branca — e não é uma característica exclusiva ou definidora da caixa preta. A caixa preta é uma técnica sistemática, baseada em especificações, e não um processo experimental. A banca tenta confundir o candidato com um argumento sem fundamento técnico.

Alternativa B — ❌ Incorreta

Afirma que o teste de caixa branca "deve ser executado em um ambiente de simulação que utilize um simulador certificado pela autoridade competente". Não há qualquer exigência normativa ou técnica que condicione o teste de caixa branca ao uso de simulador certificado. O teste de caixa branca é executado diretamente sobre o código-fonte, em ambiente de desenvolvimento, e não depende de certificação de simuladores. A alternativa mistura conceitos de áreas como engenharia de sistemas embarcados ou aviação, onde simulação certificada pode ser exigida, mas isso não se aplica ao teste de caixa branca em Engenharia de Software.

Alternativa C — ❌ Incorreta

Afirma que o teste de caixa preta "não pode ser acompanhado pelos futuros usuários finais do sistema". Isso é falso: o teste de caixa preta é, na prática, o tipo de teste mais adequado para a participação de usuários finais, pois não exige conhecimento técnico do código. Os testes de aceitação, por exemplo, são testes de caixa preta conduzidos com a participação dos usuários para validar se o sistema atende aos requisitos. A alternativa inverte a realidade: usuários finais podem e devem acompanhar testes de caixa preta, justamente por serem testes funcionais.

Alternativa D — ✅ Correta ⟵ GABARITO

Afirma que o teste de caixa preta "não tem como objetivo examinar ou testar a estrutura interna lógica do software". Esta é a definição clássica e correta da técnica. O teste de caixa preta trata o software como uma caixa fechada: o testador conhece apenas as entradas e saídas, e o foco está na funcionalidade, não na implementação. A estrutura interna, o código-fonte e a lógica são completamente ignorados nessa técnica. É exatamente o oposto do teste de caixa branca, que se concentra na estrutura interna.

Alternativa E — ❌ Incorreta

Afirma que o teste de caixa branca "deve ser conduzido exclusivamente pela equipe que desenvolveu o software". Não há essa exclusividade. Embora seja comum que a equipe de desenvolvimento execute testes de caixa branca (por ter acesso ao código), nada impede que uma equipe de testes independente, com acesso ao código-fonte, conduza esse tipo de teste. A exclusividade não é uma característica da técnica. A banca tenta confundir com a ideia de que apenas quem escreveu o código pode testá-lo, o que não é verdade.

Gabarito: letra D

Link permanente: /questoes/vu196436