W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
決策覆蓋技術(shù)屬于白盒測試,它為布爾值提供決策覆蓋。此技術(shù)報(bào)告布爾表達(dá)式的真/假結(jié)果。每當(dāng)語句中有兩個(gè)或多個(gè)結(jié)果的可能性時(shí),如while語句,if語句和case語句(控制流語句),它被視為決策點(diǎn),因?yàn)橛袃蓚€(gè)結(jié)果為true或false。
決策覆蓋率通過使用控制流圖或圖表涵蓋代碼的每個(gè)布爾條件的所有可能結(jié)果。
通常,決策點(diǎn)有兩個(gè)決策值,一個(gè)是true,另一個(gè)是false,這就是為什么大多數(shù)時(shí)候結(jié)果總數(shù)是2的原因。決策覆蓋率的百分比可以通過將行使結(jié)果的數(shù)量除以結(jié)果總數(shù)并乘以100來計(jì)算出。
在這種技術(shù)中,很難獲得100%的覆蓋率,因?yàn)橛袝r(shí)表達(dá)式變得復(fù)雜。因此,有幾種不同的方法來報(bào)告決策覆蓋范圍。所有這些方法都涵蓋了最重要的組合,非常類似于決策覆蓋。這些方法的好處是增強(qiáng)了控制流的靈敏度。
我們可以找到?jīng)Q策覆蓋的數(shù)量如下。
下面通過一個(gè)例子來理解它。考慮應(yīng)用于決策覆蓋技術(shù)的代碼:
Test (int a)
{
If(a>4)
a=a*3
Print (a)
}
場景1:a的值是7(a = 7),那么 -
Test (int a=7)
{
if (a>4)
a=a*3
print (a)
}
如果檢查條件(a> 4),則此代碼的結(jié)果為“True”。
當(dāng)a的值為7時(shí)控制流程圖如下 -
決策覆蓋率的計(jì)算:
Decision Coverage = ?*100 (Only "True" is exercised)
=100/2
= 50
Decision Coverage is 50%
場景2:a的值是3(a = 3)
Test (int a=3)
{
if (a>4)
a=a*3
print (a)
}
這段代碼的結(jié)果是:“False”,因?yàn)闄z查條件(a> 4)。
決策覆蓋率的計(jì)算:
= ?*100 (僅在 "False" 時(shí)執(zhí)行)
=100/2
= 50
Decision Coverage = 50%
決策覆蓋范圍的結(jié)果表:
測試用例 | A的值 | 輸出 | 決策覆蓋范圍 |
---|---|---|---|
1 | 3 | 3 | 50% |
2 | 7 | 21 | 50% |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: