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

時間 2022-02-06 19:25:14

1樓:雜貨鋪

白盒測試是一種測試用例設計方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。

黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。

兩種測試都適合網頁遊戲。

區別如下:

1、測試方法不同

白盒測試的測試方法有**檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程式變異。

黑盒測試用例設計方法包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法、場景法等。

2、作用不同

白盒測試通過檢查軟體內部的邏輯結構,對軟體中的邏輯路徑進行覆蓋測試;在程式不同地方設立檢查點,檢查程式的狀態,以確定實際執行狀態與預期狀態是否一致。

黑盒測試法注重於測試軟體的功能需求,主要試圖發現功能不正確或遺漏、介面錯誤、輸入和輸出錯誤、資料庫訪問錯誤、效能錯誤和初始化和終止錯誤等幾類錯誤。

3、特點不同

白盒測試依據軟體設計說明書進行測試、對程式內部細節的嚴密檢驗、針對特定條件設計測試用例、對軟體的邏輯路徑進行覆蓋測試。

黑盒測試是以使用者的角度,從輸入資料與輸出資料的對應關係出發進行測試。

白盒測試優缺點:

優點:1. 迫使測試人員去仔細思考軟體的實現;

2. 可以檢測**中的每條分支和路徑;

3. 揭示隱藏在**中的錯誤;

4. 對**的測試比較徹底;

5. 最優化。

缺點:1. 昂貴;

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

3. 不驗證規格的正確性。

2樓:赤社

白盒測試:

白盒測試又稱結構測試、透明盒測試、邏輯驅動測試或基於**的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。"白盒"法全面瞭解程式內部邏輯結構、對所有邏輯路徑進行測試。

"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程式的內部結構,從檢查程式的邏輯著手,得出測試資料。貫穿程式的獨立路徑數是天文數字。

黑盒測試:

黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程式看作一個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。

黑盒測試著眼於程式外部結構,不考慮內部邏輯結構,主要針對軟體介面和軟體功能進行測試。

最大區別:

二者最大的區別就是測試物件不一樣,白盒測試主要針對的是程式**邏輯,黑盒測試主要針對的是程式所展現給使用者的功能,簡單的說就是前者測試後臺程式後者測試前臺展示功能。

3樓:

白盒測試:是通過程式的源**進行測試而不使用使用者介面。這種型別的測試需要從**句法發現內部**在演算法,溢位,路徑,條件等等中的缺點或者錯誤,進而加以修正。

黑盒測試:是通過使用整個軟體或某種軟體功能來嚴格地測試, 而並沒有通過檢查程式的源**或者很清楚地瞭解該軟體的源**程式具體是怎樣設計的。

測試人員通過輸入他們的資料然後看輸出的結果從而瞭解軟體怎樣工作。在測試時,把程式看作一個不能開啟的黑盆子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收和正確的輸出。

二者最大的區別應該就是測試物件不一樣,白盒測試主要針對的是程式**邏輯,黑盒測試主要針對的是程式所展現給使用者的功能,簡單的說就是前者測試後臺程式後者測試前臺展示功能。

擴充套件資料

白盒測試過程

白盒測試的測試方法有**檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程式變異。

白盒測試法的覆蓋標準有邏輯覆蓋、迴圈覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。六種覆蓋標準發現錯誤的能力呈由弱到強的變化:

1.語句覆蓋每條語句至少執行一次。

2.判定覆蓋每個判定的每個分支至少執行一次。

3.條件覆蓋每個判定的每個條件應取到各種可能的值。

4.判定/條件覆蓋同時滿足判定覆蓋條件覆蓋。

5.條件組合覆蓋每個判定中各條件的每一種組合至少出現一次。

6.路徑覆蓋使程式中每一條可能的路徑至少執行一次。

黑盒測試

在測試時,把程式看作一個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收和正確的輸出。

它不管程式內部結構是什麼樣的,只是從使用者出發,根據產品應該實現的實際功能和已定義好的產品規格來驗證產品所應該具有的功能是否實現,每個功能是否都能正常使用,是否滿足使用者要求。

4樓:ying影英音

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

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

區別:1.在測試的方面上有所不同:軟體的黑盒測試意味著測試要在軟體的介面處進行。軟體的白盒測試是對軟體的過程性細節做細緻的檢查。

2.在測試方法上存在差異:黑盒測試是把測試物件看做一個黑盒子,測試人員完全不考慮程式內部的邏輯結構和內部特性,只依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明。

白盒測試這種方法是把測試物件看做一個開啟的盒子,它允許測試人員利用程式內部的邏輯結構及有關資訊,設計或選擇測試用例,對程式所有邏輯路徑進行測試。

3.側重程式的錯誤方面上有不同:黑盒測試主要是為了發現以下幾類錯誤:是否有不正確或遺漏的功能?在介面上,輸入是否能正確的接受?能否輸出正確的結果?

