網站首頁 教育 學前教育 精緻生活 飲食養生 命理 科普教育 金融 歷史 影視 數碼 熱門資訊
當前位置:生活百科站 > 精緻生活 > 

什麼是黑盒測試與白盒測試

欄目: 精緻生活 / 釋出於: / 人氣:1.59W

白盒測試也被稱為結構測試,主要用於檢測軟體編碼過程中的錯誤。程式設計師的程式設計經驗、對於程式設計軟體的掌握程度、工作狀態等等因素都會影響到程式設計的質量,導致程式碼錯誤;黑盒測試又被稱為功能測試,主要是檢查軟體的每一個功能,是否能夠正常使用。

什麼是黑盒測試與白盒測試

什麼是白盒測試和黑盒測試?有什麼區別?

白盒測試:

是指實際執行被測程式,通過程式的原始碼進行測試而不使用使用者介面。這種型別的測試需要從程式碼句法發現內部程式碼在演算法、溢位、路徑和條件等方面的缺點或者錯誤,進而加以修正。

黑盒測試:

又稱功能測試、資料驅動測試或基於規格說明的測試,是通過使用整個軟體或某種軟體功能來嚴格地測試,,而並沒有通過檢查程式的原始碼,或者很清楚地瞭解該軟體的原始碼程式具體是怎樣設計的。測試人員通過輸入他們的資料看輸出的結果,從而瞭解軟體怎樣工作。應該更適合測試網頁遊戲。

區別一:從定義上

白盒測試需要從程式碼句法發現內部程式碼在演算法,溢位,路徑,條件等等中的缺點或者錯誤,進而加以修正。而黑盒測試著重測試軟體功能,它並不涉及程式的內部結構和內容特性。黑盒測試並不能取代白盒測試,它與白盒是互補的測試方法,它很可能發現白盒測試不易發現的其他型別錯誤。

區別二:從測試目的上

黑盒測試的目的是檢測是否有不正確或遺漏的功能;資料或者引數上,輸入能否正確接收;是否有資料結構錯誤或外部資訊訪問錯誤;效能上是否能夠滿足要求;是否有初始化或終止性錯誤。而白盒測試的目的是通過在不同點檢查程式的狀態,確定實際的狀態是否與預期的狀態一致,而不顧它的功能。

區別三:檢測方式上

白盒測試是窮舉路徑測試,黑盒測試是窮舉輸入測試,這兩種方法是基於完全不同的觀點,反應了事物的兩個極端,它們各有側重和優勢,但不能彼此替代。在現代的測試理念中,這兩種測試方法不是截然分開的,而是交叉使用。

擴充套件資料

白盒測試的優點:

1.能仔細考慮軟體的實現

2.可檢測程式碼中的每條分支和路徑

3.揭示隱藏在程式碼中的錯誤

4.對程式碼的測試比較徹底

白盒測試的缺點:

1.昂貴

2.無法檢測程式碼中遺漏的路徑和資料敏感性錯誤

3.不驗證規格的正確性

黑盒測試的優點:

1.對於子系統甚至系統效率要比白盒測試高

2.測試人員不需要了解實現的細節(特定程式語言)

3.測試人員和程式設計人員彼此獨立

4.從使用者的角度進行測試很容易理解和接受

5.有助於暴露規格的不一致或有歧義的問題

6.測試用例可以在規格完成後馬上進行

黑盒測試的缺點: 

1.只有一小部分輸入被測試到,要測試每個可能的輸入幾乎不可能。

2.沒有清晰、簡明的規格,測試用例很難設計。

3.如果測試人員不被告知開發人員已經執行過的用例,在測試資料上會存在不必要的重複。

4.有很多程式路徑沒有被測試到。

5.不能直接針對特定程式段測試,而這些程式段可能很複雜,有可能隱藏更多的問題。

6.大部分和研究相關的測試都是直接針對白盒測試的。

參考資料:百度百科-黑盒測試白盒測試

什麼是黑盒測試和白盒測試?

黑盒測試也稱功能測試或資料驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程式看作一個不能開啟的黑盆子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入數鋸而產生正確的輸出資訊,並且保持外部資訊(如資料庫或檔案)的完整性。

重點詞語:完全不考慮程式內部結構和內部特性

白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程式內部的結構測試程式,檢驗程式中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用於軟體驗證。

重點詞語:

按照程式內部的結構測試程式,檢驗程式中的每條通路是否都有能按預定要求正確工作

什麼是黑盒測試和白盒測試

軟體測試按照測試技術劃分可以有:黑盒測試,白盒測試,灰盒測試

黑盒測試又叫功能測試

1.軟體黑色盒子,裡邊的實現,看不見程式碼

2.輸入,輸出結果---功能測試的方法

這是因為在黑盒測試中主要關注被測軟體的功能實現,而.不是內部邏輯。

在黑盒測試中,被測物件的內部結構,運作情況對測試人員是不可見的,測試人員主要是驗證系統功能與需求的一致性。

在絕大多數沒有使用者參與的黑盒測試中,最常見的測試有:功能性測試、容量測試、安全性測試、負載測試、恢復性測試、標杆測試、穩定性測試、可靠性測試等。

在我們軟體測試行業中最常見的還是功能測試,考察個人對需求的掌握度和軟體工程的基本知識。

白盒測試

1.白色透明的黑子;程式碼實現,功能邏輯;

2.開發--看程式碼---單元測試

是一種測試用例設計方法,在這裡盒子指的是被測試的軟體,白盒,顧名思義即盒子是可視的,你可以清楚盒子內部.的東西以及裡面是如何運作的,因此白盒測試需要你對系統內部的結構和工作原理有一-個清楚的瞭解,並且基於這個知識來設計你的用例。

白盒測試技術一般可被分為靜態分析和動態分析兩類技術。

白盒測試優點:迫使測試人員去仔細的思考軟體的實現可以檢測程式碼中的每條分支和路徑揭示隱藏在程式碼中的錯誤對程式碼的測試比較徹底,最優化。

白盒測試缺點:無法檢測程式碼中遺漏的路徑和資料敏感性錯誤不驗證格式的正確性。

灰盒測試(補充)

1.介於白盒黑盒兩者之間

2.瞭解實現流程邏輯,不需要知道具體程式碼

3.介面測試---使用方法

白盒測試和黑盒測試往往不是決然分開的,一般在白盒測試中交叉使用黑盒測試的方法,在黑盒測試中交叉使用白盒測試的方法。

最常見的灰盒測試是整合測試