Como analista de informática da Sanepar, você está desenvol...

Próximas questões
Com base no mesmo assunto
Q3451111 Engenharia de Software
Como analista de informática da Sanepar, você está desenvolvendo um novo sistema web para a empresa. Para garantir que a aplicação seja robusta e segura, é necessário realizar testes que verifiquem como a aplicação se comporta ao receber entradas inesperadas ou inválidas. Sabendo disso, qual tipo de teste você deve realizar para atender a essa necessidade?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - Testes de Fuzzing

Tema central da questão:
O foco da questão é identificar o tipo de teste de software mais adequado para verificar como uma aplicação responde a entradas inesperadas ou inválidas, garantindo robustez e segurança do sistema.

Resumo teórico:
Os testes de fuzzing são uma técnica de teste automatizado que insere grandes quantidades de dados aleatórios, inválidos ou inesperados na entrada de um software para detectar falhas, bugs ou vulnerabilidades. O objetivo principal é observar como o sistema lida com dados fora do padrão, prevenindo falhas de segurança e instabilidade. De acordo com o ISTQB Glossary e práticas recomendadas em cibersegurança (NIST SP 800-115), fuzzing é fundamental para encontrar problemas que testes tradicionais podem não alcançar.

Justificativa da alternativa correta:
A alternativa B é correta porque o fuzzing foi desenvolvido justamente para testar sistemas contra entradas inesperadas ou inválidas. Por meio dessa técnica, simulam-se situações reais de ataque ou erro, verificando como o software responde e garantindo maior robustez e segurança.

Análise das alternativas incorretas:

  • A - Testes de Compatibilidade: Avaliam se o sistema funciona corretamente em diferentes ambientes (navegadores, SOs, dispositivos). Não focam em entradas inválidas.
  • C - Testes de Mutação: Servem para avaliar a eficácia dos testes existentes, alterando propositalmente o código-fonte para verificar se os testes detectam essas alterações. Não testam entradas do sistema diretamente.
  • D - Testes A/B: Usados para comparar duas versões de um sistema visando analisar qual apresenta melhor desempenho para o usuário. Não são testes de entrada inválida ou de robustez.
  • E - Testes de Usabilidade: Avaliam a facilidade de uso do sistema por pessoas reais, não verificando robustez contra dados inválidos.

Estrategicamente, sempre que o enunciado mencionar entradas inesperadas, inválidas ou simulação de ataques, pense em fuzzing. Atenção às palavras-chave que diferenciam testes de robustez, segurança e usabilidade — são temas clássicos de pegadinha!

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Alternativa correta. B)

a) Testes de Compatibilidade: verificam se o sistema funciona corretamente em diferentes ambientes, como navegadores, sistemas operacionais, dispositivos e versões.

b) Testes de Fuzzing: enviam entradas inválidas, aleatórias ou inesperadas para verificar se o sistema apresenta falhas, erros ou vulnerabilidades.

c) Testes de Mutação: fazem pequenas alterações propositalmente no código para avaliar se os testes existentes conseguem identificar os erros.

d) Testes A/B: comparam duas versões de uma funcionalidade, tela ou página para descobrir qual delas apresenta melhor resultado.

e) Testes de Usabilidade: avaliam se o sistema é fácil de usar, intuitivo, claro e adequado para o usuário.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo