測試方法-邊界值/因果圖設計

1.黑盒-邊界值

(比如0.01~200是發紅包的錢的範圍,拿到邊界值就能找到最具有代表性的數據範圍即等價類)

1.邊界值分析法是一種補充等價劃分的測試用例設計技術,它不是選擇等價類的任意元素,而是選擇等價類邊界的測試用例。

2.實踐證明,在設計測試用例時,對邊界附近的處理必給予足夠的重視,爲檢驗邊界附近的處理專門設計測試用例,常常取得良好的測試效果。

3.邊界值分析法不僅重視輸入條件邊界,而且也從輸出域導出測試用例(輸出也要在乎邊界)

邊界值設計的原則

1.如果輸入條件規定了取值範圍,應該以範圍的邊界內及剛剛超範圍的邊界外的值作爲測試用例

2.如以a和b爲邊界,測試用例應當包含a和b及略大於a和略小於b的值.(最後一個符合條件的值和第一個不符合條件的值)
在這裏插入圖片描述
通過以上僞代碼能夠判斷出無效等價類和有效等價類
在這裏插入圖片描述
邊界值: 所謂邊界條件,是指輸入和輸出等價類中那些恰好處於邊界、超過邊界、或在邊界以下的狀態 ;

兩個特徵: 選擇一個或多個元素,以便等價類的每一個邊界都經過了測試;與僅僅關注輸入條件不同,還需要考慮結果空間(輸出等價類)設計測試用例;

邊界條件可能非常微妙,因此把他們確定下來煞費心思;

使用場景: 輸入+輸出都需要考慮(值的範圍;值個數;有序集合;內部數據結構;分析規格說明;)

例1:利用邊界法完善等價類中的計算器

在這裏插入圖片描述由於允許輸入的數值在-99到99之間,所以我們可以把-99和99看作兩個邊界值。我們測試的時候可以取緊鄰邊界值的數值和邊界值本身作爲輸入
在這裏插入圖片描述

例2:等價類劃分中出現的餘額寶提現

在這裏插入圖片描述

例3:邊界值舉例

以三角形測試爲例:輸入3個整數做爲三角形的三個邊,1<a、b、c<10,通過程序判定三角形的類型;
在這裏插入圖片描述

2.因果圖法

解決的是等價類劃分和邊界法解決不到的問題。因爲等價類劃分和邊界法都是着重於輸入條件,而不考慮輸入條件的各種組合、輸入條件之間的相互制約關係。(比如a輸入什麼值以後 b就只能選擇什麼值,比如選擇省之後選擇市)
適用條件:
如果在測試時必須考慮輸入條件的各種組合,則可能的組合數目將是天文數字
因此必須考慮採用一種適合於描述多種條件的組合、產生多個相應動作的測試方法,這就需要利用因果圖(邏輯模型)

因果圖法基於這樣的思想:
一些程序的功能可以用決策表的形式來表示,並根據輸入條件的組合情況規定相應的操作。因此,可以考慮爲決策表中的每一列設計一個測試用例,以便測試程序在輸入條件的某種組合下的輸出是否正確
概括地說,因果圖方法就是從程序規格說明書的描述中找出因(輸入條件)和果(輸出結果或程序狀態的改變)
將因果圖轉換爲判定表,爲決策表中的每一列設計一個測試用例 這種方法考慮到了輸入情況的各種組合以及各個輸入情況之間的相互制約關係

判定表

編寫程序的輔助工具
把複雜的邏輯關係和條件組合表現得具體明確
在這裏插入圖片描述
判定表通常由四個部分組成:

條件樁(Condition Stub) : 列出了問題的所有條件,通常認爲列出得條件的次序無關緊要。(類似於上面表中的問題)
動作樁(Action Stub) : 列出了問題規定可能採取的操作,這些操作的排列順序沒有約束。(這些結果一般都是互相排斥的)
條件項(Condition Entry) : 列出針對它左列條件的取值,在所有可能情況下的真假值。
動作項(Action Entry) : 列出在條件項的各種取值情況下應該採取的動作。(最終導致的結果或者需要採取的動作)

因果圖法設計步驟:
1.分析軟件規格說明中哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),並給每個原因和結果賦予一個標識符。
2.分析軟件規格說明中語義的內容,找出原因與結果之間、原因與原因之間對應的關係,根據這些關係畫出因果圖。(可能會用到等價類方法,先判定哪些是有效的那些是無效的等等 )
3.由於語法或環境的限制,有些原因與原因之間、原因與結果之間的組合情況不可能出現。爲表明這些特定的情況,在因果圖上使用一些記號表明約束或限制條件
4.把因果圖轉換爲判定表
5.根據判定表中的每一列設計測試用例

例1:使用因果圖+判定表設計測試用例

在這裏插入圖片描述
分析輸入和輸出條件:
在這裏插入圖片描述
分析條件互斥:
在這裏插入圖片描述
分析,簡化並畫出判定表:
在這裏插入圖片描述再根據判定表寫出測試用例即可:

在這裏插入圖片描述

例2:因果圖練習餘額寶提現的例子

分析輸入輸出條件:
分析輸入輸出條件:

判定表:
在這裏插入圖片描述

問題:某廠工資發放

描述、分析:
工資分爲年薪制a1,月薪制a2;
錯誤程度分爲普通a3,嚴重a4;

工資爲a1的員工犯普通錯誤的扣工資2% (b1) ,犯嚴重錯誤扣工資6% (b2) ;
工資爲a2的員工犯普通錯誤的扣工資4% (b3),犯嚴重錯誤扣工資8% (b4) ;
其中,a1和a2爲互斥; b1, b2和b3,b4是互斥; a3和a4可以同時具備。

分析輸入和輸出條件:
輸入
輸入1:條件1–工資年薪制 條件2–工資月薪制
輸入2:條件3–犯普通錯誤 條件4–犯嚴重錯誤 條件5–同時犯嚴重和普通錯誤
輸出
結果1–扣工資2% 結果2–扣工資6% 結果3–扣工資8%
結果4–扣工資4% 結果5–扣工資8% 結果6–扣工資12%
結果7–不扣工資
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章