Test sistemlerinde genel bir anlayış olan Kara Kutu ve Saydam Kutu testleri günümüz test sistemlerinde ayrı ayrı düşünüldüğünde birçok eksikliğinin olduğu düşünülerek birleştirilmiş ve Gri Kutu testi adını almıştır. Gri kutu testinin ne olduğunu anlamak için öncelikle Kara kutu ve Saydam kutu testlerinin ne anlama geldiğini, avantajlarını ve dezavantajlarını kısaca gözden geçirmemiz gerekiyor.
Test edilecek yazılım veya sistemin iç işleyişi dikkate alınmaksızın gerçekleştirilen testlere Kara Kutu testleri denir. Test edilecek yazılım veya sistemin sonucu bilinir ve bu sonuca göre girdi çıktı değerlerleri karşılaştırılır. Bu sistemin Kara Kutu ismini almasının nedeni; testin iç dinamikleriyle kesinlikle ilgilenilmemesidir.
Kara Kutu testinde testçi yazılımın girdi ve çıktılarını bilir. Fakat bu çıktıya nasıl ulaşacağımız bilgisini bilmez. Yazılımın iç işleyişiyle ilgilenilmez. Yazılımdaki hataların bulunması için etkin bir test sistemidir. Testçi, sistem hakkında teknik ayrıntıları bilmesine gerek yoktur bu yüzden yazılım ekibiyle beraber çalışmasına gerek yoktur. Yazılıma kullanıcı gözüyle bakıldığı için pek çok hatanın ve eksikliklerin görülmesini sağlayacaktır. Fakat Kara Kutu testinde yazılımın genel işleyişi ve genel çıktısı incelendiğinden birçok hata tespit edilmeden kalır. Ayrıca sadece belli bir sayıda girdi ve çıktı incelendiği için birçok girdi ve çıktıda test edilmeden kalır.
Saydam Kutu testinde ise yazılım veya sistemin içyapısı bilinerek test edilir. Bundan dolayı test edecek kişinin yazılımın veya sistemin içyapısını bilmesi gerekir. Yazılımın içyapısındaki hatalar araştırılarak sistemdeki genel hataların düzeltilmesi amaçlanır.
Saydam Kutu testinde dinamik ve statik analizler yapılır. Oluşturulan birim testlerle bilgi akışı, kodlama ve veri kontrolü ayrıntılı bir şekilde gerçekleştirilebilir. Kod içerisindeki yazılım hataları ve kodun çalıştırıldıktan sonraki çıktısı ayrıntısıyla analiz edilir. Kod içerisindeki her bir ifade ayrıca çalıştırılır. Kodun yan etkileri ve etkilediği sistemler araştırılır. Kod içerisindeki gereksiz veya ölü parçalar bulunarak ayıklanır. Testçi, yazılımcının kodunu destekleyerek sistemin veya yazılımın daha güçlü olmasını sağlar. Saydam Kutu testinin bu kadar faydasının yanı sıra bazı zararları da vardır. Yazılımı test eden kişi yazılımın ayrıntılarını bilmesi gerektiğinden maliyet artar. Yazılımın iç dinamikleriyle ilgilenildiğinden tüm resme bakma ve genel hataları görmek zorlaşır.
İşte bu noktada Gri kutu testi, kara kutu ve saydam kutu testinin dezavantajlarını manipüle ederek kendine özgü temelde kullandığımız test sistemini oluşturur. Gri kutu testi, yazılımın temel dinamiklerini ve işleyişini bilerek ona göre davranır. Gri kutu testinde sistem girdi ve çıktılarıyla analiz edilerek her bir kod parçacığının; performans, etkilediği sistemler veya hataları tespit edilir.