回顧:
路徑測試將程式**看做是一種有向圖,根據有向圖的拓撲結構結合某些覆蓋指標來設計測試用例。然而程式中不同語句之間往往會有依賴關係,使得拓撲結構上可行的路徑,在邏輯上並不可行,資料流測試可以解決上述問題。
資料流測試指關注變數接收值的點和使用(或引用)這些值的點的結構性測試形式;資料流測試用作路徑測試的「真實性檢查,像是一種路徑測試覆蓋,但關心的是資料變數而不是程式結構,資料流測試中常用的一種方法是定義/使用測試。」
定義節點:指變數v在節點n處被定義,即變數v在語句片段n處可能被修改。
使用節點:指變數v在節點n處被使用,即變數v在語句片段n處保持不變。
一條賦值語句可能既是某些變數的定義節點、又是其他變數的使用節點;
一條賦值語句可能既是某變數的定義節點、又是它的使用節點;謂詞使用是指變數v在節點n處被當作謂詞使用,即語句片段n處將v用作謂詞。
計算使用指變數v在節點n處被當作除謂詞外的使用,即語句片段n處將會使用v的值,但不會作為謂詞使用。
定義使用路徑是指path§中的一條路徑,該路徑的起始和最終節點分別是變數v的定義節點和使用節點。
定義清除路徑是指path§中的一條路徑,該路徑的起始和最終節點分別是變數v的定義節點和使用節點,並且該路徑中沒有其他節點是v的定義節點。
定義-使用路徑和定義-清除路徑描述了變數被定義到被使用的源**的資料流。不是定義-清除路徑的定義-使用路徑是潛在有問題的地方,需要更加關注。測試覆蓋指標
全定義準則
全使用準則
全謂詞使用/部分計算使用準則
全計算使用/部分謂詞使用準則
全定義-使用準則
全使用與全定義-使用比較
覆蓋的路徑數量不同
對迴圈的處理不同
軟體測試 2 5 資料流測試
關注點上的變數的操作是否正確 定義 賦值 初始化 使用 def n def e 節點n 邊e上所有定義的變數 use n use e 節點n 邊e上所有使用的變數 控制流 li,lj 構成的du對是指,在li定義,在lj使用的變數 從li到lj的路徑上變數v是定義清晰的是指從li定到lj使用的中間,...
TCP互動資料流 成塊資料流
tcp資料流分類 基於tcp的各類解決方案,可以根據資料吞吐量來大致分成兩大類 1 互動資料型別,例如telnet,ssh,這種型別的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字等等。2 資料成塊型別,例如ftp,這種型別的協議要求tcp能盡量的運載資料,把資料的吞吐量做...
軟體測試 白盒測試 資料流測試
資料流測試方法根據程式中定義的位置和變數的使用來選擇程式的測試路徑。資料流測試是一種強大的工具,用於檢測由於編碼錯誤而導致的資料值的不當使用 資料流測試還需要集中精力進行這些測試 而不是基於覆蓋率的測試 包含資料值的變數具有定義的生命週期 建立,使用,終止 銷毀 變數作用域 begin outer ...