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

Índice:

Anonim

Teste de caixa cinza

Teste de caixa cinza ou 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.

Teste de caixa cinza é um método de teste de software, que é uma combinação dos métodos de teste de caixa branca e de caixa preta.

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

Em Engenharia de Software, o Gray Box Testing permite 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 testes 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 pode 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 corrigir 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: Esta técnica de teste envolve a definição de todas as variáveis ​​que existem 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:
  • Etapa 1 : Identificar as entradas
  • Etapa 2 : Identificar as saídas
  • Etapa 3 : identificar os principais caminhos
  • Etapa 4 : identificar subfunções
  • Etapa 5 : desenvolver entradas para subfunções
  • Etapa 6 : desenvolver 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
    • Teste de Matriz
    • Teste de Regressão
    • Teste de OAT ou Matriz Ortogonal
    • Teste de Padrão