W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
數(shù)據(jù)流測(cè)試用于分析程序中的數(shù)據(jù)流。它是收集有關(guān)變量如何在程序中流動(dòng)數(shù)據(jù)的過程。它試圖獲得過程中每個(gè)特定點(diǎn)的特定信息。
數(shù)據(jù)流測(cè)試是一組測(cè)試策略,用于檢查程序的控制流程,以便根據(jù)事件的順序探索變量的順序。它主要關(guān)注分配給變量的值和通過集中在兩個(gè)點(diǎn)上使用這些值的點(diǎn),可以測(cè)試數(shù)據(jù)流。
數(shù)據(jù)流測(cè)試使用控制流圖來(lái)檢測(cè)可能中斷數(shù)據(jù)流的不合邏輯的事物。由于以下原因,在值和變量之間的關(guān)聯(lián)時(shí)檢測(cè)到數(shù)據(jù)流中的異常:
讓我們通過一個(gè)例子來(lái)理解:
在這段代碼中,總共有8個(gè)語(yǔ)句,將選擇一個(gè)涵蓋所有8個(gè)語(yǔ)句的路徑。正如代碼中顯而易見的那樣,無(wú)法覆蓋單個(gè)路徑中的所有語(yǔ)句,因?yàn)槿绻Z(yǔ)句2為真,則語(yǔ)句4,5,6,7未被覆蓋,如果語(yǔ)句4為真,則語(yǔ)句2和3不包括在內(nèi)。
因此,采取兩種方式來(lái)涵蓋所有陳述。
x= 1 Path - 1, 2, 3, 8
Shell
輸出結(jié)果為:
2
當(dāng)首先將x的值設(shè)置為1時(shí),它會(huì)在步驟1中讀取并分配x的值(在路徑中取1)然后來(lái)到語(yǔ)句2(x> 0(在路徑中取2))它是真, 它來(lái)自語(yǔ)句3(a = x + 1(在路徑中取3))最后它出現(xiàn)在語(yǔ)句8上以打印x的值(輸出為2)。
對(duì)于第二條路徑,取x的值為1 -
Set x= -1
Path = 1, 2, 4, 5, 6, 5, 6, 5, 7, 8
輸出結(jié)果為:
2
當(dāng)將x的值設(shè)置為1,然后是第一個(gè)時(shí),它會(huì)在步驟1中讀取并分配x的值(在路徑中取1)然后來(lái)到第2步,它是假的,因?yàn)閤不大于0 (x> 0,x = -1)。由于錯(cuò)誤的條件,它不會(huì)出現(xiàn)在語(yǔ)句3上并且直接跳轉(zhuǎn)到語(yǔ)句4(在路徑中取4)并且4為真(x <= 0并且它們的x小于0)然后出現(xiàn)在語(yǔ)句5(x < 1(在路徑中取5))這也是真的所以它將出現(xiàn)在語(yǔ)句6(x = x + 1(在路徑中取6))并且這里x增加1。
所以,
x=-1+1
x=0
x的值變?yōu)??,F(xiàn)在它轉(zhuǎn)到語(yǔ)句5(x <1(在路徑中取5))值為0且0小于1所以,它是真的。聲明6(x = x + 1(在路徑中取6))。
x=x+1
x= 0+1
x=1
將x變?yōu)?并再次轉(zhuǎn)到語(yǔ)句5(x <1(在路徑中取5))現(xiàn)在1不小于1因此,條件為假,它將來(lái)到其他部分時(shí)語(yǔ)句7(a = x +,其中x的值為1)并將值賦給a(a = 2)。最后,它出現(xiàn)在語(yǔ)句8上并打印出值(輸出為2)。
為代碼建立關(guān)聯(lián)。在關(guān)聯(lián)中,我們列出了所有定義及其所有用途。
(1, (2, f), x), (1, (2, t), x), (1, 3, x), (1, (4, t), x), (1, (4, f), x), (1, (5, t), x), (1, (5, f), x), (1, 6, x), (1, 7, x), (6,(5, f)x), (6,(5,t)x), (6, 6, x), (3, 8, a), (7, 8, a)
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)系方式:
更多建議: