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