(六)使用因果圖法設計測試用例+一卡通充值例子
一、應用場合
在一個介面中,有多個控制元件,測試時要考慮控制元件的組合關係,不同的控制元件組合會產生不同的輸出結果的組合,最終是為了弄清什麼樣的輸入組合會產生什麼樣的輸出組合,使用因果圖。
二、因果圖的核心
- “因”是原因,輸入條件
- “果”是結果,輸出結果
使用圖形的方式,分析軟體輸入和輸出的對應關係
三、圖形符號
1、基本圖形:表示輸入和輸出的對應關係
(1)恆等
a是原因(輸入),b是結果(輸出)
含義:若a=1,則b=1 “1”是動作或狀態,比如開關按下、核取方塊選中
若a=0,則b=0
(2)非(~)
a是原因,b是結果
含義:若a=1,則b=0
若a=0,則b=1
(3)或
a,b,c為輸入(輸入也可以有多個),d是輸出
若a=1,或b=1,或c=1,則d=1
若a=b=c=0,則d=0
(4)與
a,b,c為輸入,d是輸出
若a=b=c=1,則d=1,否則為0
在實際應用中“恆等”、“與”應用較多
2、約束(限制條件)圖形
要麼單獨限制輸入,要麼單獨限制輸出
下面的都是按照限制輸入來講的,也可以將其改為輸出
(1)互斥【重點】
a,b,c不同時為1,即a,b,c中至多隻有一個1
舉例:
單選按鈕:接受協議和不接受協議最多隻能選擇1個。若選擇接受協議,則“下一步”是黑色,可以選;若均不選擇或者選擇不接受協議,則“下一步”為灰色,不能再繼續安裝
(2)包含(I)
a,b,c至少有一個1,即a,b ,c不能同時為0
舉例:調查資訊來源:廣告(已選,不能修改)、電視、網路、報紙、朋友介紹、其他
這種就是包含
(3)唯一(O)【重點】
a,b,c必須有一個成立,且僅為一個成立。
說明:唯一的情況是有一個預設值;互斥沒有預設值
(4)要求(R)
若a=1,則b必須為1。不可能出現a=1,b=0。
若a=0,不能確定b怎樣。
表示當a出現時,b必須也出現;a不出現,b不確定
若“自動登入”選中,則“記住密碼”自動選中。
若“自動登入”未選中,則“記住密碼”可以選中,也可以不選
(5)遮蔽(M)
若a=1,則b必須為0;當a=0時,b的值不確定
當第一個數輸入錯誤,應該彈出“第一個資料非法”;
當第二個數輸入錯誤,應該彈出“第二個資料非法”;
①當第一個資料和第二個資料都輸入錯誤時,只會彈出“第一個資料輸入錯誤”,“第二個資料輸入錯誤”就被遮蔽掉;
②當第一個資料輸入正確,是否彈出“第二個資料非法”,應該根據輸入第二個資料情況。
四、使用因果圖分析程式
1、找出所有的原因(輸入),並編號
(1)投幣50元
(2)投幣100元
(3)充值50元
(4)充值100元
2、找出所有的結果(輸出),並編號
A:充值成功並退卡
B:提示充值成功
C:找零
D:提示錯誤
3、在步驟1的基礎上,找出輸入的限制關係和組合關係
(1)限制關係(哪些輸入不能組合)
①輸入(1)和(2)不能組合【互斥】
②輸入(3)和(4)不能組合【互斥】
(2)能組合(決定測試用例數量)
①輸入(1)和(3)組合
②輸入(1)和(4)組合
③輸入(2)和(3)組合
④輸入(2)和(4)組合
⑤輸入(1)單獨
⑥輸入(2)單獨
⑦輸入(3)單獨
⑧輸入(4)單獨
先把輸入的限制關係畫出因果圖
4、在步驟2的基礎上,找出哪些輸出不能組合,哪些可以組合
(1)限制關係
①輸出A和D不能(互斥)
②輸出B和D不能(互斥)
畫出限制關係因果圖
(2)組合關係
①輸出A和B必須組合
②輸出A、B、C組合
③輸出C和D組合【使用者不想充值了情況】
④輸出D單獨
5、找到輸入組合和輸出組合的對應關係(什麼樣的輸入組合會產生什麼樣的輸出組合)
依據步驟3(2)和步驟4(2)
情況1:
輸入(1)和(3)組合
會產生:
輸出A和B的組合
畫出因果圖
情況2:
輸入(1)和(4)組合
會產生:
輸出C和D組合
情況3:
輸入(2)和(3)組合
會產生:
輸出A、B、C組合
情況4:
輸入(2)和(4)組合
會產生:
輸出A和B的組合
情況5:
輸入(1)單獨
會產生:
輸出C和D組合
情況6:
輸入(2)單獨
會產生:
輸出C和D組合
情況7:
輸入(3)單獨
會產生:
輸出D單獨
6、根據因果圖,畫出判定表
5、6是交叉進行的,寫完一種情況,就寫一條判定表的項
7、根據判定表編寫用例:把判定表的一列轉換為一條用例
五、因果圖法的侷限性
按鈕的組合、核取方塊的組合、下拉選單的組合
每個控制元件的條件(或取值)最好為2個或3個,比如:按鈕按下或者不按下;核取方塊選擇還是不選擇;單選按鈕點選或者不點選;有3個選項的下拉選單
相關文章
- 軟體測試用例設計方法-因果圖法
- 測試用例設計方法六脈神劍——第四劍:石破天驚,功能圖法攻陣
- 軟體測試用例設計方法-場景法
- 軟體測試用例設計方法-判定表法
- 測試用例設計指南
- 黑盒測試用例設計方法使用場合
- 軟體測試用例設計方法-邊界值法
- 測試用例設計標準
- 最新測試技術:使用狀態遷移法設計自動化駕駛測試用例
- APP測試設計測試用例的要點APP
- 黑盒測試用例設計方法三
- 軟體測試用例設計方法
- 2020-12-15:【黑盒測試用例設計】測試方法之錯誤值猜測法
- 聊聊介面測試用例設計規範
- 測試用例設計的5大誤區
- 第8課—設計測試用例編寫技巧
- 有關介面測試的用例設計問題
- 玩轉用例設計:XMind2TestCase一個高效的測試用例設計解決方案
- 最詳細的測試用例設計方法講解
- 如何設計、挑選有效的迴歸測試用例
- Cookie和Session的區別以及設計測試用例CookieSession
- XMind2TestCase 自定義測試用例設計模板
- 測試中,介面測試的必要性與介面測試的基礎用例設計
- 實用指南:使用Pytest Allure測試框架新增用例失敗截圖框架
- 測試用例
- 測試面試-測試用例面試
- 黑盒測試方法之因果圖和判定表——一
- 測試工程師必看!測試用例設計全解析,讓你徹底掌握工程師
- 手機地圖導航測試用例地圖
- 含有token鑑權的介面專案使用unittest框架設計測試登入,充值的介面框架
- 軟體測試核心之用例設計
- java系統可靠性測試設計與用例分析Java
- AI 客服對話類模型,該如何設計測試用例???AI模型
- 測試用例和測試方法
- 測試——水杯的測試用例
- teprunner測試平臺測試計劃批量執行用例
- 【5】測試用例
- 測試用例—教室