What is Gray Box Testing?

O teste de caixa cinza é um segurança do aplicativo técnica de teste que mistura testes de caixa branca e caixa preta. Em uma avaliação caixa branca, o testador possui conhecimento interno completo do sistema que está sendo testado (código-fonte, documentos de design, etc.). Uma avaliação de caixa preta é realizada sem qualquer conhecimento dos componentes internos do sistema.

O teste de caixa cinza divide a diferença, fornecendo ao avaliador conhecimento parcial dos componentes internos do sistema. Por exemplo, um testador caixa cinza pode não ter conhecimento completo do código-fonte de um aplicativo, mas pode ter conhecimento parcial dele e/ou acesso à documentação de design. Isso fornece mais informações do que os testes de caixa preta e menos do que uma avaliação de caixa branca.

Saiba mais Avaliação de risco de cibersegurança

What is Gray Box Testing?

Estratégia de teste de caixa cinza

A gray box tester has more information than in a teste de caixa preta e menos do que em um teste de caixa branca. Isso é intencional e permite que um testador de caixa cinza combine os benefícios de ambas as abordagens.

Os testes de caixa cinza podem melhorar a eficiência e a cobertura do teste de uma avaliação de caixa preta, fazendo pleno uso das informações fornecidas. Embora um testador não tenha acesso total ao código-fonte do aplicativo, ele possui conhecimento e documentação suficientes para compreender as funções principais do aplicativo. Isso torna possível projetar casos de teste que se concentrem em prováveis problemas de funcionalidade e segurança, em vez de testar cegamente.

Os avaliadores da caixa cinza têm menos informações do que os testes da caixa branca, o que pode melhorar a eficiência e o realismo do teste. Ao reduzir o número de entradas para a avaliação, o tempo pode ser concentrado em testes ativos, em vez de processar e revisar o código e a documentação fornecidos. Além disso, negar aos avaliadores o pleno conhecimento do sistema ajuda a evitar preconceitos sobre a forma como um sistema é concebido para funcionar, em oposição à forma como realmente funciona.

Etapas para realizar testes de caixa cinza

Uma avaliação caixa cinza é uma avaliação estruturada baseada no conhecimento disponível do sistema em teste. Deve seguir estas etapas:

  1. Identifique entradas com base em técnicas de teste de caixa branca e caixa preta
  2. Identifique os resultados que essas entradas devem produzir com base na documentação fornecida
  3. Identifique os fluxos de controle primários que devem ser testados
  4. Identifique subfunções importantes que devem receber testes aprofundados
  5. Identificar entradas para uma subfunção
  6. Identifique as saídas que a subfunção deve produzir para as entradas fornecidas
  7. Desenvolva e execute um caso de teste para esta subfunção
  8. Verifique se a subfunção produz o resultado esperado para o caso de teste
  9. Repita as etapas 4 a 8 para todas as subfunções

Técnicas de teste de caixa cinza

O teste de caixa cinza pode ser realizado de algumas maneiras diferentes, incluindo:

  • Teste de matriz: O teste matricial concentra-se nas variáveis dentro de um programa, enumerando-as, avaliando os riscos que representam e testando se são usadas correta e eficientemente.
  • Teste de regressão: O código pode ser modificado para adicionar funcionalidade ou corrigir problemas de segurança. O teste de regressão verifica se um aplicativo ainda passa nos testes após ser modificado.
  • Teste de padrão: O teste de padrões analisa o passado de um aplicativo para identificar tendências que causaram defeitos no passado e que podem causar defeitos no futuro. Os resultados desses testes podem ser usados para evitar que esses problemas se repitam no futuro.
  • Teste de matriz ortogonal (OAT): OAT é usado com um aplicativo que possui algumas entradas complexas. Ele usa estatísticas para criar um conjunto de casos de teste que fornece uma boa cobertura de testes sem a sobrecarga de testes exaustivos.

Black Box vs White Box Testing vs Gray box

Os testes de caixa preta, caixa branca e caixa cinza fornecem ao testador níveis variados de conhecimento sobre os componentes internos do sistema que está sendo testado. Em um extremo, o teste de caixa branca fornece acesso completo ao código-fonte e à documentação de design. Por outro lado, os testadores de caixa preta não têm conhecimento interno de como o aplicativo funciona.

Esses diversos níveis de conhecimento e acesso impactam significativamente o processo de teste. Algumas das principais diferenças incluem:

  • Test Coverage: O teste de caixa branca pode garantir a cobertura completa do teste porque tem acesso total ao código, enquanto o teste de caixa preta não oferece tais garantias. A caixa cinza fica no meio, pois os testadores podem realizar algum planejamento de teste com base na documentação, mas são cegos para caminhos de código não documentados e inacessíveis.
  • Localização no SDLC: O teste de caixa branca usa código-fonte, portanto pode ser implementado antecipadamente Pipelines de CI/CD. Os testes de caixa cinza e preta funcionam na execução do código, portanto, caem posteriormente no SDLC.
  • Ferramentas de análise: O teste de caixa branca usa ferramentas de análise de código estático para analisar o código-fonte. Uso de testes de caixa cinza e preta análise dinâmica de código ferramentas, como verificação de vulnerabilidade, para analisar um aplicativo em execução.
  • Tester Mindset: O teste de caixa branca vem da mentalidade do desenvolvedor, enquanto o teste de caixa preta é realizado da perspectiva do usuário. O teste de caixa cinza divide a diferença, eliminando preconceitos dos desenvolvedores sobre como um aplicativo foi projetado para funcionar, mas também fornecendo acesso a mais informações do que o usuário médio possui.

Check Point CRT

Check Point’s Professional Services portfólio pode ajudar a apoiar os esforços de segurança de aplicativos de uma organização. Avaliações de segurança de caixa branca, cinza e preta fazem parte do programa da Check Point Serviços de testes de resiliência/penetração de segurança cibernética.

Saiba mais sobre como reforçar o programa de segurança de aplicativos da sua organização com o Check Point serviços de testes profissionais. Além disso, fique à vontade para Entre em contato conosco para saber mais sobre como criar um programa de testes personalizado e ajudar a identificar e corrigir problemas de segurança em sua organização.

×
  Opinião
Este site usa cookies para sua funcionalidade e para fins de análise e marketing. Ao continuar a usar este site, você concorda com o uso de cookies. Para mais informações, leia o nosso Aviso de Cookies.
OK