什麼是白盒測試?
白盒測試是依據被測軟體分析程式內部構造,並根據內部構造設計用例,來對內部控制流程進行測試,可完全不顧程式的整體功能實現情況。
白盒測試是基於程式結構的邏輯驅動測試。
白盒又可以被稱為玻璃盒測試、透明盒測試、開放盒測試、結構化測試、邏輯驅動測試。
為什麼要進行白盒測試?
白盒測試一般在測試前期進行,通過達到一定的邏輯覆蓋率指標,使得軟體內部邏輯控制結構上的問題基本得到消除。
白盒測試能保證內部邏輯結構達到一定的覆蓋程度,能夠給予軟體**質量的更大的保證。
白盒測試發現問題後解決問題的成本較低。
白盒測試的常用技術
白盒測試一般會用到靜態分析和動態分析兩類技術。常用的有:
靜態分析:控制流分析、資料流分析、資訊流分析等
動態分析:邏輯覆蓋測試(分支測試、路徑測試等)、程式插裝等
白盒測試的特點
。測試人員需要了解軟體的實現
。可以檢測**中的每條分支和路徑
。提示隱藏在**中的錯誤
。對**的測試比較徹底
。 實現**結構上的優化
。白盒測試投入較大,成本高
。白盒測試不驗證規格的正確性
什麼是黑盒測試
黑盒測試是把被測物件看成乙個黑盒,只考慮其整體特性,不考慮其內部實現。
黑盒測試針對的被測物件可以是乙個系統、乙個子系統、乙個模組、乙個子模組、乙個函式等。
黑盒測試又可以被稱為基於規格的測試
常見的黑盒測試型別
功能性測試:一種是順序測試每個程式特性或功能,另一種途徑是乙個模組乙個模組的測試,即每個功能再其在其最先呼叫的地方被測試;
容量測試,檢查軟體在處理海量資料時的侷限性,能發現系統效率方面的問題;
負載測試,檢查系統在乙個很短時間內處理乙個巨大資料量或執行許多功能呼叫上的能力;
恢復性測試,主要保證系統在崩潰後能夠恢復外部資料的能力;
常見的黑盒測試方法
等價類劃分法
邊界值分析法
因果圖分析法
錯誤推測法
判定表法
狀態遷移法
。。。。。。
不管用什麼測試方法,都是為了減少測試時的測試用例數,都是為了用盡量少的測試用例去完成測試,去發現更多的問題。
黑盒測試的特點
。對於更大的**單元來說(子系統甚至系統級)比白盒測試效率更高
。測試人員不需要了解實現的細節,包括特定的程式語言
。從使用者的視角進行測試,很容易被大家理解和接受
。有助於暴露任何規格不一致或有歧義的問題
。 沒有清晰的和簡明的規格,測試用例很難設計
。不能控制內部執行路徑,會有很多內部程式路徑沒有被測試到
。不能直接針對特定的程式段,這些程式可能比較複雜(因此可能隱藏更多的問題)
灰盒測試
根據被測物件資訊的不同,採用不用的方法進行測試
利用被測物件的整體特性資訊,採用黑盒測試方法
利用被測物件的內部具體實現資訊,採用白盒測試
如果既利用被測物件的整體特性資訊,又利用被測物件的內部具體實現資訊,採用的就是灰盒測試方法。兩種資訊所佔的比例不同,相應的灰度就不同。完全是整體特性資訊,就是黑盒測試,完全是內部具體實現資訊,就是白盒測試
典型的灰盒測試比如整合測試和系統測試時借助log資訊
測試知識之 黑盒白盒和灰盒測試
黑盒測試 黑盒測試也稱功能測試,它是在已知產品所應具有的功能上,通過測試來檢測是否每個功能是否能夠按照需求規格說明書的規定正常使用。我們通過程式的介面進行測試,看程式能否適當的接收輸入資料而產生正確的輸出資訊,並且保持外部資訊 如資料庫或者檔案 的完整性。常見的黑盒測試方法有 等價類劃分法 邊界值 ...
黑盒測試和白盒測試
任何工程產品 注意是任何工程產品 都可以使用以下兩種方法之一進行測試。黑盒測試 已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。白盒測試 已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。軟體的黑盒測試意味著測試要在軟體的介面...
黑盒測試和白盒測試
黑盒測試 黑盒測試,又被稱為功能測試或資料驅動測試,是把測試物件當作看不見的黑盒,在完全不考慮程式內部結構的情況下,測試人員僅依據程式功能的需求規範考慮確定測試用例和推斷測試結果的正確性。不關注程式的內部結構和內部特性,而是把程式看做是乙個黑盒子對軟體直接進行測試。主要包括等價類劃分法和邊界值分析法...