Os requisitos de software são classificados como requisitos funcionais e não funcionais. De acordo com os requisitos funcionais, determinados testes são projetados para sua validação, não considerando o funcionamento interno de um programa. Assinale, a seguir, tal tipo de teste.
- A)Beta.
Errada, porque teste beta é voltado à avaliação do sistema por usuários em condições próximas do uso real, e não à técnica de validação de requisitos funcionais sem olhar o código.
- B)Caixa preta.
Certa, porque teste de caixa preta avalia o comportamento externo do software, validando requisitos funcionais sem considerar a estrutura interna do programa.
- C)Caixa branca.
Errada, porque teste de caixa branca exige conhecimento da implementação interna e da lógica do código, então não corresponde à ideia pedida no enunciado.
- D)Caminho básico.
Errada, porque caminho básico é uma técnica de teste estrutural da caixa branca, focada em caminhos lógicos do programa, e não em validação externa de requisitos.
Gabarito: B
Quando a questão fala em requisitos funcionais, ela está pensando no que o software deve fazer. Para validar isso, o teste olha para entradas, saídas e comportamento esperado, sem se preocupar com o código por dentro. É exatamente a lógica do teste de caixa preta: você observa o sistema como um usuário ou especificação observam, sem abrir o capô. Esse tipo de teste é muito usado para conferir se as funções pedidas no requisito realmente aparecem no resultado final. Em outras palavras, o foco está na conformidade com a especificação, e não na estrutura interna do programa. Por isso, ele combina perfeitamente com a validação de requisitos funcionais. Já os testes de caixa branca e caminho básico fazem o oposto: analisam a lógica interna, os caminhos do código e a estrutura de decisão. Beta também não entra nessa definição, porque é um tipo de teste de aceitação com usuários, geralmente em ambiente controlado. Assim, o gabarito é a alternativa B, porque teste de caixa preta verifica o comportamento externo do software e é o mais adequado para validar requisitos funcionais sem considerar a implementação interna.