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