白盒測試的邏輯覆蓋


符號說明:

  ^ 代表邏輯運算符 && 或者 || 
   
  T 代表 True F 代表 False 
   
  A / B 代表條件表達式 

 

六種邏輯覆蓋的強弱關系:

在外面很多的教程都認為這六種邏輯覆蓋從弱到強的排列順序是:

語句覆蓋->判定覆蓋->條件覆蓋->判定-條件覆蓋->條件組合覆蓋->路徑覆蓋

但經過上面的分析,它們之間的關系實際上可以用下圖表示

 

 

語句覆蓋

每條語句至少執行一次。

 

 測試用例條件: A ^ B = T 

 

判定覆蓋(分支覆蓋)

分支執行一致

 

 測試用例條件: 

       A ^ B = T 
       A ^ B = F 

 

條件覆蓋

 

每個條件取到各種可能的值

 

 測試用例條件: 

       A=T     A=F 
       B=T     B=F

 

 

判定/條件覆蓋

判定覆蓋、條件覆蓋

 

 測試用例條件: 

       A ^ B = T    A ^ B = F 
       A=T     A=F 
       B=T     B=F

 

 

條件組合

每個判斷語句中條件結果的所有可能組合至少出現一次

 

 測試用例條件: 

       A= T    B= T  
       A= T    B= F  
       A= F    B= T  
       A= F    B= F  

 

路徑覆蓋

覆蓋程序中所有可能的執行路徑

優點:這種覆蓋方法可以對程序進行徹底的測試用例覆蓋,比前面講的五種方法覆蓋度都要高。

缺點:於路徑覆蓋需要對所有可能的路徑進行測試(包括循環、條件組合、分支選擇等),那么需要設計大量、復雜的測試用例,使得工作量呈指數級增長。路徑覆蓋雖然是一種比較強的覆蓋,但未必考慮判斷語句中條件表達式結果的組合,並不能代替條件覆蓋和條件組合覆蓋。

實例:

https://blog.csdn.net/hanjing_1995/article/details/52444162

https://www.cnblogs.com/shuhaoz/p/4419193.html


  

(1)語句覆蓋

使程序中的每個可執行語句都能執行一次的測試用例

測試用例條件: A ^ B = T 
語句覆蓋

(2)判定覆蓋(分支覆蓋)

  對於判斷語句,在設計用例的時候,要設計判斷語句結果為True和False的兩種情況 
   
測試用例條件: 
       A ^ B = T 
       A ^ B = F 
       判定覆蓋 
   

(3)條件覆蓋

  設計用例時針對判斷語句里面每個條件表達式true 和 false各取值一次,不考判斷語句的計算結果

測試用例條件: 
       A=T     A=F 
       B=T     B=F 
       條件覆蓋

(4)判定條件覆蓋(分支條件覆蓋)

  設計測試用例時,使得判斷語句中每個條件表達式的所有可能結果至少出現一次,每個判斷語句本身所有可能結果也至少出現一次。

測試用例條件: 
       A ^ B = T    A ^ B = F 
       A=T     A=F 
       B=T     B=F 
分支條件覆蓋

(5)條件組合覆蓋

設計測試用例時,使得每個判斷語句中條件結果的所有可能組合至少出現一次

測試用例條件: 
       A= T    B= T  
       A= T    B= F  
       A= F    B= T  
       A= F    B= F  
條件組合覆蓋

(6)路徑覆蓋

設計測試用例時,覆蓋程序中所有可能的執行路徑

優點:這種覆蓋方法可以對程序進行徹底的測試用例覆蓋,比前面講的五種方法覆蓋度都要高。

缺點:於路徑覆蓋需要對所有可能的路徑進行測試(包括循環、條件組合、分支選擇等),那么需要設計大量、復雜的測試用例,使得工作量呈指數級增長。路徑覆蓋雖然是一種比較強的覆蓋,但未必考慮判斷語句中條件表達式結果的組合,並不能代替條件覆蓋和條件組合覆蓋。

這傳奇你卸載算我輸!爆率9.8,0元爆神裝,靈活回收!貪玩游戲 · 頂新

 
陳小春哭訴:北京市轄區土豪怒砸2億請他代言這款0充值傳奇!真經典!貪玩游戲 · 頂新

白盒測試中的六種覆蓋方法

03-27
白盒測試作為測試人員常用的一種測試方法,越來越受到測試工程師的重視。本文檔講解了白盒測試中的六種覆蓋方法,
下載

白盒測試---六種覆蓋方法 - write6的專欄 - CSDN博客

9-14

白盒測試的6種覆蓋方法 - 上善若水,水善利萬物而不爭。 - CSDN博客

6-25

別再玩假傳奇了!這款傳奇爆率9.8,你找到充值入口算我輸!貪玩游戲 · 頂新

白盒測試中的六種覆蓋方法及案例分析 - Dancinglikelink - CSDN博客

6-22

白盒測試中邏輯覆蓋六種方法 - hellofeiya的專欄 - CSDN博客

7-6

白盒測試的幾種覆蓋方法:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋詳解

閱讀數 1萬+

文章轉自:http://www.51testing.com/html/44/n-3713444.html白盒測試用例設計的一個很重要的評估標准就是對代碼的覆蓋度。一說到覆蓋,大家都感覺非常熟悉,但是常...博文來自: LOVEYSUXIN的專欄

zgege 關注
zgege

 

131篇文章

排名:千里之外

 

write6 關注
write6

 

65篇文章

排名:千里之外

 

獵摘互聯網軟件測試業界技術文章專用博客 關注
獵摘互聯網軟件測試業界技術文章專用博客

 

212篇文章

排名:8000+

 

iteye_19603 關注
iteye_19603

 

0篇文章

排名:千里之外

 

軟件測試-白盒測試(六種覆蓋准則) - weixin_40975029的..._CSDN博客

5-9

白盒測試中的六種覆蓋方法案例分析 - weixin_34273479的博客 - ...

5-31

軟件測試-白盒測試(六種覆蓋准則) - zgege的博客 - CSDN博客

7-9

白盒測試的6種覆蓋方法 - thewebcode - CSDN博客

4-19

白盒測試中的幾種覆蓋方法 - weixin_34279246的博客 - CSDN博客

6-24

白盒測試(分別以判定覆蓋、條件覆蓋、條件組合覆蓋設計測試用例)

03-26
本次實驗主要是用邏輯覆蓋法和基路徑測試法對程序進行測試驗證,運行程序測試之前按照老師課上講的思路先將各種測試方法的測試用例以及預期結果寫了下來,然后對其進行上機測試,得出真實結果與預期結果進行對比。個
下載
陳小春哭訴:北京市轄區土豪怒砸2億請他代言這款0充值傳奇!真經典!貪玩游戲 · 頂新

什么是白盒測試,什么是黑盒測試,有幾種測試得方法

11-25

同上論壇

條件覆蓋、語句覆蓋和路徑覆蓋

09-22

Int IsLeap(int year) { if(year%4 ==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } els論壇

這變態傳奇你卸載算我輸!爆率9.8,不花一分錢,刀刀爆橙裝!貪玩游戲 · 頂新
這變態傳奇你卸載算我輸!爆率9.8,不花一分錢,刀刀爆橙裝!貪玩游戲 · 頂新

語句覆蓋、條件覆蓋(分支覆蓋)、判定覆蓋、條件-判定覆蓋、組合覆蓋、路徑覆蓋 的區別

閱讀數 1萬+

文章轉自:https://blog.csdn.net/virus2014/article/details/51217026 1語句覆蓋使所有的判斷語句都能執行一次的條件案例,例如有兩個if語句,那么就...博文來自: Agony的博客

如果你連一毛錢都不想充,那就玩這款游戲,開局0元VIP龍騰傳世 · 頂新
如果你連一毛錢都不想充,那就玩這款游戲,開局0元VIP龍騰傳世 · 頂新

白盒測試用例設計方法-語句覆蓋

閱讀數 6087

白盒測試用例設計方法-語句覆蓋法博文來自: 光明矢的專欄

原創
1
粉絲
52
喜歡
26
評論
9
等級:
 
訪問:
 
21萬+
積分:
 
2435
排名:
 
2萬+
勛章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM