測試用例的書寫方式及測試模板大全
一個優秀的測試用例,應該包含以下資訊:
1 ) 軟體或專案的名稱
2 ) 軟體或專案的版本(內部版本號)
3 ) 功能模組名
4 ) 測試用例的簡單描述,即該用例執行的目的或方法
5 ) 測試用例的參考資訊(便於跟蹤和參考)
6 ) 本測試用例與其他測試用例間的依賴關係
7 ) 本用例的前置條件,即執行本用例必須要滿足的條件,如對資料庫的訪問許可權
8 ) 用例的編號( ID ),如可以是 軟體名稱簡寫 - 功能塊簡寫 -NO. 。
9 ) 步驟號、操作步驟描述、測試資料描述
10 )預期結果(這是最重要的)和實際結果(如果有 BUG 管理工具,這條可以省略)
11 )開發人員(必須有)和測試人員(可有可無)
12 )測試執行日期
例如以下這個模板:
專案 / 軟體 |
技術出口合同網路申領系統 |
程式版本 |
1.0.25 |
|
|
|
功能模組名 |
Login |
編制人 |
xxx |
|
|
|
用例編號 - |
TC-TEP_Login_1 |
編制時間 |
2010.10.12 |
|
|
|
相關的用例 |
無 |
|
|
|
|
|
功能特性 |
使用者身份驗證 |
|
|
|
|
|
測試目的 |
驗證是否輸入合法的資訊,允許合法登陸,阻止非法登陸 |
|
|
|
|
|
預置條件 |
無 |
特殊規程說明 |
如資料庫訪問許可權 |
|
|
|
參考資訊 |
需求說明中關於 “ 登陸 ” 的說明 |
|
|
|
|
|
測試資料 |
使用者名稱 =yiyh 密碼 =1 |
|||||
操作步驟 |
操作描述 |
數 據 |
期望結果 |
實際結果 |
實際結果 |
測試狀態 |
1 |
輸入使用者名稱稱,按 “ 登陸 ” 按鈕。 |
使用者名稱 =yiyh ,密碼為空 |
顯示警告資訊 “ 請輸入使用者名稱和密碼! ” |
|
|
|
2 |
輸入密碼,按 “ 登陸 ” 按鈕。 |
使用者名稱為空,密碼 =1 |
顯示警告資訊 “ 請輸入使用者名稱和密碼! ” |
|
|
|
------------>>> |
||||||
測試人員 |
|
開發人員 |
|
|
專案負責人 |
|
=====需求測試用例=======
客戶需求列表-需求說明書 | 開發人員-系統說明書-功能列表 | 測試人員--功能點測試列表 |
1註冊功能 | 1使用者可以自動註冊 | (對比發現問題) |
===== 介面測試用例===
介面 A 的函式原型 |
|
||
輸入 / 動作 |
期望的輸出 / 相應 |
實際情況 |
|
典型值 … |
|
|
|
邊界值 … |
|
|
|
異常值 … |
|
|
|
介面 B 的函式原型 |
|
||
輸入 / 動作 |
期望的輸出 / 相應 |
實際情況 |
|
典型值 … |
|
|
|
邊界值 … |
|
|
|
異常值 … |
|
|
|
… |
|
|
==== 路徑測試的檢查用例====
檢查項 |
結論 |
資料型別問題 |
|
變數值問題 |
|
邏輯判斷問題 |
|
迴圈問題 |
|
記憶體問題 |
|
檔案 I/O 問題 |
|
錯誤處理問題 |
|
… |
|
=====功能測試用例=====
功能 A 描述 |
|
||
用例目的 |
|
||
前提條件 |
|
||
輸入 / 動作 |
期望的輸出 / 相應 |
實際情況 |
|
示例:典型值 … |
|
|
|
示例:邊界值 … |
|
|
|
示例:異常值 … |
|
|
|
功能 B 描述 |
|
||
用例目的 |
|
||
前提條件 |
|
||
輸入 / 動作 |
期望的輸出 / 相應 |
實際情況 |
|
…… |
======健壯性測試- 容錯能力 / 恢復能力測試用例=====
異常輸入 / 動作 |
容錯能力 / 恢復能力 |
造成的危害、損失 |
示例:錯誤的資料型別 … |
|
|
示例:定義域外的值 … |
|
|
示例:錯誤的操作順序 … |
|
|
示例:異常中斷通訊 … |
|
|
示例:異常關閉某個功能 … |
|
|
示例:負荷超出了極限 … |
|
|
|
|
|
|
|
|
======效能測試用例=======
效能 A 描述 |
|
||
用例目的 |
|
||
前提條件 |
|
||
輸入資料 |
期望的效能(平均值) |
實際效能(平均值) |
|
|
|
|
|
|
|
|
|
|
|
|
|
效能 B 描述 |
|
||
用例目的 |
|
||
前提條件 |
|
||
輸入資料 |
期望的效能(平均值) |
實際效能(平均值) |
|
…… |
|||
|
=====介面測試用例-介面檢查表=======
檢查項 |
測試人員的類別及其評價 |
視窗切換、移動、改變大小時正常嗎? |
|
各種介面元素的文字正確嗎?(如標題、提示等) |
|
各種介面元素的狀態正確嗎?(如有效、無效、選中等狀態) |
|
各種介面元素支援鍵盤操作嗎? |
|
各種介面元素支援滑鼠操作嗎? |
|
對話方塊中的預設焦點正確嗎? |
|
資料項能正確回顯嗎? |
|
對於常用的功能,使用者能否不必閱讀手冊就能使用? |
|
執行有風險的操作時,有“確認”、“放棄”等提示嗎? |
|
操作順序合理嗎? |
|
有聯機幫助嗎? |
|
各種介面元素的佈局合理嗎?美觀嗎? |
|
各種介面元素的顏色協調嗎? |
|
各種介面元素的形狀美觀嗎? |
|
字型美觀嗎? |
|
圖示直觀嗎? |
|
|
|
… |
|
======資訊保安測試用例=========
假想目標 A |
|
||
前提條件 |
|
||
非法入侵手段 |
是否實現目標 |
代價-利益分析 |
|
…… |
|
|
|
|
|
|
|
假想目標 B |
|
||
前提條件 |
|
||
非法入侵手段 |
是否實現目標 |
代價-利益分析 |
|
…… |
|
|
|
|
|
|
======壓力測試用例===========
極限名稱 A |
例如“最大併發使用者數量” |
||
前提條件 |
|
||
輸入 / 動作 |
輸出 / 響應 |
是否能正常執行 |
|
例如 10 個使用者併發操作 |
|
|
|
例如 20 個使用者併發操作 |
|
|
|
… |
|
|
|
極限名稱 B |
|
||
前提條件 |
|
||
輸入 / 動作 |
輸出 / 響應 |
是否能正常執行 |
|
|
|
|
|
… |
|
|
======可靠性測試用例========
任務 A 描述 |
|
連續執行時間 |
|
故障發生的時刻 |
故障描述 |
|
|
|
|
…… |
|
統計分析 |
|
任務 A 無故障執行的平均時間間隔 |
( CPU 小時) |
任務 A 無故障執行的最小時間間隔 |
( CPU 小時) |
任務 A 無故障執行的最大時間間隔 |
( CPU 小時) |
任務 B 描述 |
|
連續執行時間 |
|
故障發生的時刻 |
故障描述 |
|
|
|
|
…… |
|
統計分析 |
|
任務 B 無故障執行的平均時間間隔 |
( CPU 小時) |
任務 B 無故障執行的最小時間間隔 |
( CPU 小時) |
任務 B 無故障執行的最大時間間隔 |