一、通用原則
- 等價類劃分法,將無限的測試變成有限的測試
- 邊界值分析法,是在任何用例中都必須用到的方法
- 錯誤值推測法,能幫助我們在原有用例的基礎上追加補充一些用例
- 若輸入條件需要考慮組合情況,則可用因果圖法和判定表法
- 參數配置類的測試,可結合正交試驗法篩選用例
- 業務流程清晰的系統,可選用場景法設計測試用例
- 對於有狀態遷移和邏輯功能路徑組合的情況,考慮使用功能圖法。
對照程序邏輯,檢查已設計出的測試用例邏輯覆蓋度,如果沒有達到要求的覆蓋標準,應再補充足夠的測試用例。
二、設計思想
(1)化大爲小&模塊化
整體分析得出簡易用例
細節分析細化用例
填充數據完善用例
(2)優化
利用設計測試用例的8種方法不斷的分解合併測試用例,利用發散的思維構造測試用例。
三、實例之新建崗位
業務描述:
- superuser用戶登錄崗位之後可以請求新建崗位
- 進入“崗位信息查詢”頁面可以點擊新建崗位
- 新建崗位時,可以設定新建的崗位名稱,所在部門,崗位描述信息
- 新建崗位信息不能缺失,如果某一項沒寫要給出提示
- 崗位名稱長度不超過100個字符
- 崗位描述長度不超過1000個字符
- 保存時崗位名不能重複
- 填寫完信息後可選擇保存或取消操作,然後返回“崗位信息描述”頁面,結束流程
整體分析得出簡易用例
基本流 | 1.superuser用戶登錄 2.進入 “崗位信息查詢”頁面點擊新建 3.打開新建崗位頁面 4.輸入新建崗位信息 5.點擊保存 |
備選流1 | 基本流步驟3崗位信息沒有輸入完整 |
備選流2 | 基本流步驟3崗位名稱超過100個字符 |
備選流3 | 基本流步驟3崗位描述超過1000個字符 |
備選流4 | 保存時崗位名重複 |
備選流5 | 保存時選擇取消操作 |
生成簡易用例
場景1 | 基本流 |
場景2 | 基本流→備選流1 |
場景3 | 基本流→備選流2 |
場景4 | 基本流→備選流3 |
場景5 | 基本流→備選流4 |
場景6 | 基本流→備選流5 |
用例ID | 場景 | 場景描述 | 預期結果 |
---|---|---|---|
TC001 | 場景1 | 輸入有效崗位信息並保存 | 成功創建崗位並返回崗位信息描述頁面 |
TC002 | 場景2 | 輸入不完整崗位信息並保存 | 提示輸入信息不完整,崗位信息不被保存,返回步驟4 |
TC003 | 場景3 | 輸入崗位名稱超過100字符並保存 | 提示崗位名稱超過100字符,崗位信息不被保存,返回步驟4 |
TC004 | 場景4 | 輸入崗位描述超過1000字符 | 提示崗位描述超過1000字符,崗位信息不被保存,返回步驟4 |
TC005 | 場景5 | 保存時崗位名稱重複 | 提示崗位已存在,保存失敗並返回步驟4 |
TC006 | 場景6 | 保存時選擇取消 | 崗位信息未保存,返回崗位信息描述頁面 |
細節分析細化用例
用例ID | 場景 | 場景描述 | 預期結果 |
---|---|---|---|
TC001 | 場景1 | 輸入有效崗位信息並保存 | 成功創建崗位並返回崗位信息描述頁面 |
TC002 | 場景1 | 輸入無效崗位信息並保存(崗位名稱裏含有非法字符) | 提示崗位信息中含有非法字符,保存失敗,返回步驟4 |
TC003 | 場景1 | 輸入無效崗位信息並保存(所在部門中含有非法字符) | 提示崗位信息中含有非法字符,保存失敗,返回步驟4 |
TC004 | 場景1 | 輸入無效崗位信息並保存(崗位描述中含有非法字符) | 提示崗位信息中含有非法字符,保存失敗,返回步驟4 |
TC005 | 場景2 | 輸入不完整崗位信息並保存(崗位名稱爲空) | 提示輸入信息不完整,崗位信息不被保存,返回步驟4 |
TC006 | 場景2 | 輸入不完整崗位信息並保存(所在部門爲空) | 提示輸入信息不完整,崗位信息不被保存,返回步驟4 |
TC007 | 場景2 | 輸入不完整崗位信息並保存(崗位描述爲空) | 提示輸入信息不完整,崗位信息不被保存,返回步驟4 |
TC008 | 場景3 | 輸入崗位名稱99字符並保存 | 成功創建崗位並返回崗位信息描述頁面 |
TC009 | 場景3 | 輸入崗位名稱100字符並保存 | 成功創建崗位並返回崗位信息描述頁面 |
TC010 | 場景3 | 輸入崗位名稱101字符並保存 | 提示崗位名稱超過100字符,崗位信息不被保存,返回步驟4 |
TC011 | 場景4 | 輸入崗位描述999字符 | 成功創建崗位並返回崗位信息描述頁面 |
TC012 | 場景4 | 輸入崗位描述1000字符 | 成功創建崗位並返回崗位信息描述頁面 |
TC013 | 場景4 | 輸入崗位描述1001字符 | 提示崗位描述超過1000字符,崗位信息不被保存,返回步驟4 |
TC014 | 場景5 | 保存時崗位名稱重複 | 提示崗位已存在,保存失敗並返回步驟4 |
TC015 | 場景6 | 保存時選擇取消 | 崗位信息未保存,返回崗位信息描述頁面 |
TC016 | 異常事件流1 | 保存時數據庫服務器故障,網絡故障 | 崗位信息未保存,提示系統異常 |
填充數據完善用例略。
四、方法應用
功能劃分要簡單清晰,一個測試用例只檢查一個功能模塊
測試用例的劃分也要單一,一個測試用例只檢查功能點的一種情況
測試用例要有簡單的目的描述,要有明確的執行前提,包括環境,場景,數據,要有明確的測試數據
一般設計步驟
根據設計規格得出基本測試用例
1.補充邊界值測試用例
2.補充錯誤猜測測試用例
3.補充異常測試用例
4.補充性能測試用例
Web類常用控件測試用例設計思路
Textbox實例1:要求一個textbox控件不能爲空,可以填寫任何字符,長度不能超過20,設計測試用例。
按長度用邊界值法設計測試用例
1.輸入0個字符(報錯)
2.輸入1個字符(正常)
3.輸入19個字符(正常)
4.輸入20個字符(正常)
5.輸入21個字符(報錯)
按字符類型設計測試用例
輸入漢字(正常)
輸入英文字符串(正常)
輸入數字(正常)
輸入符號(正常)
安全性方面設計測試用例
XSS攻擊(正常)
Textbox實例2:一個textbox表示金額,小數點後最多2位,字符長度不超過10,設計測試用例
字符長度邊界值測試
輸入9位字符(正常)
輸入10位字符(正常)
輸入11位字符(報錯)
小數位數邊界值測試
輸入爲空(報錯)
輸入2位小數(正常)
輸入3位小數(報錯)
字符類型測試
輸入漢字(報錯)
輸入string字符串(報錯)
輸入空格(報錯)
輸入除.外的符號(報錯)
輸入超過1個.(報錯)
Select實例:一個下拉菜單框,默認值爲空,有A,B,C3個選項,單選,不可寫,設計測試用例
默認值爲空檢查(正常)
不可寫檢查(正常)
選擇A(正常)
選擇B(正常)
選擇C(正常)
單選檢查(正常)
Web網頁通常分爲展示型和提交型。
展示型頁面測試用例設計:一個web頁面,含有table數據,用來展示數據庫中的名字,金額。設計測試用例
頁面元素檢查
檢查Table格式(正常)
檢查其他頁面樣式(正常)
頁面數據檢查
名字爲空(正常)
名字含有漢字(正常)
名字最大長度(正常)
金額爲空(正常)
金額爲0(正常)
金額帶2位小數(正常)
金額最大長度(正常)
注:其他無效等價類自行設計。