白盒測試(初)

2021-10-23 22:08:13 字數 1131 閱讀 9635

又稱為結構測試或者邏輯驅動測試,是一種按照程式的邏輯和編碼結構設計測試資料的方法

白盒測試是關注程式的內部邏輯實現的

目的:白盒測試主要目的是發現問題,找bug(不一定是功能bug、邏輯bug,冗餘**、注釋率、**太複雜);改正問題,使得**執行正常

角色:白盒測試也是由測試人員參與,開發人員可以做單元測試;開發人員完成除錯工作

方法:白盒測試是乙個較為系統、全面的過程,有豐富的測試方法(等價類、邊界值、正交表等、判定表等);除錯更多的經驗的總結

邏輯覆蓋測試是以程式內部的邏輯結構為基礎的測試方法

if(a>1 && b==0){}

對程式的邏輯覆蓋很少,只關心判定表示式的值,是很弱的邏輯覆蓋標準。

判定覆蓋比語句覆蓋強一些,能發現一些語句覆蓋無法發現的問題。但是往往一些判定條件都是由多個邏輯條件組合而成的,進行分支判斷時相當於對整個組合的最終結果進行判斷,這樣就會忽略每個條件的取值情況,導致遺漏部分測試路徑。

通常而言條件覆蓋比判定覆蓋強,因為條件覆蓋使得判定中的每乙個條件都取到了不同的結果,這一點判定覆蓋則無法保證。但條件覆蓋也有缺陷,因為它只能保證每個條件都取到了不同結果,但沒有考慮到判定結果,因此有時候條件覆蓋並不能保證判定覆蓋。

判定/條件覆蓋,說白了就是我們設計的測試用例可以使得判斷中每個條件所有的可能取值至少執行一次(條件覆蓋),同時每個判斷本身所有的結果也要至少執行一次(判定覆蓋)。不難發現判定條件覆蓋同時滿足判定覆蓋和條件覆蓋,彌補了兩者各自的不足,但是判定條件覆蓋並未考慮條件的組合情況。

條件組合覆蓋,測試用例應該使得每個判定中的各個條件的各種可能組合都至少出現一次。顯然,滿足條件組合覆蓋的測試用例一定是滿足判定覆蓋、條件覆蓋和判定條件覆蓋的。

路徑覆蓋,意思是說我們設計的測試用例可以覆蓋程式中所有可能的執行路徑。這種覆蓋方法可以對程式進行徹底的測試用例覆蓋,比前面講的五種方法覆蓋度都要高。

概念:根據程式的邏輯控制所產生的路徑進行測試用例設計的方法 。

基本路徑測試是mccabe提出的一種「白盒」測試方法。

把程式結構的控制流程圖轉化為有向圖(即程式圖),然後計算強連通有向圖的環數來衡量軟體的質量,用此方法得到的複雜度稱為圈複雜度。(為了使之強連通,我們可以從出口點到入口點畫一條虛弧)。

圈複雜度計算公式為:v(g)=m-n+p

圈複雜度其他計算方法:

python 白盒測試 白盒測試方法

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

黑盒測試 白盒測試

黑盒測試 black box testing,又稱為功能測試或資料驅動測試 是把測試物件看作乙個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟體產品的功能,不需測試軟體產品的內部結構和處理過程。黑盒測試注重於測試軟體的功能性需求,也即黑盒測試使軟體工程師派生出執行程式所有功能需求的輸入條件。黑盒測...

軟體測試 白盒測試

1 白盒測試的概述 由於邏輯錯誤和不正確假設與一條程式路徑被執行的可能性成反比。由於我們經常相信某邏輯路徑不可能被執行,而事實上,它可能在正常的情況下被執行。由於 中的筆誤是隨機且無法杜絕的,因此我們要進行白盒測試。白盒測試又稱結構測試,透明盒測試 邏輯驅動測試或基於 的測試。白盒測試是一種測試用例...