灰盒(Gray Box)是一種程式或系統上的工作過程被局部認知的裝置。灰盒測試,也稱作灰盒分析,是基於對程式內部細節有限認知上的軟體調試方法。測試者可能知道系統組件之間是如何互相作用的,但缺乏對內部程式功能和運作的詳細了解。
對於內部過程,灰盒測試把程式看作一個必須從外面進行分析的黑盒。灰盒測試通常與web服務套用一起使用,因為儘管應用程式複雜多變,並不斷發展進步,網際網路仍可以提供相對穩定的接口。.
由於不需要測試者接觸原始碼,因此灰盒測試不存在侵略性和偏見。開發者和測試者間有明顯的區別,人事衝突的風險減到最小。然而,灰盒測試相對白盒測試更加難以發現並解決潛在問題,尤其在一個單一的套用中,白盒測試的內部細節可以完全掌握