常見的軟件測試用例設(shè)計方法,個人認(rèn)為主要是下面這6種:
- 流程圖法(也叫場景法)
- 等價類劃分法
- 邊界值分析
- 判定表
- 正交法
- 錯誤推測法
這6種常見方法中,我分別按照定義、應(yīng)用場景、使用步驟、案例講解這4個部分進行講解。
所以本文行文結(jié)構(gòu)如下
- 每種用例方法定義、應(yīng)用場景、使用步驟、案例講解
- 每種用例方法應(yīng)用場景的區(qū)別
- 深入學(xué)習(xí)資料分享
一、流程圖法(也叫場景法)
1、使用場景
所謂流程圖法,就是專門針對軟件業(yè)務(wù)流程測試的方法。
2、什么是業(yè)務(wù)流程?
業(yè)務(wù)流程,是指客戶在使用軟件的過程中,為了達成自身的所想要的目的,按照指定的順序去操作軟件的功能,這樣的操作過程叫業(yè)務(wù)流程。
業(yè)務(wù)流程是多個功能的組合。比如:把大象放進冰箱就是一個業(yè)務(wù)流程。
3、使用頻率高
未來不管面向什么項目,都是為了實現(xiàn)用戶價值去開發(fā)的,所以一定會有業(yè)務(wù)場景測試。也就意味著一定會使用到流程圖法。
流程圖法測試不需要深入功能內(nèi)部詳細(xì)測試,主要測試流程。
4、使用步驟
1. 根據(jù)流程圖找出路徑
2. 編寫測試用例(從開始到結(jié)束為一條路徑,有多少條路徑就有多少條用例)
路徑數(shù) = 判定節(jié)點數(shù) + 1
5、測試流程使用案例
流程圖舉例如下:
測試用例設(shè)計步驟:
1)找出流程圖的路徑
路徑數(shù) = 3 + 1 = 4
2)編寫測試用例
① 結(jié)賬流程成功
② 結(jié)賬流程失敗-登錄失敗
③ 結(jié)賬流程失敗-選擇桌臺失敗
④ 結(jié)賬流程失敗-支付失敗
二、等價類劃分法
1、概念
等價類定義:滿足某種共同特征的數(shù)據(jù)子集
等價類分類:
- 有效等價類,滿足需求的數(shù)據(jù)集合
- 無效等價類,不滿足需求的數(shù)據(jù)集合
2、使用場景
沒法窮舉的,或數(shù)據(jù)集過大的數(shù)據(jù)集。
比如手機號,無法窮舉。
比如一年365天,雖然有限,但數(shù)據(jù)集過大。
那為了縮小測試范圍,就可以考慮使用等價類劃分法。
3、使用頻率
該方法的使用頻率高。
針對:需要有大量數(shù)據(jù)測試輸入, 但是沒法窮舉測試的地方。
比如:輸入框、下拉列表、 單選復(fù)選框
4、使用步驟
步驟1:分析需求
步驟2:劃分等價類—等價類表
等價類劃分:按照 1)長度(空)2)類型 3)規(guī)則 去設(shè)置無效等價類
步驟3:設(shè)計用例原則
① 設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類。
② 設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類。
5、使用案例
注冊郵箱驗證
要求:
1. 6-18個字符
2. 包含數(shù)字、字母和下劃線
3. 必須以字母開頭
解題思路:
步驟1:分析需求
步驟2:劃分等價類——等價類表
步驟3:設(shè)計用例原則
① 先寫能覆蓋所有有效測試點的正向用例
一條正向用例,覆蓋編號1+2+3這3條有效等價類
② 剩下的所有無效測試點,再分別和正確的測試點組成反向測試用例(有多少無效測試點,就要設(shè)置多少條反向測試用例)
有6個無效測試點,就要另外再設(shè)置6條反向測試用例。
軟件測試工程師大忌!盲目自學(xué)軟件測試真的會毀終生,能救一個是一個......
三、邊界值分析法
1、概念
規(guī)律:邊界和邊界內(nèi)的值,更容易發(fā)現(xiàn)錯誤
所以要優(yōu)先選取正好等于、剛好大于、剛好小于邊界的值作為測試數(shù)據(jù)。
舉例數(shù)據(jù)范圍為 [-99,99]
上點:邊界上的點(正好等于,下圖中的綠色)
離點:距離上點最近的點(剛好大于、剛好小于, 下圖中的黃色)
內(nèi)點:范圍內(nèi)的點(區(qū)間范圍內(nèi)的數(shù)據(jù),下圖中的紫色)
其中,上點和內(nèi)點【必選】。
2、使用場景
輸入范圍有邊界。意味著使用場景只能是數(shù)字或時間類型。
邊界值分析法一般都是結(jié)合等價類使用。
在等價類的基礎(chǔ)上針對有邊界范圍的測試數(shù)據(jù)輸入的地方(重點關(guān)注邊界)
常見詞語描述:大小、 尺寸、 重量、 最大、 最小、 至多、 至少等修飾詞語
典型代表:有邊界范圍的輸入框類測試
疑問:中英文字符串可以使用邊界值嗎?
中英文沒有邊界,意味著無法使用邊界值。
3、使用步驟
邊界值設(shè)計用例步驟:
1. 明確需求
2. 確定有效和無效等價類
3. 確定邊界范圍值
4. 提取數(shù)據(jù)編寫測試用例
4、使用案例
-
需求:驗證QQ賬號的合法性
-
要求: 6~10位自然數(shù)
1. 明確需求
2. 確定有效和無效等價類
3. 確定邊界范圍值
4. 提取數(shù)據(jù)編寫測試用例
四、判定表法
1、定義
判定表法,是一種以表格形式,表達多條件邏輯判斷的工具。
2、使用場景
1)多條件組合的測試 且
2)各條件之間要有約束(依賴)
上方截圖中,通過表格將各種組合情況都列出來,非常清晰。其中:
灰色背景色是條件樁:列出問題中的所有條件,列出條件的次序無關(guān)緊要。
綠色背景色是動作樁:列出問題中可能采取的操作,操作的排列順序沒有約束。
黃色背景色是條件項:列出條件對應(yīng)的取值,所有可能情況下的真假值。
藍(lán)色背景色是動作項:列出條件項的、各種取值情況下應(yīng)該采取的動作結(jié)果。
3、判定表使用步驟
Step1、明確需求
Step2、畫出判定表
1)列出條件樁和動作樁
2)填寫條件項,對條件進行全組合
3)根據(jù)條件項的組合確定動作項
4)簡化、合并相似規(guī)則(有相同的動作)
step3、根據(jù)規(guī)則編寫測試用例
4、使用案例
訂購單檢查。規(guī)則:
1)如果金額大于500元,又未過期,則發(fā)出批準(zhǔn)單和提貨單;
2)如果金額大于500元,但過期了,則不發(fā)批準(zhǔn)單與提貨單;
3)如果金額小于等于500元,則不論是否過期都發(fā)出批準(zhǔn)單和提貨單;
4)在過期的情況下不論金額大小還需要發(fā)出通知。
Step1、明確需求
條件樁,兩個
- 金額是否大于500元
- 訂單狀態(tài)是否過期
動作樁,三個
- 發(fā)出批準(zhǔn)單
- 發(fā)出提貨單
- 發(fā)出通知單
Step2、畫出判定表
1) 列出條件樁和動作樁
2)填寫條件項,對條件進行全組合
3)根據(jù)條件項的組合確定動作項
4)簡化、合并相似規(guī)則(有相同的動作)
沒有,不用操作。
step3、根據(jù)規(guī)則編寫測試用例
其中,判定表中貫穿條件項和動作項的一列就是一條規(guī)則,每條規(guī)則要配上一條測試用例。
五、正交法
1、定義
正交法,是通過正交表選擇部分有代表性的組合進行測試(降低測試成本)
正交表,是經(jīng)過統(tǒng)計學(xué)的實驗,分析得來的一個數(shù)學(xué)結(jié)果。它相當(dāng)于是在大數(shù)據(jù)集合當(dāng)中,按照數(shù)學(xué)的特性去均勻的選擇挑選測試數(shù)據(jù),以便大幅縮小測試范圍。
2、應(yīng)用場景
各條件相互獨立,每一種有效用例里的組合數(shù)過多,而且這些組合都是有效數(shù)據(jù)。舉例:
比如,要為購票系統(tǒng)設(shè)置測試用例。到達北京的出發(fā)地至少有300個,以北京為出發(fā)地的目的地也至少有300個,加上出發(fā)日期,一年365天,取300天。
請問,覆蓋出發(fā)地,目的地,出發(fā)日3個條件的測試用例,可以寫多少條?
答案:300 x 300 x 300 =9w x 300= 2700w 條。
但由于城市名無法設(shè)置子集邊界,不好使用等價類方法來縮小范圍,那你就要考慮正交去降低了。
3、使用步驟
1. 分析需求,確定因素(條件)和水平(條件取值)
2. 選擇正交表進行映射
3. 設(shè)計測試用例:正交表一行對應(yīng)一條用例
4. 根據(jù)需求補充用例:常用的組合項
4、案例講解
4.1分析需求,確定因素(條件)和水平(條件取值)
-
因素:出發(fā)地、目的地和出發(fā)日期 因素數(shù):3個
-
水平:填寫、不填寫 水平數(shù):2個
4.2選擇正交表進行映射
-
正交表列名:條件具體取值替換。
-
水平:“填寫”替代 1、“不填寫”替代 2。
4.3設(shè)計測試用例:正交表一行對應(yīng)一條用例
case1: 出發(fā)地:填寫+目的地:填寫+出發(fā)日期:填寫
case2: 出發(fā)地:填寫+目的地:不填寫+出發(fā)日期:不填寫
case3: 出發(fā)地:不填寫+目的地:填寫+出發(fā)日期:不填寫
case4: 出發(fā)地:不填寫+目的地:不填寫+出發(fā)日期:填寫
4.4,根據(jù)需求補充用例:常用的組合項
如果某些組合情況,用戶經(jīng)常使用,還可以進行適度的用例完善。
六、錯誤推測法
1、定義
通過【經(jīng)驗】推測系統(tǒng)可能出現(xiàn)的問題。
可以作為正常用例方法的補充存在。
2、場景
2.1、 時間緊任務(wù)量大時,根據(jù)之前項目類似經(jīng)驗找出易出錯的模塊重點測試
2.2、 時間寬裕通過該方法,列出之前出現(xiàn)問題較多的模塊再次測試
3、使用方法
根據(jù)【經(jīng)驗】和【直覺】列舉出可能出現(xiàn)問題的清單,根據(jù)清單分析問題可能原因,推測發(fā)現(xiàn)缺陷。
4、案例講解
比如,輸入框填入“空”。
七、最后用例方法總結(jié)
以上六種用例,最重要的是區(qū)別每種用例方法的應(yīng)用場景。簡單總結(jié)如下:
1)流程圖法(也叫場景法),主要針對業(yè)務(wù)場景,也就是多個功能的組合使用場景。
2)等價類劃分法,主要針對數(shù)據(jù)很大,且數(shù)據(jù)主要為數(shù)字、日期類型。
3)邊界值, 確認(rèn)邊界,要結(jié)合等價類使用
4)判定表, 一條測試用例覆蓋多個條件,且條件之間有約束
5)正交法, 數(shù)據(jù)很大,但是無法使用等價類縮小范圍(比如城市名,瀏覽器名稱不是數(shù)字、日期類型),就用正交表來縮小范圍
6)錯誤推測法,有經(jīng)驗的人使用
總結(jié):
感謝每一個認(rèn)真閱讀我文章的人?。。?/strong>
作為一位過來人也是希望大家少走一些彎路,如果你不想再體驗一次學(xué)習(xí)時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,在這里我給大家分享一些自動化測試的學(xué)習(xí)資源,希望能給你前進的路上帶來幫助。
文章來源:http://www.zghlxwxcb.cn/news/detail-821669.html
??視頻文檔獲取方式:
這份文檔和視頻資料,對于想從事【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!以上均可以分享,點下方小卡片即可自行領(lǐng)取。??文章來源地址http://www.zghlxwxcb.cn/news/detail-821669.html
到了這里,關(guān)于常見的6種軟件測試用例設(shè)計方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!