資料流測試


資料流測試用於分析程式中的資料流。它是收集有關變數如何在程式中流動資料的過程。它試圖獲得過程中每個特定點的特定資訊。

資料流測試是一組測試策略,用於檢查程式的控制流程,以便根據事件的順序探索變數的順序。它主要關注分配給變數的值和通過集中在兩個點上使用這些值的點的點,可以測試資料流。

資料流測試使用控制流圖來檢測可能中斷資料流的不合邏輯的事物。由於以下原因,在值和變數之間的關聯時檢測到資料流中的異常:

  • 如果使用變數而沒有初始化。
  • 如果初始化變數至少未使用一次。

讓我們通過一個例子來理解:

在這段程式碼中,總共有8個語句,將選擇一個涵蓋所有8個語句的路徑。正如程式碼中顯而易見的那樣,無法覆蓋單個路徑中的所有語句,因為如果語句2為真,則語句4,5,6,7未被覆蓋,如果語句4為真,則語句2和3不包括在內。

因此,採取兩種方式來涵蓋所有陳述。

x= 1
Path - 1, 2, 3, 8

輸出結果為:

2

當首先將x的值設定為1時,它會在步驟1中讀取並分配x的值(在路徑中取1)然後來到語句2(x> 0(在路徑中取2))它是真, 它來自語句3(a = x + 1(在路徑中取3))最後它出現在語句8上以列印x的值(輸出為2)。

對於第二條路徑,取x的值為1 -

Set x= -1
Path = 1, 2, 4, 5, 6, 5, 6, 5, 7, 8

輸出結果為:

2

當將x的值設定為1,然後是第一個時,它會在步驟1中讀取並分配x的值(在路徑中取1)然後來到第2步,它是假的,因為x不大於0 (x> 0,x = -1)。由於錯誤的條件,它不會出現在語句3上並且直接跳轉到語句4(在路徑中取4)並且4為真(x <= 0並且它們的x小於0)然後出現在語句5(x < 1(在路徑中取5))這也是真的所以它將出現在語句6(x = x + 1(在路徑中取6))並且這裡x增加1。

所以,

x=-1+1 
x=0

x的值變為0。現在它轉到語句5(x <1(在路徑中取5))值為0且0小於1所以,它是真的。宣告6(x = x + 1(在路徑中取6))。

x=x+1 
x= 0+1 
x=1

將x變為1並再次轉到語句5(x <1(在路徑中取5))現在1不小於1因此,條件為假,它將來到其他部分時語句7(a = x +,其中x的值為1)並將值賦給a(a = 2)。最後,它出現在語句8上並列印出值(輸出為2)。

為程式碼建立關聯。在關聯中,我們列出了所有定義及其所有用途。

(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)