2.3 結構化覆蓋
2.4 控制流測試
2.5 資料流測試
1、什麼是頂點覆蓋?
對每個測試需求,即可達頂點,都可從測試用例集t裡找到測試用例t,對應的測試路徑覆蓋該頂點,測試用例集t滿足頂點覆蓋。
2、什麼是邊覆蓋?
對每個測試需求,即可達邊,都可從測試用例集t裡找到測試用例t,對應的測試路徑覆蓋該邊,測試用例集t滿足邊覆蓋。
3、討論邊覆蓋與頂點覆蓋的關係。
滿足邊覆蓋,即滿足頂點;滿足頂點覆蓋不一定滿足邊覆蓋。
4、什麼是邊對覆蓋?
邊對覆蓋:邊對是相鄰的兩條邊,兩條測試路徑即可滿足頂點覆蓋和邊覆蓋,但不滿足邊對覆蓋
5、什麼是n路徑覆蓋?
是通過不同的路徑,完成全部節點的覆蓋
6、為什麼要擴充套件覆蓋的定義?
擴充套件覆蓋的定義是為了提高其完整性
7、什麼是蘊含?
蘊含是指:測試準則c1蘊含測試準則c2:對任意的測試用例集t,假如它滿足c1,則一定滿足c2。
8、結構覆蓋舉例
tr =
testpaths:[1,2,3,4,7][1,2,3,5,6,7]
邊對覆蓋subsume邊覆蓋,邊覆蓋subsume點覆蓋。
9、什麼是控制流圖?
使用圖符號表示程式執行的所有可能流轉過程。頂點可以來自**語句、語句塊、函式、模組等,邊用來表示**、函式、模組之間的某種流轉、跳轉
10、if如何轉化為控制流圖?
分別將迴圈的不同條件分成兩個路徑,將對應的條件填入相應的路徑,將輸出的結果填入節點。
11、if-return如何轉化為控制流圖?
出現有多個終結點,可以構建亞結點,構建只有乙個輸入乙個輸出的圖。
12、while迴圈如何轉化為控制流圖?
初始節點填入輸入資料,在邊上填入迴圈條件,不同的迴圈條件要分給不同的路徑,還要在資料達到迴圈點的節點處鏈結迴圈起始節點的連線。
13、do迴圈如何轉化為控制流圖?
可以在2之後增加乙個新的結點,去控制while這個條件,使得有4個結點來表示控制流
14、for迴圈如何轉化為控制流圖?
變數填入對應的節點,對應節點的邊上填入迴圈語句以及累加等操作,此變數有關的迴圈條件,要注意沒乙個迴圈過程都要在控制流圖中體現。
15、break、continue如何轉化為控制流圖?
不同的變數填入對應的節點,對應節點的邊上填入迴圈語句和此變數有關的迴圈條件,要注意沒乙個迴圈過程都要在控制流圖中體現。
16、witch如何轉化為控制流圖?
相應的switch語句可選擇的沒乙個資料都要對應不同的路徑,將switch條件填入到節點附近。
17、資料流的關注點是什麼?
程式的結構性覆蓋沒有關注結點上是什麼、結點上變數的操作是否正確。
18、資料據流裡的變數有哪兩種操作?
(1)定義:就是把變數值塞進記憶體中,常見的有變數賦值、初始化等。
(2)使用:比如把某個值放在賦值語句的右邊。分支、判斷、迴圈等這些都是使用
19、三種資料流覆蓋準則是什麼?
(1)所有的定義覆蓋:關於某個變數v在程式裡的所有定義覆蓋是指:它所有定義的地方,都被覆蓋過一次。
(2)引用覆蓋:關於某個變數v所有引用的地方都至少覆蓋一次。有引用,前面一定有定義,否則就出錯。當引用被覆蓋時,定義也一定被覆蓋
(3)所有的定義引用路徑覆蓋 :關於變數v在乙個地方定義,在乙個地方使用,特別提醒,即使是這樣的情況,也可能會走出不同的路徑來。對於前面所有有引用的覆蓋,只要覆蓋一次就行。對於最後乙個覆蓋準則,需要把所有的定義路徑都覆蓋到。
20、三種資料流覆蓋有什麼區別?
三種覆蓋的區別是覆蓋的大小不同,是由弱到強的遞進關係,且第三種的測試範圍包含前兩種。
軟體測試 2 5 資料流測試
關注點上的變數的操作是否正確 定義 賦值 初始化 使用 def n def e 節點n 邊e上所有定義的變數 use n use e 節點n 邊e上所有使用的變數 控制流 li,lj 構成的du對是指,在li定義,在lj使用的變數 從li到lj的路徑上變數v是定義清晰的是指從li定到lj使用的中間,...
軟體測試 白盒測試 資料流測試
資料流測試方法根據程式中定義的位置和變數的使用來選擇程式的測試路徑。資料流測試是一種強大的工具,用於檢測由於編碼錯誤而導致的資料值的不當使用 資料流測試還需要集中精力進行這些測試 而不是基於覆蓋率的測試 包含資料值的變數具有定義的生命週期 建立,使用,終止 銷毀 變數作用域 begin outer ...
FPGA學習筆記(二) 資料流建模
1 什麼是資料流建模?資料流建模是根據資料在暫存器之間流動和處理的過程對電路進行描述。2 資料流建模有什麼特點和優點?能從更高的抽象層次建模,將設計的重點放在電路的功能上,能有有效提高設計的效率。不再使用門級語言對電路描述,表示式,操作符,和運算元變成資料流建模的基礎 並且,由於計算機輔助的存在,可...