测试用例设计
1、?等價類劃分:(從輸入角度考慮測試用例設計)
a. 大多數(shù)軟件在對輸入進行檢查時,一旦發(fā)現(xiàn)前面輸入錯誤,后面的輸入會不再檢查;????????????????????????
b. 便于開發(fā)人員定位缺陷;
| 輸入項 | 輸入條件 | 有效類 | 無效類 |
| 聯(lián)系人 | 必填項 | 不為空(1) | 為空(9) |
| 字母或漢字 | 字母或漢字(2) | 含特殊字符(10) | |
| 性別 | 必選項 | 選擇(3) | 不選(11) |
| 電話 | 必填項 | 不為空(4) | 為空(12) |
| 11位數(shù)字 | 11位數(shù)字(5) | 少于11位數(shù)字(13),大于11位數(shù)字(14),11位包含非數(shù)字(15) | |
| 手機號符合格式要求 | 符合(6) | 不符合(16) | |
| 地址 | 必填項 | 不為空(7) | 為空(17) |
| 必須存在 | 存在(8) | 不存在(18) | |
| 測試用例 | 覆蓋等價類 | 測試輸入 | 測試標題 |
| 1 | 1、2、3、4、5、6、7、8 | 大強、先生、190xxxx8685、陜西省西安市高新區(qū) | 新增正確的地址 |
| 2 | 9、 | 、先生、190xxxx8685、陜西省西安市高新區(qū) | 聯(lián)系人為空新增 |
| 3 | 10、 | 大強@、先生、190xxxx8685、陜西省西安市高新區(qū) | 聯(lián)系人含特殊字符新增 |
| 4 | 11、 | 大強、190xxxx8685、陜西省西安市高新區(qū) | 不選性別新增 |
| 5 | 12、 | 大強、先生、陜西省西安市高新區(qū) | 電話為空新增 |
| 6 | 13、 | 大強、先生、190xxxx868、陜西省西安市高新區(qū) | 電話少于11位數(shù)字新增 |
| 7 | 14、 | 大強、先生、190xxxx86850、陜西省西安市高新區(qū) | 電話大于11位數(shù)字新增 |
| 8 | 15、 | 大強、先生、190xxxx868a、陜西省西安市高新區(qū) | 電話包含字母新增 |
| 9 | 16、 | 大強、先生、00000000000、陜西省西安市高新區(qū) | 電話不符合格式新增 |
| 10 | 17、 | 大強、先生、190xxxx8685 | 地址為空新增 |
| 11 | 18、 | 大強、先生、190xxxx8685、火星 | 地址不存在新增 |
2、邊界值分析:
eg:if length>=6 && length<=8
1. 如果取值范圍為閉區(qū)間,離點在取值范圍外:
? ? ? ? eg:長度6-8,離點為5和9
2. 如果取值范圍為開區(qū)間,離點在取值范圍內(nèi):
? ? ? ? eg:長度<6 && 長度>8,離點為5和9
3、正交實驗法:
| 等價類 | 輸入 | 輸入條件 | 有效 | 無效 |
| 配送方式 | 選填 | 不選1,蜂鳥2 | ||
| 人均消費 | 選填 | 不選3,20以下4,20-40 5,40以上6 | ||
| 優(yōu)惠活動 | 選填 | 不選7,任選一個8 | ||
| 商家屬性 | 選填 | 不選9,選一個10,選多個11 | ||
| 測試用例 | 等價類覆蓋 | |||
| 1、3、7、9 | ||||
| 2、4、8、10 | ||||
| 1、5、7、11 | ||||
| 1、6、7、9 | ||||
| 對組合的測試很不充分 | ||||
| 正交 | 因子 | |||
| 配送方式1 | 人均消費2 | 優(yōu)惠活動3 | 商家屬性4 | |
| 狀態(tài) | 不選1/3 | 不選1 | 不選1/3 | 不選1 |
| 蜂鳥2 | 20以下2 | 任選一個2 | 選一個2 | |
| 20-40 3 | 選多個3 | |||
| 40以上3 |
| 配送方式 | 人均消費 | 優(yōu)惠活動 | 商家屬性 | |
| 1 | 不選 | 不選 | 不選 | 不選 |
| 2 | 不選 | 20以下 | 任選一個 | 選一個 |
| 3 | 不選 | 20-40 | 不選 | 選多個 |
| 4 | 不選 | 40以上 | 不選 | 選多個 |
| 5 | 蜂鳥 | 不選 | 任選一個 | 選多個 |
| 6 | 蜂鳥 | 20以下 | 不選 | 不選 |
| 7 | 蜂鳥 | 20-40 | 不選 | 選一個 |
| 8 | 蜂鳥 | 40以上 | 不選 | 選一個 |
| 9 | 不選 | 不選 | 不選 | 選一個 |
| 10 | 不選 | 20以下 | 不選 | 選多個 |
| 11 | 不選 | 20-40 | 任選一個 | 不選 |
| 12 | 不選 | 40以上 | 任選一個 | 不選 |
對比4因子2狀態(tài):
| 配送方式1 | 人均消費2 | 優(yōu)惠活動3 | 商家屬性4 |
| 不選0 | 不選0 | 不選0 | 不選0 |
| 蜂鳥1 | 20以下0 | 任選一個1 | 選一個1 |
| 20-40 1 | 選多個1 | ||
| 40以上1 |
代入輸入和取值,得到測試用例:
| 配送方式 | 人均消費 | 優(yōu)惠活動 | 商家屬性 | |
| 1 | 不選 | 不選 | 不選 | 不選 |
| 2 | 不選 | 20以下 | 不選 | 不選 |
| 3 | 蜂鳥 | 不選 | 任選一個 | 不選 |
| 4 | 蜂鳥 | 20以下 | 任選一個 | 不選 |
| 5 | 不選 | 20-40 | 任選一個 | 不選 |
| 6 | 不選 | 40以上 | 任選一個 | 不選 |
| 7 | 蜂鳥 | 20-40 | 不選 | 不選 |
| 8 | 蜂鳥 | 40以上 | 不選 | 不選 |
| 9 | 不選 | 不選 | 不選 | 選一個 |
| 10 | 不選 | 20以下 | 不選 | 選一個 |
| 11 | 不選 | 不選 | 不選 | 選多個 |
| 12 | 不選 | 20以下 | 不選 | 選多個 |
| 13 | 蜂鳥 | 不選 | 任選一個 | 選一個 |
| 14 | 蜂鳥 | 20以下 | 任選一個 | 選一個 |
| 15 | 蜂鳥 | 不選 | 任選一個 | 選多個 |
| 16 | 蜂鳥 | 20以下 | 任選一個 | 選多個 |
| 17 | 不選 | 20-40 | 任選一個 | 選一個 |
| 18 | 不選 | 20-40 | 任選一個 | 選多個 |
| 19 | 不選 | 40以上 | 任選一個 | 選一個 |
| 20 | 不選 | 40以上 | 任選一個 | 選多個 |
| 21 | 蜂鳥 | 20-40 | 不選 | 選一個 |
| 22 | 蜂鳥 | 20-40 | 不選 | 選多個 |
| 23 | 蜂鳥 | 40以上 | 不選 | 選一個 |
| 24 | 蜂鳥 | 40以上 | 不選 | 選多個 |
? ? ? ? 以上,比對可得出,在輸入項(因子)確定的情況下,選擇輸入項取值(狀態(tài))最接近的正交表,可以用最少的測試用例覆蓋最多的組合。
| 因子 | ||||
| 狀態(tài) | 打印機名稱1 | 頁面范圍2 | 打印3 | 份數(shù)4 |
| 本地打印機1 | 全部1 | 所有1 | 1份1/3 | |
| 遠程打印機2 | 當前頁2 | 奇數(shù)頁2 | 多份2 | |
| 虛擬打印機3 | 頁碼范圍3 | 偶數(shù)頁3 |
4、輸入域分析:
5、判定表:
| 條件 | QQ號/手機號/郵箱(存在/不存在/空)3 | 存在 | 存在 | 存在 | 不存在 | 不存在 | 不存在 | 空 | 空 | 空 |
| 密碼(正確/錯誤/空)3 | 正確 | 錯誤 | 空 | 正確 | 錯誤 | 空 | 正確 | 錯誤 | 空 | |
| 動作 | 登錄成功(是/否) | 是 | 否 | 否 | 否 | 否 | ||||
| QQ號/手機號/郵箱(存在/不存在/空)3 | 存在 | 存在 | 存在 | 注:黃色,賬號不存在或為空,不會再進行密碼驗證,屬于無效組合,剔除它 | ||||||
| 密碼(正確/錯誤/空)3 | 正確 | 錯誤 | 空 | 注:綠色,動作和賬號的取值無關,合并 | ||||||
| 登錄成功(是/否) | 是 | 否 | 否 | |||||||
| 測試用例 | 測試輸入 | 測試標題 | ||||||||
| 1234、123456 | 合法qq號登錄 | |||||||||
| 1234、234567 | 密碼錯誤登錄 | |||||||||
| 1234、 | 密碼為空登錄 | |||||||||
6、因果圖:
| 輸入 | 輸入條件 | 有效 | 無效 |
| 文本 | 第一列為A或B | 第一列為A(1),第一列為B(2) | 第一列不為A和B(4) |
| 第二列為數(shù)字 | 第二列為數(shù)字(3) | 第二列不為數(shù)字(5) | |
| 測試用例 | 覆蓋等價類 | 測試輸入 | 測試標題 |
| 1、3 | A3 | 第一列為A第二列為數(shù)字 | |
| 2、3 | B4 | 第一列為B第二列為數(shù)字 | |
| 4、3 | C3 | 第一列不為A和B第二列為數(shù)字 | |
| 1、5 | A* | 第一列為A第二列不為數(shù)字 |
| 條件(3) | 第一列為A(是/否)2 | 是 | 是 | 是 | 是 | 否 | 否 | 否 | 否 |
| 第一列為B(是/否)2 | 是 | 是 | 否 | 否 | 是 | 是 | 否 | 否 | |
| 第二列為數(shù)字(是/否)2 | 是 | 否 | 是 | 否 | 是 | 否 | 是 | 否 | |
| 動作 | 修改文本 | 是 | 是 | ||||||
| L | 是 | 是 | |||||||
| M | 是 | 是 | 是 | ||||||
| A3 | A* | B4 | B* | C3 | C* |
| 第一列為A(是/否) | 是 | 是 | 否 | 否 |
| 第一列為B(是/否) | 是 | 否 | 是 | 否 |
| 第一列為A或B | 是 | 是 | 否 |
| 第一列為A或B | 是 | 是 | 否 | 否 |
| 第二列為數(shù)字 | 是 | 否 | 是 | 否 |
| 修改文本 | 是 | |||
| L | 是 | 是 | ||
| M | 是 | 是 |
| 第一列為A(是/否) | 是 | 否 | 是 | 否 | 否 | 否 |
| 第一列為B(是/否) | 否 | 是 | 否 | 是 | 否 | 否 |
| 第二列為數(shù)字(是/否) | 是 | 是 | 否 | 否 | 是 | 否 |
| 修改文本 | 是 | 是 | ||||
| L | 是 | 是 | ||||
| M | 是 | 是 | 是 |
7、輸出域分析:
| 輸出 | 輸出條件 | 有效 | 無效 |
| 待支付金額 | 滿20減免快送費 | <20,>=20 | |
| 滿40減5 | <40,>=40 | ||
| 滿60減10 | <60,>=60 | ||
| 測試用例 | 測試輸入 | 測試標題 | |
| 菜的金額為19 | 點餐金額不滿20 | ||
| 菜的金額為20 | 點餐金額正好20 | ||
| 菜的金額為39 | 點餐金額不滿40 | ||
| 菜的金額為40 | 點餐金額正好40 | ||
| 菜的金額為59 | 點餐金額不滿60 | ||
| 菜的金額為60 | 點餐金額滿60 |
8、狀態(tài)遷移:從工作狀態(tài)角度考慮測試用例設計
手機:關機、搜索網(wǎng)絡、待機、通話
電梯:上行、下行、停止
紅綠燈:紅、綠、黃
| 狀態(tài)事件表 | 后一狀態(tài) | ||
| 前一狀態(tài) | 初始 | 播放 | 暫停 |
| 初始 | 點擊歌曲 | ||
| 播放 | 上一首/下一首 | 點擊暫停/無網(wǎng)絡/播放結(jié)束 | |
| 暫停 | 點擊播放/上一首/下一首 |
?9、流程分析:從業(yè)務流程角度考慮測試用例設計
1. 基本路徑覆蓋:循環(huán)次數(shù)不超過1次
2. 測試路徑:基本流和備選流
? ? ? ? ?a. 基本流程:一次性成功
? ? ? ? ?b. 備選流程:1> 經(jīng)過波折后成功; 2> 失敗;
10、錯誤猜測:?
從經(jīng)驗角度考慮測試用例設計,通常用于其他方法使用完之后,最后補充使用。
總結(jié)
- 上一篇: 3G是IPv6的3G(转)
- 下一篇: 软件测试实例 面试经验