03_測試覆蓋率

測試覆蓋率

學習目標

掌握各種測試覆蓋率的含義

能計算各種測試覆蓋率

理解覆蓋率在白盒測試中所起的作用

覆蓋率概念

覆蓋率是用來度量測試完整性的一個手段。覆蓋率是測試技術有效性的一個度量项鬼。

覆蓋率 = (至少被執(zhí)行一次的item數(shù))/item的總數(shù)

覆蓋率按照測試方法大體上可以劃分為三大類,即白盒覆蓋(White-Box Coverage)侦厚、灰盒覆蓋(Gray-Box Coverage)和

黑盒覆蓋(Black-Box Coverage)耻陕。

測試用例設計不能一味追求覆蓋率,因為測試成本隨覆蓋率的增加而增加。

白盒覆蓋率

白盒覆蓋率中使用的最常見的就是邏輯覆蓋率(Logical Coverage),也叫代碼覆蓋率(Code Coverage)或結構化覆蓋率(Structural Coverage)刨沦。

邏輯覆蓋包括:

語句覆蓋

語句覆蓋(Statement Coverage)的含義是,在測試時運行被測程序后,程序中被執(zhí)行到的可執(zhí)行語句的比率:

語句覆蓋率 = (至少被執(zhí)行一次的語句數(shù)量)/(可執(zhí)行的語句總數(shù))

在測試時,首先設計若干個測試用例,然后運行被測試程序,使程序中的每個可執(zhí)行語句至少執(zhí)行一次诗宣。

語句覆蓋率

即使語句覆蓋率達到百分之100%也會有缺陷發(fā)現(xiàn)不了,所以覆蓋率只是我們度量的手段。

判斷覆蓋率

判斷覆蓋(Decision Coverage)也叫分支覆蓋(Branch Coverage)想诅,它的含義是,在測試時運行被測程序后,

程序中所有判斷語句的取真分支和取假分支被執(zhí)行到的比率:

判定覆蓋率= (判定結果被評價的次數(shù))/(判定結果的總數(shù))

在測試時,首先設計若干個測試用例,然后運行被測試程序,使得程序中每個判斷的取真分支和取假分支至少經歷一次,

即判斷的真假值均曾被滿足召庞。

即使判定覆蓋率達到了100%也會有缺陷發(fā)現(xiàn)不了,所以覆蓋率只是我們度量的手段。

判斷覆蓋

條件覆蓋

條件覆蓋率

條件覆蓋(Condition Coverage)的含義是,在測試時運行被測程序后,所有判斷語句中每一個

條件的可能取值(真值和假值)出現(xiàn)過的比率:

條件覆蓋率 = (條件操作數(shù)值至少被評價一次的數(shù)量)/(條件操作數(shù)值的總數(shù))

判定條件覆蓋

判定-條件覆蓋率

判定條件覆蓋(Decision Condition Coverage),也叫分支條件覆蓋(Branch Condition Coverage)来破,也叫分支

條件覆蓋(Branch Condition Cverage)篮灼。所謂判定一條件覆蓋就是設計足夠的測試用例,使得判斷中每個調價函所有

可能取值至少執(zhí)行一次,同時每個判斷本身的所有可能判斷結果至少執(zhí)行一次。

判定條件覆蓋率 = (條件操作數(shù)值或判定結果至少被評價一次的數(shù)量)/(條件操作數(shù)值總數(shù)+判定結果總數(shù))

條件組合覆蓋

條件組合覆蓋率(Multiple Condition Coverage),基本思想是:設計足夠的測試用例,使得每一個判定中條件的各種可能組合

都至少出現(xiàn)一次徘禁。

條件組合覆蓋率 = (條件組合至少被評價一次的數(shù)量)/(條件組合總數(shù))

路徑覆蓋率

路徑能否全面覆蓋在軟件測試中是個重要問題,如果程序中的每一條路徑都得到考驗,才能說程序受到了全面檢驗

即使對于路徑數(shù)很有限的程序已經做到了路徑覆蓋,仍然不能保證被測程序的正確性

每種覆蓋率度量的時候都有其局限性,因此要把各種覆蓋率組合起來對測試進行度量穿稳。

函數(shù)覆蓋

有很多測試工具,例如TrueCoverage,PureCoverage等,都提供了函數(shù)覆蓋(Function Coverage)的概念,函數(shù)覆蓋是針對系統(tǒng)

或一個子系統(tǒng)的測試的,它表示在該測試中,有哪些函數(shù)被測試到了,其被測試到的頻率有多大,這些函數(shù)在系統(tǒng)所有函數(shù)中占

的比例有多大晌坤。函數(shù)覆蓋是一個比較容易自動化的技術逢艘。

函數(shù)覆蓋 = (至少被執(zhí)行一次的函數(shù)數(shù)量)/(系統(tǒng)中函數(shù)的總數(shù))

接口覆蓋

接口覆蓋(Interface Coverage),或者稱為入口點覆蓋(Entry-Point Coverage),要求通過設計一定的用例使得系統(tǒng)的每個接口被測試到。

接口覆蓋 = (至少被執(zhí)行一次的接口數(shù)量)/(系統(tǒng)中接口的總數(shù))

灰盒覆蓋率

黑盒覆蓋率

面向對象的覆蓋率


*/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末骤菠,一起剝皮案震驚了整個濱河市它改,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌商乎,老刑警劉巖央拖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡鲜戒,警方通過查閱死者的電腦和手機专控,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遏餐,“玉大人伦腐,你說我怎么就攤上這事∈Ф迹” “怎么了柏蘑?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長粹庞。 經常有香客問我咳焚,道長,這世上最難降的妖魔是什么庞溜? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任革半,我火速辦了婚禮,結果婚禮上流码,老公的妹妹穿的比我還像新娘又官。我一直安慰自己,他們只是感情好旅掂,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布赏胚。 她就那樣靜靜地躺著访娶,像睡著了一般商虐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上崖疤,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天秘车,我揣著相機與錄音,去河邊找鬼劫哼。 笑死叮趴,一個胖子當著我的面吹牛,可吹牛的內容都是我干的权烧。 我是一名探鬼主播眯亦,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼般码!你這毒婦竟也來了妻率?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤板祝,失蹤者是張志新(化名)和其女友劉穎宫静,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡孤里,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了捌袜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡蜓堕,死狀恐怖,靈堂內的尸體忽然破棺而出博其,到底是詐尸還是另有隱情套才,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布慕淡,位于F島的核電站,受9級特大地震影響峰髓,放射性物質發(fā)生泄漏。R本人自食惡果不足惜携兵,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一疾掰、第九天 我趴在偏房一處隱蔽的房頂上張望徐紧。 院中可真熱鬧,春花似錦并级、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至履婉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間舰蟆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工味悄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人塌鸯。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓丙猬,卻偏偏與公主長得像涨颜,于是被迫代替她去往敵國和親茧球。 傳聞我的和親對象是個殘疾皇子庭瑰,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • 本著共享主義弹灭,本人將PPT考點梳理出來,并且已經翻譯成中文穷吮,供大家參考,歡迎各位指導捡鱼! 本次考試題型分為選擇、判斷...
    Moonsmile閱讀 4,161評論 13 28
  • 一驾诈、覆蓋率的概念 覆蓋率是用來度量測試完整性的一個手段,現(xiàn)在有越來越多的測試工具能夠支持覆蓋率測試翘鸭,但是它們本身并...
    奔跑的果凍閱讀 5,902評論 0 3
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程戳葵、活動和任務的結構性框架。軟件項目的開發(fā)包括:需求拱烁、設...
    Mr希靈閱讀 21,957評論 7 278
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程噩翠、活動和任務的結構性框架戏自。軟件項目的開發(fā)包括:需求伤锚、設...
    宇文臭臭閱讀 6,724評論 5 100
  • 昨天和今天在看書的時候完全看不進去,好幾次鼓起勇氣,堅持看完猛们。今天事情多,而且是很棘手的事情弯淘,心情自然浮躁,很不穩(wěn)...
    飛鳥逐溪閱讀 180評論 0 0