O que é o teste de caixa cinza?
O teste de caixa cinza é um tipo de teste profissional frequentemente usado para software de computador, que combina certos aspectos do teste de caixa preta e teste de caixa branca. A idéia geral é combinar esses dois outros tipos para utilizar os pontos fortes de cada um, minimizando suas limitações ou fraquezas. O teste da caixa cinza consiste basicamente em testes profissionais, nos quais os testadores compreendem algumas das maneiras pelas quais o software funciona, mas eles não entendem tudo sobre ele.
Ao desenvolver e testar software de computador, existem dois modelos comuns de teste frequentemente utilizados. São testes de caixa preta e de caixa branca, e o teste de caixa cinza é basicamente uma combinação de ambos. O teste da caixa preta consiste em testes nos quais os testadores não entendem ou têm acesso ao código que executa o software. Por exemplo, alguém pode utilizar o teste de caixa preta para permitir que uma empresa externa desenvolva software para executar com um sistema operacional (SO) sem fornecer à empresa o código fonte do SO.
Esse tipo de teste é frequentemente usado por muitas empresas de software diferentes e pode ser usado para testes internos e externos. Uma das maiores fraquezas desse tipo de teste, no entanto, é que o conhecimento limitado dos testadores pode potencialmente dificultar seus testes. Isso geralmente exige que os resultados sejam analisados por terceiros que entendam os testes que estão sendo executados e o código por trás do software que está sendo testado. O teste de caixa cinza procura aliviar alguns desses problemas combinando esse tipo de teste com certos elementos do teste de caixa branca.
O teste de caixa branca consiste em testes de software realizados por pessoas que compreendem completamente o software que está sendo testado e têm acesso ao código-fonte do software. Isso geralmente é feito internamente em um desenvolvedor de software para garantir que o programa funcione corretamente e para permitir que os testadores interajam diretamente com o código por trás do programa. Porém, existem problemas de segurança em potencial com esse tipo de teste e, portanto, o teste da caixa cinza é frequentemente usado para combinar os dois tipos de maneira produtiva e segura.
No teste da caixa cinza, os testadores compreendem certos aspectos do software que está sendo usado e podem ver algumas partes do código-fonte, mas não todo. Isso permite que os testadores interajam e compreendam mais completamente o programa que estão testando do que o teste de caixa preta permite, mas sem os problemas completos de acesso e segurança que podem surgir dos testes de caixa branca. Alguém que esteja realizando testes de caixa cinza no software de um novo sistema operacional, por exemplo, poderá ver o código de aspectos do sistema operacional relevantes para o teste do programa, mas não todo o código-fonte.