天天看點

黑盒白盒測試

看材料提到黑盒和白盒,不是很明白,就去網上google了一下

黑盒白盒測試

,當做知識積累吧

黑盒測試和白盒測試

鄭人傑著《軟體工程》學習筆記

<b>作者:</b>雷神 <b>版權所有:</b>雷神

<b>轉載請聯系作者</b>   

         任何工程産品(注意是任何工程産品)都可以使用以下兩種方法之一進行測試。

         黑盒測試:已知産品的功能設計規格,可以進行測試證明每個實作了的功能是否符合要求。

         白盒測試:已知産品的内部工作過程,可以通過測試證明每種内部操作是否符合設計規格要求,所有内部成分是否以經過檢查。

  軟體的黑盒測試意味着測試要在軟體的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程式内部的邏輯結構和内部特性,隻依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明。是以黑盒測試又叫功能測試或資料驅動測試。黑盒測試主要是為了發現以下幾類錯誤: 1、是否有不正确或遺漏的功能? 2、在接口上,輸入是否能正确的接受?能否輸出正确的結果? 3、是否有資料結構錯誤或外部資訊(例如資料檔案)通路錯誤? 4、性能上是否能夠滿足要求? 5、是否有初始化或終止性錯誤?

   軟體的白盒測試是對軟體的過程性細節做細緻的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程式内部的邏輯結構及有關資訊,設計或選擇測試用例,對程式所有邏輯路徑進行測試。通過在不同點檢查程式狀态,确定實際狀态是否與預期的狀态一緻。是以白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程式子產品進行如下檢查: 1、對程式子產品的所有獨立的執行路徑至少測試一遍。 2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。 3、在循環的邊界和運作的界限内執行循環體。 4、測試内部資料結構的有效性,等等。

  以上事實說明,軟體測試有一個緻命的缺陷,即測試的不完全、不徹底性。由于任何程式隻能進行少量(相對于窮舉的巨大數量而言)的有限的測試,在未發現錯誤時,不能說明程式中沒有錯誤。