O que é o teste de caixa cinza? Técnicas, Exemplo

Teste de caixa cinza

Teste de caixa cinza ou O teste de caixa cinza é uma técnica de teste de software para testar um produto ou aplicativo de software com conhecimento parcial da estrutura interna do aplicativo. O objetivo do teste de caixa cinza é pesquisar e identificar os defeitos devido à estrutura de código inadequada ou uso impróprio de aplicativos.

Nesse processo, erros específicos de contexto relacionados a sistemas da web são comumente identificados. Ele aumenta a cobertura de teste, concentrando-se em todas as camadas de qualquer sistema complexo.

Gray Box Testing é um método de teste de software, que é uma combinação de ambos Teste de caixa branca e método de teste da caixa preta.

  • Na caixa branca, o teste de estrutura interna (código) é conhecido
  • Na caixa preta, a estrutura interna (código) do teste é desconhecida
  • Em Gray Box Testing a estrutura interna (código) é parcialmente conhecida

Em Engenharia de Software, o Gray Box Testing oferece a capacidade de testar os dois lados de um aplicativo, a camada de apresentação e também a parte do código. É principalmente útil em testes de integração e Teste de Penetração .

Exemplo de teste de caixa cinza: Ao testar recursos de sites como links ou links órfãos, se o testador encontrar algum problema com esses links, ele pode fazer as alterações imediatamente no código HTML e verificar em tempo real.

Por que o teste de caixa cinza

O teste de caixa cinza é realizado pelo seguinte motivo,

  • Ele fornece benefícios combinados de teste de caixa preta e teste de caixa branca, ambos
  • Ele combina a entrada de desenvolvedores e testadores e melhora a qualidade geral do produto
  • Ele reduz a sobrecarga de longo processo de teste de tipos funcionais e não funcionais
  • Isso dá tempo livre suficiente para um desenvolvedor consertar defeitos
  • O teste é feito do ponto de vista do usuário, e não do ponto de vista do designer

Estratégia de teste de caixa cinza

Para realizar o teste da caixa cinza, não é necessário que o testador tenha acesso ao código-fonte. Um teste é projetado com base no conhecimento de algoritmos, arquiteturas, estados internos ou outras descrições de alto nível do comportamento do programa.

Para realizar o teste da caixa cinza-

  • Ele aplica uma técnica direta de teste de caixa preta
  • É baseado na geração de casos de teste de requisitos, como tal, pré-define todas as condições antes que o programa seja testado pelo método de asserção.
As técnicas utilizadas para o teste de caixa cinza são-
  • Teste de matriz: Essa técnica de teste envolve a definição de todas as variáveis ​​existentes em seus programas.
  • Teste de Regressão : Para verificar se a mudança na versão anterior regrediu outros aspectos do programa na nova versão. Isso será feito testando estratégias como testar novamente tudo, testar novamente os casos de uso de risco e testar novamente dentro de um firewall.
  • Teste de matriz ortogonal ou OAT : Fornece cobertura máxima de código com casos de teste mínimos.
  • Teste de padrão: Este teste é executado nos dados históricos dos defeitos anteriores do sistema. Ao contrário do teste de caixa preta, o teste de caixa cinza escava no código e determina por que a falha aconteceu

Normalmente, a metodologia Gray box usa ferramentas de teste de software automatizadas para conduzir o teste. Stubs e drivers de módulo são criados para aliviar o testador de gerar manualmente o código.

As etapas para realizar o teste da caixa cinza são:
  • Passo 1 : Identificar entradas
  • Passo 2 : Identifique as saídas
  • etapa 3 : Identifique os principais caminhos
  • Passo 4 : Identificar subfunções
  • Etapa 5 : Desenvolva entradas para subfunções
  • Etapa 6 : Desenvolva saídas para subfunções
  • Etapa 7 : Execute o caso de teste para subfunções
  • Etapa 8 : Verifique o resultado correto para subfunções
  • Etapa 9 : Repita as etapas 4 e 8 para outras subfunções
  • Etapa 10 : Repita as etapas 7 e 8 para outras subfunções

Os casos de teste para o teste de caixa cinza podem incluir, relacionado à GUI, à segurança, ao banco de dados, ao navegador, ao sistema operacional, etc.

Desafios de teste de caixa cinza

  • Quando um componente em teste encontra uma falha de algum tipo pode levar ao aborto da operação em andamento
  • Quando o teste é executado por completo, mas o conteúdo do resultado está incorreto.

Resumo:

  • O custo geral dos defeitos do sistema pode ser reduzido e impedido de passar ainda mais com o teste da caixa cinza
  • O teste de caixa cinza é mais adequado para GUI, Teste funcional , avaliação de segurança, aplicativos da web, serviços da web, etc.
  • Técnicas usadas para teste de caixa cinza