日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

动态白盒测试——逻辑覆盖测试法

發布時間:2023/12/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动态白盒测试——逻辑覆盖测试法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

邏輯覆蓋測試法

定義

以程序內部的邏輯結構為基礎的用例設計方法,它通過對程序邏輯結構的遍歷實現程序的覆蓋。
邏輯覆蓋測試法分為:語句覆蓋、判定覆蓋(分支覆蓋)、條件覆蓋、判定-條件覆蓋、條件組合覆蓋、路徑覆蓋六種。

//以下代碼用于測試六種邏輯覆蓋測試法 IntlogicExample(int x, int y){int magic=0;if(x>0&&y>0)magic=x + y + 10; //語句1else magic = x + y - 10; //語句2if(magic<) magic=0; //語句3return magic; //語句4 }

代碼流程圖如下

語句覆蓋

定義

語句覆蓋要求設計足夠多的測試用例,運行被測程序,使得程序中每條語句至少被執行一次。

實例

測試用例編號輸入數據預期輸出覆蓋語句
CASE1x=3 y=3magic=16語句1、4
CASE2x=-3 y=0magic=0語句2、3

(測試用例不唯一)
在這個實例中,無法判斷運算中邏輯關系錯誤。當第一個判斷語句if(x>0&&y>0)被錯寫成if(x>0||y>0)也能達到100%的語句覆蓋,所以語句覆蓋不能發現上述的邏輯錯誤。

判定覆蓋

滿足判定覆蓋,則滿足語句覆蓋。

定義

判定覆蓋,又稱”分支覆蓋“;要求設計足夠多的測試用例,運行被測程序,使得程序中每個判斷的”真“和”假“都至少被執行一次。

實例

在本例共有兩個判斷條件:if(x>0&&y>)和if(magic<0)

測試用例編號輸入數據預期輸出執行路徑
CASE1x=3 y=3magic=16b–>c–>e
CASE2x=-3 y=0magic=0a–>c–>d–>e

通過著兩個測試用例,兩個判斷的真、假分支都已經被執行過,所以滿足了判定覆蓋的標準。
在這個實例中,無法判斷運算中邏輯關系錯誤。當第一個判斷語句if(x>0&&y>0)被錯寫成if(x>0||y>0)也能達到100%的語句覆蓋,所以判定覆蓋也無法發現上面的邏輯錯誤。

條件覆蓋

定義

條件覆蓋要求設計足夠多的測試用例,運行被測程序,使得判定中的每個條件獲得各種可能的結果;即每個條件至少有一次為真,有一次為假。

實例

本例共有兩個判斷條件:if(x>0&&y>)和if(magic<0)共計三個條件x>0、y>0、magic<0

測試用例編號輸入數據預期輸出執行路徑
CASE1x=3 y=0magic=0a–>c–>d–>e
CASE2x=-3 y=15magic=2a–>c–e

通過這兩個測試用例,三個條件的各種可能取值都滿足了一次,達到了100%條件覆蓋的標準。
條件覆蓋職能保證每個條件至少有一次為真,而不考慮所有的判定結果。因此條件覆蓋不能保證滿足判定覆蓋。

判定-條件覆蓋

同時滿足判定覆蓋和條件覆蓋

定義

判定-條件覆蓋要求設計足夠多的用例,運行被測程序,使得被測程序中的每個判斷本身的結果(真、假)至少滿足一次,同時,每個邏輯條件的可能值也至少滿足一次。即同時滿足100%判定覆蓋和100%條件覆蓋的標準。

實例

測試用例編號輸入數據預期輸出執行路徑
CASE1x=3 y=3magic=16b–>c–e
CASE2x=-3 y=0magic=0a–>c–>d–>e

通過這兩個測試用例,所有條件的可能取值都滿足了一次,而且所有的判斷本身的判定結果也都滿足了一次。
判定-條件覆蓋滿足了判定覆蓋準則和條件覆蓋準則,彌補了二者的不足。但未考慮條件組合的情況。

條件組合覆蓋

條件組合覆蓋同時滿足語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋

定義

條件組合覆蓋要求設計足夠多的測試用例,運行被測程序,使得被測程序中每個判定中條件結果的所有可能組合至少執行一次。

其測試用例需要注意三點: 1. 條件組合只針對同一個判斷語句內存在多個條件的情況,讓這些條件的取值進行笛卡爾乘積組合; 2. 不同的判斷語句內的條件取值之間無須組合; 3. 對于單條件的判斷語句,只需要滿足自己所有的取值即可。

實例

測試用例編號輸入數據預期輸出執行路徑
CASE1x=3 y=3magic=16b–>c–e
CASE2x=-3 y=0magic=0a–>c–>d–>e
CASE3x=3 y=0magic=0a–>c–>d–>e
CASE4x=-3 y=15magic=2a–>c–>e

通過這四個測試用例,程序中所有條件取值的組合都被滿足了一次。

路徑覆蓋

100%滿足路徑測試,一定能100%滿足判定覆蓋標準,單并不一定能100%滿足條件覆蓋,也就不能滿足100%條件組合覆蓋。

定義

路徑覆蓋要求設計足夠的測試用例,運行被測程序,覆蓋程序中所有可能的路徑。

實例

測試用例編號輸入數據預期輸出執行路徑
CASE1x=3 y=3magic=16b–>c–e
CASE2x=-3 y=0magic=0a–>c–>d–>e
CASE3x=-3 y=15magic=2a–>c–>e

本例中共有4條路徑,其中路徑a-->c-->e不可能實現,通過這三個測試用例,所有可能的路徑都被滿足了一次。

總結

以上是生活随笔為你收集整理的动态白盒测试——逻辑覆盖测试法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。