測試用例設計方法2
一、判定表
1. 使用場景:
當多個輸入條件之間存在邏輯關系,需要組合測試時,使用判定表法進行分析
2. 相關概念
(1) 條件樁:輸入條件,如工資薪制,錯誤程度
(2) 條件項:輸入條件的取值,如年薪制、月薪制
(3) 動作樁:輸出結果項,如扣款比例,扣款金額,實發工資
(4) 動作項:輸出每個項的具體值
3. 使用步驟
(1) 需求分析,得到條件樁和條件項,以及動作樁
(2) 確定組合數量(條件項乘積)
(3) 得到判定表
(4) 導出測試用例,原則,一列是一條測試用例
案例:
工資發放系統
條件樁:
工資薪制
條件項:
年薪制,月薪制,季薪制
案例
有一個處理單價為5角錢的飲料的自動售貨機軟件測試用例的設計。
其規格說明如下:
若投入5角錢或1元錢的硬幣,押下〖橙汁〗或〖啤酒〗的按鈕,則相應的飲料就送出來。
若售貨機沒有零錢找,則一個顯示〖零錢找完〗的紅燈亮,這時在投入1元硬幣並押下按鈕后,飲料不送出來而且1元硬幣也退出來;
若有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時退還5角硬幣。
條件樁:
零錢:有零錢,無零錢
投幣:不投,投5毛,投1元,投1.5
按飲料:不按,按橙汁,按啤酒,按橙汁+啤酒
二、 因果圖
1. 使用場景:
與判定表方法使用場景相同
2. 使用步驟
(1) 需求分析,得到原因(條件樁,條件項)和結果(動作樁)
(2) 畫出因果圖
(3) 根據因果圖得到判定表
(4) 根據判定表,導出測試用例
3. 原因與結果之間的關系
(1) 恆等:如果天晴,則戶外活動, 天晴與戶外活動屬於恆等關系
(2) 非:如果下雨,則不戶外活動, 下雨與戶外活動屬於非關系
(3) 或:如果下雨,或下雪,或下冰雹,則室內活動, 下雨、下雪、下冰雹與室內活動屬於或關系
(4) 與:如果有時間且有錢,則去旅游 有時間 、 有錢與旅游屬於與關系

4. 條件項之間的約束(輸入狀態之間的約束)
(1) E約束(異):a和b之間至多有一個為1,即a和b不能同時為1
(2) I約束(或):a、b和c中至少有一個必須是1,即 a、b 和c不能同時為0。
(3) O約束(唯一):a和b必須有一個,且僅有1個為1
(4) R約束(要求):a是1時,b必須是1,即不可能a是1時b是0。
三、 正交試驗
1. 使用場景:
當多個輸入條件需要組合測試,且組合數量很多時(超過三四十)考慮使用正交試驗,減少組合數量,得到最優組合。
2. 相關概念
(1) 因子數(相當於條件樁):輸入條件的個數
(2) 水平數/狀態數(相當於條件項):每個因子的取值個數
3. 使用步驟
(1) 需求分析,確定因子數和狀態數(取最大值)
(2) 選擇合適的正交表,選取的原則如下:
a) 正交表的列數大於等於因子數
b) 正交表的每列的狀態大於等於確定的狀態數,若有多張正交表符合條件,則選擇行數最少的正交表
(3) 復制選中的正交表到excel文件,進行修改調整
a) 根據實際因子數,刪除多余的列
b) 根據每列的實際狀態數,刪除多余的狀態(補充多余的狀態)
c) 使用現有的狀態替補空白單元格(盡量使每列中每一種狀態出現的次數相同)
(4) 將修改后的正交表中的代號替換為具有實際含義的因子名和狀態名稱
(5) 導出測試用例,原則:一行即為一條用例。
四、 流程分析法(場景法)業務流程法
1. 使用場景:
任何一個功能操作,均需要考慮使用流程分析法,進行測試點分析,尤其是對於業務流程復雜的系統
2. 考慮思路
(1) 誰可以進入被測頁面?(用戶權限問題)
(2) 在滿足什么前置條件下可進入被測頁面(前置條件問題)
(3) 通過什么路徑可進入被測頁面(路徑方式問題)
五、 測試用例設計方法小結:
等價類划分
邊界值分析
經驗法
錯誤猜測法
判定表
因果圖
正交試驗
流程分析法
(1) 用流程分析法,對被測頁面進行分析,考慮誰可以操作?在什么前置條件可以操作?可以通過什么路徑方式去操作?分析用戶的各種場景
(2) 針對被測頁面中的元素進行測試點分析,若元素之間不需要組合測試,則使用等價類划分、邊界值分析法、經驗法、錯誤猜測法分析每個元素的有效和無效測試點
(3) 若元素之間需要組合測試,則使用判定表法進行分析,若組合數量大時,則使用正交試驗法,減少組合數量,得到最優組合。
