what's the 灰盒測試
灰盒測試的概念:是一種綜合測試的方法,他將白盒測試和黑盒測試結合在一起,構成一種無縫測試技術。
灰盒測試的思想:是基於程序運行時的外部表現又結合程序內部邏輯結構來設計測試用例,執行程序並采集程序路徑執行信息和外部用戶接口結果的測試技術。灰盒測試法旨在驗證軟件滿足外部指標以及軟件的所有通道或路徑都進行了檢驗。
灰盒測試的特性:
- 灰盒測試同黑盒測試一樣,也是根據需求文檔來進行測試用例的設計。
- 灰盒測試通常在程序員做完白盒測試之后,在功能測試人員進行大規模集成測試之前。
- 灰盒測試需要了解代碼工程的實現。
- 灰盒測試是通過類似白盒測試的方法進行的,是通過編寫代碼、調用函數或者封裝好的接口進行,但無需關心程序內部的實現細節,依然可把它當成一個黑盒。
- 灰盒測試是有測試人員進行的。
灰盒測試的優點:
- 能夠進行基於需求的覆蓋測試和基於程序路徑覆蓋的測試。
- 測試結果可以對應到程序內部路徑,便於bug的定位、分析、解決。
- 能夠保證設計的黑盒測試用例的完整性,防止遺漏軟件的一些不常用的功能或功能組合。
- 能避免需求或設計不詳細或不完整對測試造成的影響。
灰盒測試的不足:
- 投入的時間比黑盒測試大概多20%-40%。
- 對測試人員的要求比黑盒測試高。
- 灰盒測試要求測試人員清楚內部系統結構由哪些模塊組成,模塊之間如何協作。
- 不如白盒測試深入。
- 不是用於簡單系統。
灰盒測試的步驟:
- 確定程序的所有輸入和輸出。
- 確定程序所有狀態。
- 確定程序主路徑。
- 確定程序的功能。
- 產生實驗子功能X的輸入。
- 制定驗證子功能的X的輸出。
- 執行測試用例X的軟件。
- 檢驗測試用例X的結果正確性。
- 對其余子功能,重復7和8.
- 重復4--8,然后進行9.進行回歸測試。
參考:https://blog.csdn.net/celiabj/article/details/48750253