當前位置:學問君>學習教育>考研>

應聘軟件測試:黑盒測試與白盒測試

學問君 人氣:2.89W

黑盒測試和白盒測試是兩種不同的測試方法。在整個的測試過程中兩種方法都會用到,但以經驗來看,在一個項目中測試工程師還是以黑盒測試爲主,白盒測試爲輔。對於有些人認爲黑盒測試沒有技術含量,這是完全錯誤的一種看法,好的黑盒測試需要豐富的經驗和敏銳的思維。

應聘軟件測試:黑盒測試與白盒測試

黑盒測試的特點:

1. 不基於對系統內部的設計和實現。

2. 用例設計基於功能的定義和需求說明書。

3. 關注於測試數據的選擇和測試結果的分析。

常見的黑盒測試有,功能測試、壓力測試、易用性測試和性能測試等。

使用的'測試方法有,等價類劃分、邊界值測試、錯誤測試、啓發性測試等。

當然黑盒測試也存在一些弊端:

1. 對用例設計人員的經驗要求較高,包括數據的選擇,對潛在錯誤的敏感性;

2. 對於內部實現的bug不容易發現;

3. 不能提供直觀的測試覆蓋率。

白盒測試的特點:

1. 需要了解系統的整體設計和實現;

2. 對原始碼進行審查;

3. 在單元測試階段發現大量的缺陷;

4. 關注於系統的控制流和數據流;常用的一些白盒測試方法有,獨立路徑測試、邏輯判斷測試、數據結構測試、覆蓋率測試等。

白盒測試的不足之處有:

1. 不能確保系統是否完全符合需求說明書;

2. 白盒測試的代價會大於黑盒測試;

3. 需要原始碼首先完成才能進行測試;

在我們的項目中的實踐方法是,在早期開發人員透過做單元測試和代碼審查來完成白盒測試的大部分,相應的測試模組的分責人也會參與開發人員的 Design Review Meeting.在集成測試和系統測試部分主要是測試人員進行黑盒測試,必要時會對一些核心模組或者bug比較多的模組與開發人員一起重新做Code Review.在產品比較穩定之後,會採用一些測試工具如Rational Purecoverage來做覆蓋率測試,透過覆蓋率測試可以發現哪些函數沒有跑到,進而更新或加入新的測試用例。但覆蓋率不可能100%,一般採取的標準是函數覆蓋率90%,語句覆蓋率70%.