白盒測試一些方法

2022-09-01 02:39:11 字數 1905 閱讀 6917

白盒測試足針對軟體內部結構的測試,土要是川覆蓋的方式對程式**進行測、戚。下面就白盒測試中的六種典型覆蓋方法進行**。

1)語句覆蓋

作為最基本的邏輯覆蓋方法,語句覆蓋

的含義是:選擇足夠多的測試資料,使得被測程式中的每個語句至少執行一次。通過語句覆蓋,可以直觀地從源**得到測試用例,無須細分每條判定表示式;然而,語句覆蓋對程式的邏輯覆蓋很少,對於乙個包含多個條件的判定表示式,它只關心判定表示式的值,並沒有分別測試判定表示式中每個條件取不同值的情況。所以語句覆蓋無法全面反映多分支的邏輯運算,是很弱的邏輯覆蓋標準。

2)判定覆蓋

判定覆蓋也稱分支覆蓋.其含義為:不儀每個語句必須至少執行一次,而且每個判定的每種可能的結果都應該至少執行一次,即每個判定的每個分支都至少執行一次判定覆蓋相對於語句覆蓋,其邏輯覆蓋能力更強。然而判定覆蓋也具有和語句覆蓋

一樣的簡單性,大部分的判定語句是南多個邏輯條件組合而成,它也僅判斷判定表示式的最終結果,而忽略每個條件的取值情況,故在執行過程中必然會遺漏部分測試路徑。

3)條件覆蓋

條件覆蓋的含義是,不僅每個語句至少執行一次,而且使判定表示式中的每個條件都取到各種可能的結果。相對於判定覆蓋,條件覆蓋的覆蓋能力更強,因為判定覆蓋只關心整個判定表示式的值,而條件覆蓋使判定表示式中每個條件都取到了不同的結果。條件覆蓋增加了對符合判定情況的測試。然而,要達到條件覆蓋,需要足夠多的測試用例,但條件覆蓋並不能保證判定覆蓋。因此,條件覆蓋只能保證每個條件至少有一次為真,而未考慮所有的判定結果。

4)判定/條件覆蓋

由於判定覆蓋不一定包含條件覆蓋

,條件覆蓋也不一定包含判定覆蓋

.故提出一種既能滿足判定覆蓋標準又能滿足條件覆蓋標準的覆蓋方法,即:判定/條件覆蓋。其含義是:選取足夠多的測試資料,使得判定表示式中的每個條件都取到各種可能的值,而且每個判定表示式也都取到各種可能的結果。判定/條件覆蓋準則的缺點是未能考慮條件的組合情況。

5)條件組合覆蓋

條件組合覆蓋是更強的邏輯覆蓋標準,其含義是:選取足夠多的測試資料,使得每個判定表示式中條件的各種可能組合都至少出現一次。滿足條件組合覆蓋準則的測試資料必然滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準則。因此,條件組合覆蓋是述幾種覆蓋標準中最強的。然而,條件組合覆蓋存在兩個不足之處:是線性地增加了測試資料的數量;二是滿足條件組合覆蓋標準的測試資料不一定能使序中的每條路徑都執行到。

6)路徑覆蓋

路徑覆蓋

要求選取足夠多的測試資料,覆蓋序中所有可能的路徑。其優點是:可以對程式進行徹底的測試,比前述五種的覆蓋面都廣。然而,由於路徑覆蓋需要對所有可能的路徑進行測試(包括迴圈、條件組合、分支選擇等),故需要設計大量、複雜的測試用例

,使得t作量呈指數級增長。

[編輯]

1.白盒法全面了解程式內部邏輯結構、對所有邏輯路徑進行測試。白盒法是窮舉路徑測試。在使用這一方案時,要求測試者必須檢查程式的內部結構.從檢查程式的邏輯著手,得出測試資料。貫穿程式的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程式違反了設計規範

.即程式本身是個錯誤的程式。第二,窮舉路徑測試不可能查出程式中因遺漏路徑而出錯。第三,窮舉路徑測試可能發現不了一些與資料相關的錯誤。

2.白盒測試是工作量巨大並且枯燥的工作.視覺化的設計對於測試來說是十分重要的。在選購白盒測試工具時,應當考慮該款測試工具的視覺化是否良好。例如:測試過程中是否可以顯示覆蓋率的函式分布圖和上公升趨勢圖,是否使用不同的顏色區分已執行和未執行的**段顯示分配記憶體情況實時圖表等,這些對於測試效率和測試質量的提高是具有很大的作用的。白盒測試目前主要用在具有高可靠性要求的軟體領域,例如:軍工軟體、航天航空軟體、工業控制軟體等等。

新開發的軟體通過了黑盒測試和白盒測試以後.可以說基本滿足了設計要求,但並不能保證該軟體沒有問題存在.只有經過實際試執行的檢驗,才能更進一步完善和優化,達到軟體最優狀態。

總之,軟體測試的目的不僅是為了發現軟體缺陷與錯誤,而且是對軟體質量進行度量和評估,以提高軟體的質量。

python 白盒測試 白盒測試方法

白盒測試是單元測試階段常用到的測試方法,其特點有 1 可以構成測試資料,使特定程式部分得到測試 2 有一定的充分性度量手段 3 可獲得較多工具支援 4 通常只用於單元測試。下邊通過一段 來看一下白盒測試中的邏輯覆蓋 那麼為了清晰,我們畫出乙個該程式的流程圖 1 語句覆蓋 語句覆蓋是最弱的邏輯覆蓋準則...

關於白盒測試的一些想法

近一年多一直在從事服務端的測試 工作,雖然之前也做過兩年,但融合了自動化測試和功能測試以及單元測試,所以精力有限,接觸到的白盒測試比較碎也比較淺。近期專案進入了調整期,有時間整理下對於專案測試中的 測試一些感觸。順便對未來的工作方向和計畫做好準備工作。2014年可能需要繼續負責服務端專案測試工作,但...

白盒測試方法

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