測試知識之 黑盒白盒和灰盒測試

2021-10-10 18:46:54 字數 1612 閱讀 6939

黑盒測試:黑盒測試也稱功能測試,它是在已知產品所應具有的功能上,通過測試來檢測是否每個功能是否能夠按照需求規格說明書的規定正常使用。我們通過程式的介面進行測試,看程式能否適當的接收輸入資料而產生正確的輸出資訊,並且保持外部資訊(如資料庫或者檔案)的完整性。

常見的黑盒測試方法有:等價類劃分法、邊界值、因果圖、判定表、正交實驗法和場景法。

在對乙個軟體進行測試時,一般最先使用的是邊界值,其實有的時候在進行邊界值測試用例的設計時就已經把等價類的方法應用進去了。而因果圖和判定表一般是一起使用的。正交法用的比較少,只有當我們的輸入值沒有什麼可以進行等價類判別,也沒有邊界值沒有範圍,這中情況下只有使用無限窮舉的方法才能夠覆蓋掉。這種時候才會考慮到使用正交法,正交表來幫助我們完善測試用例的設計。當對乙個複雜的業務進行測試的時候,比如電商**的購物流程,比較複雜,就需要使用場景法

黑盒測試的優缺點

優點:

1) 比較簡單,不需要了解程式的內部的**及實現;2) 與軟體的內部實現無關;3)  從使用者的角度出發,能很容易的知道使用者會用到哪些功能,會遇到哪些問題;4)  基於軟體開發文件,所以也能知道軟體實現了文件中的哪些功能;5)  在做軟體自動化測試時較為方便

缺點 :

1) 不可能覆蓋所有的**, 覆蓋率較低,大概只能達到總**量的30%

2) 自動化測試的復用性較低。

白盒測試:白盒測試又叫結構化測試,是基於**的測試,它根據程式的控制結構設計測試用例。

常見的白盒測試的方法:分為靜態測試和動態測試。靜態測試是不執行測試程式,對**或者其他專案文件進行檢查、閱讀和分析。動態測試需要執行**,通過執行程式找到問題。白盒測試要保證路徑覆蓋邏輯覆蓋,但是更多的時候是使用邏輯覆蓋,它是白盒測試的主要方法。邏輯覆蓋分為語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋。

白盒測試的優缺點:

優點:

幫助軟體測試人員增大**的覆蓋率。 提供**的質量,發現**中隱藏的問題

缺點:

1) 程式執行會有很多不同的路徑,不可能測試所有的執行路徑

2) 測試基於**,只能測試開發人員做的對不對,而不能知道設計是否正確,可能會漏掉一些功能需求

3) 系統龐大時,測試開銷會非常大。

灰盒測試

灰盒測試,是介於白盒測試與黑盒測試之間的一種測試,灰盒測試多用於整合測試階段,不僅關注輸出、輸入的正確性,同時也關注程式內部的情況。灰盒測試不像白盒那樣詳細、完整,但又比黑盒測試更關注程式的內部邏輯,常常是通過一些表徵性的現象、事件、標誌來判斷內部的執行狀態。灰盒測試除了完成黑盒測試的一些測試手段之外,還會通過codereview,日誌檢查,甚至通過編寫**去呼叫服務的介面或者函式來進行測試。

測試之白盒測試 黑盒測試和灰盒測試簡介

什麼是白盒測試?白盒測試是依據被測軟體分析程式內部構造,並根據內部構造設計用例,來對內部控制流程進行測試,可完全不顧程式的整體功能實現情況。白盒測試是基於程式結構的邏輯驅動測試。白盒又可以被稱為玻璃盒測試 透明盒測試 開放盒測試 結構化測試 邏輯驅動測試。為什麼要進行白盒測試?白盒測試一般在測試前期...

黑盒測試和白盒測試

任何工程產品 注意是任何工程產品 都可以使用以下兩種方法之一進行測試。黑盒測試 已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。白盒測試 已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。軟體的黑盒測試意味著測試要在軟體的介面...

黑盒測試和白盒測試

黑盒測試 黑盒測試,又被稱為功能測試或資料驅動測試,是把測試物件當作看不見的黑盒,在完全不考慮程式內部結構的情況下,測試人員僅依據程式功能的需求規範考慮確定測試用例和推斷測試結果的正確性。不關注程式的內部結構和內部特性,而是把程式看做是乙個黑盒子對軟體直接進行測試。主要包括等價類劃分法和邊界值分析法...