白盒測試主要是想對程式模組進行如下檢查:對程式模組的所有獨立的執行路徑至少測試一遍。對所有的邏輯判定,取「真」與取「假」的兩種情況都能至少測一遍。

5樓:小y泡泡

白盒測試:

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

黑盒測試:

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

區別一:從定義上

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

區別二:從測試目的上

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

區別三:檢測方式上

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

擴充套件資料

白盒測試的優點:

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

2.可檢測**中的每條分支和路徑

3.揭示隱藏在**中的錯誤

4.對**的測試比較徹底

白盒測試的缺點:

1.昂貴

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

3.不驗證規格的正確性

黑盒測試的優點:

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

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

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

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

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

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

黑盒測試的缺點:

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

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

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

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

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

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

6樓:靠名真tm難起

黑盒測試又叫功能測試、資料驅動測試或給予需求規格說明書的功能測試。這種測試注重於測試軟體的功能性需求。

白盒測試又稱結構測試、邏輯驅動測試或基於程式**內部結構的測試。此時,需要深入考察程式**的內部結構、邏輯設計等等。白盒測試需要測試工程師具備很深的軟體開發工地,精通相應的開發語言,一般的軟體測試工程師難以勝任該工作。

區別:1.白盒測試可檢測**中的每條分支和路徑;黑盒測試有很多程式路徑沒有被測試到。

2.白盒測試對**的測試比較徹底;黑盒測試不能直接針對特定程式段測試,而這些程式段可能很複雜,有可能隱藏更多的問題。

3.白盒測試能仔細考慮軟體的實現;黑盒測試只有一小部分輸入被測試到,要測試每個可能的輸入幾乎不可能。

4.白盒測試對**的測試比較徹底;黑盒測試不能直接針對特定程式段測試,而這些程式段可能很複雜,有可能隱藏更多的問題。

5.對於子系統甚至系統,黑盒測試效率要比白盒測試高。

6.白盒測試比較昂貴

7樓:year醫海無邊

首先糾正 這個問題不屬於「硬體」類的

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

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

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

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

軟體的黑盒測試意味著測試要在軟體的介面處進行。這種方法是把測試物件看做一個黑盒子,測試人員完全不考慮程式內部的邏輯結構和內部特性,只依據程式的需求規格說明書,檢查程式的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或資料驅動測試。

黑盒測試主要是為了發現以下幾類錯誤:

1、是否有不正確或遺漏的功能?

2、在介面上,輸入是否能正確的接受?能否輸出正確的結果?

3、是否有資料結構錯誤或外部資訊(例如資料檔案)訪問錯誤?

4、效能上是否能夠滿足要求?

5、是否有初始化或終止性錯誤?

軟體的白盒測試是對軟體的過程性細節做細緻的檢查。這種方法是把測試物件看做一個開啟的盒子,它允許測試人員利用程式內部的邏輯結構及有關資訊,設計或選擇測試用例,對程式所有邏輯路徑進行測試。通過在不同點檢查程式狀態,確定實際狀態是否與預期的狀態一致。

因此白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程式模組進行如下檢查:

1、對程式模組的所有獨立的執行路徑至少測試一遍。

2、對所有的邏輯判定,取「真」與取「假」的兩種情況都能至少測一遍。

3、在迴圈的邊界和執行的界限內執行迴圈體。

4、測試內部資料結構的有效性,等等。

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

什麼是軟體測試黑盒和白盒有什麼區別,技術性不強的話能不能做測試都需要做些什麼

可以做測試啊,不管是黑盒還是白盒測試,最終都是要手工走一遍的 軟體測試黑盒偏重於功能性測試,不需要了解軟體的內部邏輯結構 白盒測試偏重於軟體內部邏輯結構的測試,需要了解程式內部的實際實現方式,相比較而言,白盒測試要求的技術性會高些 技術性不強的話可以先從黑盒測試做起,逐漸進入白盒測試,其實測試重在實...

白箱測試和黑箱測試是什麼 什麼是迴歸測試

柒月黑瞳 白箱測試法是一種程式測試的概念,與黑箱測試相對應。把測試物件看成一個開啟的盒子,它允許測試人員利用程式內部的邏輯結構及有關資訊,設計或選擇測試用例,從而對程式所有邏輯路徑進行測試。迴歸測試是指修改了舊 後,重新進行測試以確認修改沒有引入新的錯誤或導致其他 產生錯誤。自動迴歸測試將大幅降低系...

什麼是心理測試,什麼是「心理測試」?

理測試在嚴格的科學應用範圍內,是一種輔助心理學家 心理 人員進行心理鑑別 研究 診斷的一門技術,就好像是醫院裡的x光 b超一樣。但因其測試是通過顯性推斷隱性,所以其規定極其嚴格。首先,是測試編制,必須是由心理方面的專家學者進行科學嚴格的論證後才能編制,編制完成後,還要進行實地測試,如果達不到多個有效...