W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
語句覆蓋是廣泛使用的軟件測試之一。它來自白盒測試。
語句覆蓋技術(shù)用于設(shè)計白盒測試用例。該技術(shù)涉及至少執(zhí)行一次源代碼的所有語句。它用于計算源代碼中源代碼中執(zhí)行的語句總數(shù)。
語句覆蓋在白盒測試過程中得出測試用例的場景,該過程基于代碼的結(jié)構(gòu)。
在白盒測試中,測試人員的專注點是內(nèi)部源代碼和流程圖或代碼流程圖的工作。
通常,在內(nèi)部源代碼中,有各種各樣的元素,如運算符,方法,數(shù)組,循環(huán),控制語句,異常處理程序等。根據(jù)給程序的輸入,執(zhí)行一些代碼語句,有些可能不執(zhí)行 被執(zhí)行。語句覆蓋技術(shù)的目標是覆蓋代碼中所有可能的執(zhí)行語句和路徑行。
下面通過一個例子來理解計算語句覆蓋率的過程:
在這里,我們采用源代碼根據(jù)輸入值創(chuàng)建兩個不同的場景,以檢查每個場景的語句覆蓋百分比。
input (int a, int b)
{
Function to print sum of these integer values (sum = a+b)
If (sum>0)
{
Print ("這是正結(jié)果")
} else
{
Print ("這是負結(jié)果")
}
}
所以,這是程序的基本結(jié)構(gòu),這是它將要完成的任務(wù)。
現(xiàn)在,讓我們看一下兩種不同的場景,并計算給定源代碼的語句覆蓋的百分比。
場景1:如果a = 5,則b = 4
print (int a, int b) {
int sum = a+b;
if (sum>0) {
Print ("這是正結(jié)果")
} else
{
Print ("這是負結(jié)果")
}
}
在場景1中,可以看到sum的值是9,并且根據(jù)條件結(jié)果將是“這是正結(jié)果”。以黃色突出顯示的語句是此方案的已執(zhí)行語句。要計算第一個場景的語句覆蓋率,假設(shè)取語句總數(shù)為7和執(zhí)行語句數(shù)為5。
Total number of statements = 7
Number of executed statements = 5
Statement coverage = 5/7*100
= 500/7
= 71%
類似地,在場景2中,
如果:A = -2, B = -7
print (int a, int b) {
int sum = a+b;
if (sum>0)
print ("這是正的結(jié)果")
else
print ("這是負的結(jié)果")
}
在場景2中,可以看到sum的值將是-9(小于0),并且根據(jù)條件,結(jié)果將是“這是負的結(jié)果”。以黃色突出顯示的語句是此方案的已執(zhí)行語句。
要計算第一個場景的語句覆蓋率,請使用語句總數(shù)為7的和已使用語句數(shù)為6。
Total number of statements = 7
Number of executed statements = 6
Statement coverage = 6/7*100 <br>
= 600/7
= 85%
但是,可以看到兩種情況都涵蓋了所有語句,我們可以認為整體語句覆蓋率是100%。
因此,語句覆蓋技術(shù)涵蓋了死代碼,未使用的代碼和分支。
//原文出自【易百教程】,商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請保留原文鏈接:https://www.yiibai.com/software_testing/statement-coverage-testing-in-white-box-testing.html
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: