W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
分支覆蓋技術(shù)用于覆蓋控制流圖的所有分支。它至少涵蓋決策點的每個條件的所有可能結(jié)果(真和假)。分支覆蓋技術(shù)是一種白盒測試技術(shù),可確保每個決策點的每個分支都必須執(zhí)行。
然而,分支覆蓋技術(shù)和決策覆蓋技術(shù)非常相似,但兩者之間存在關(guān)鍵差異。決策覆蓋技術(shù)涵蓋每個決策點的所有分支,而分支測試涵蓋代碼的每個決策點的所有分支。
換句話說,分支覆蓋遵循決策點和分支覆蓋邊緣。許多不同的指標(biāo)可用于查找分支覆蓋范圍和決策覆蓋范圍,但一些最基本的指標(biāo)是:在程序執(zhí)行期間查找程序的百分比和執(zhí)行路徑。
與決策覆蓋一樣,它也使用控制流圖來計算分支數(shù)。
有幾種方法可以計算分支覆蓋率,但尋路是最常用的方法。
在此方法中,執(zhí)行分支的路徑數(shù)用于計算分支覆蓋范圍。分支覆蓋技術(shù)可用作決策覆蓋的替代方案。在某處,它沒有被定義為單獨的技術(shù),但它不同于決策覆蓋,并且是測試控制流圖的所有分支所必需的。
讓我們用一個例子來理解它:
Read X
Read Y
IF X+Y > 100 THEN
Print "Large"
ENDIF
If X + Y<100 THEN
Print "Small"
ENDIF
這是采用兩個變量X和Y以及兩個條件的基本代碼結(jié)構(gòu)。如果第一個條件為真,則打印“Large”,如果為假,則轉(zhuǎn)到下一個條件。如果第二個條件為真,則打印“Small”。
控制代碼結(jié)構(gòu)的流程圖
在上圖中,描繪了代碼的控制流程圖。在第一種情況下,通過“Yes”決定,路徑為A1-B2-C4-D6-E8,覆蓋邊數(shù)為1,2,4,5,6和8,但邊緣3和7未覆蓋 在這條路徑上。為了覆蓋這些邊緣,必須遍歷“No”決定。在“No”判定的情況下,路徑是A1-B3-5-D7,并且覆蓋邊緣的數(shù)量是3和7。因此,通過穿過這兩條路徑,所有分支都覆蓋。
Path 1 - A1-B2-C4-D6-E8
Path 2 - A1-B3-5-D7
Branch Coverage (BC) = Number of paths
=2
用例 | 覆蓋的分支 | 路徑 | 分支覆蓋 |
---|---|---|---|
Yes | 1, 2, 4, 5, 6, 8 | A1-B2-C4-D6-E8 | 2 |
No | 3,7 | A1-B3-5-D7 | 2 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: