測試案例範本(Test Case Template)

參照標準:ISO/IEC/IEEE 29119-3:2021(取代 IEEE 829-2008)/ ISO/IEC/IEEE 29119-4:2021(Test Techniques)
文件用途:定義測試案例的標準格式,確保測試設計完整、可追溯、可重複執行
適用階段:測試設計與執行階段


📋 章節目錄

  1. 文件資訊
  2. 測試案例識別規範
  3. 測試案例格式定義
  4. 測試案例撰寫規範
  5. 測試案例分類
  6. 測試案例清單範本
  7. 測試案例詳細格式
  8. 測試資料規劃
  9. 測試執行紀錄
  10. 缺陷報告格式
  11. 附錄

1. 文件資訊

📝 範本

項目內容
文件編號TC-{專案代碼}-{模組}-{序號}
文件名稱{系統名稱} {模組名稱} 測試案例
版本v{主版本}.{次版本}
對應測試計畫{TP 文件編號}
對應需求{FRD 文件編號}
撰寫者{姓名}
審核者{姓名}
建立日期{YYYY-MM-DD}

📖 使用說明

  • 測試案例文件承接測試計畫(Test Plan),為各測試項目設計具體的驗證步驟
  • 每個功能模組可獨立一份測試案例文件,或匯整於單一文件中
  • 文件需經 QA Lead 或測試經理審核後方可執行

💡 範例

項目內容
文件編號TC-HRM-LV-001
文件名稱HRMS 假勤管理模組 測試案例
對應測試計畫TP-HRM-001
對應需求FRD-HRM-001 v2.1

2. 測試案例識別規範

📝 範本

2.1 編號規則

TC-{專案}-{模組}-{序號}
欄位說明範例
TC固定前綴(Test Case)TC
{專案}專案代碼(2-5 字元)HRM
{模組}模組縮寫(2-5 字元)LV(Leave)
{序號}三位數流水號001

2.2 命名規範

測試案例名稱格式:[測試類型] {功能描述} - {情境描述}

📖 使用說明

  • 編號需全域唯一,不可重複使用(即使案例被刪除)
  • 命名需清楚表達測試目的,讓任何人看到名稱就能理解測什麼
  • 測試類型標記:[正向][負向][邊界][異常]

💡 範例

測試案例 ID名稱
TC-HRM-LV-001[正向] 員工提交特休假申請 - 假額充足
TC-HRM-LV-002[負向] 員工提交特休假申請 - 假額不足
TC-HRM-LV-003[邊界] 員工提交請假 - 跨月申請
TC-HRM-LV-004[異常] 員工提交請假 - 起始日 > 結束日

3. 測試案例格式定義

📝 範本

每個測試案例包含以下欄位:

欄位說明必填
測試案例 ID唯一識別碼
測試案例名稱描述性名稱
對應需求 ID追溯至 FRD 需求
測試類型正向/負向/邊界/異常
優先級高/中/低
前置條件執行前必須滿足的條件
測試步驟逐步操作指引
測試資料執行所需的測試資料視情況
預期結果每步驟對應的預期系統行為
後置條件執行後系統預期狀態
自動化狀態手動/已自動化/待自動化
備註特殊注意事項

📖 使用說明

  • 依據 ISO/IEC/IEEE 29119-3 Annex B「Test Case Specification」
  • 前置條件必須具體可驗證(如「使用者已登入」而非「系統正常」)
  • 測試步驟需足夠詳細,讓任何人都能依步驟重現
  • 預期結果需與步驟一一對應,且可客觀判定通過/失敗

💡 範例

見第 7 節「測試案例詳細格式」


4. 測試案例撰寫規範

📝 範本

4.1 撰寫原則

原則說明
獨立性每個測試案例應可獨立執行,不依賴其他案例的執行結果
可重複性同一案例在相同條件下重複執行,結果應一致
可追溯性每個案例必須追溯至少一個功能需求
原子性一個案例驗證一個功能點,避免過於複雜
明確性步驟與預期結果不含模糊描述(如「正確顯示」應改為具體內容)

4.2 撰寫步驟格式

步驟格式範例
操作動作點擊、輸入、選擇、上傳
操作對象按鈕名稱、欄位名稱、頁面名稱
操作內容具體輸入值或選擇項

步驟描述格式:{動作} {對象} {內容}

4.3 預期結果格式

格式說明
畫面驗證「頁面顯示 {具體內容/訊息}」
資料驗證「資料庫 {表格} 新增一筆記錄,{欄位} = {值}」
狀態驗證「{物件} 狀態變更為 {狀態}」
通知驗證「{對象} 收到 {類型} 通知,內容包含 {關鍵字}」

📖 使用說明

  • 避免「驗證結果正確」此類模糊預期,應具體描述何謂「正確」
  • 每個步驟只做一個動作,避免「輸入 A 並點擊 B 然後確認 C」
  • 使用 Given-When-Then 思維:Given(前置條件)→ When(步驟)→ Then(預期結果)

💡 範例

模糊寫法(不佳): 「填寫請假資料後送出,確認結果正確」

明確寫法(良好):

步驟操作預期結果
1於「假別」下拉選單選擇「特休假」下拉選單顯示「特休假」
2於「起始日」欄位輸入 2026-06-01日期欄位顯示 2026-06-01
3於「結束日」欄位輸入 2026-06-03頁面自動計算顯示「3 天」
4於「事由」欄位輸入「家庭旅遊」
5點擊「送出申請」按鈕頁面顯示「申請已送出」成功訊息,狀態為「待審核」

5. 測試案例分類

📝 範本

5.1 依測試類型分類

類型代碼說明範例
正向測試POS驗證正常輸入與操作流程正確格式的請假申請
負向測試NEG驗證錯誤輸入與異常處理假額不足的請假申請
邊界值測試BND驗證邊界條件請假天數 = 0、= 上限
異常測試EXC驗證異常情境處理網路斷線、系統逾時
安全測試SEC驗證安全性未授權存取、SQL Injection

5.2 依測試優先級分類

優先級定義執行時機
P1(高)核心功能、Must have 需求每輪必測
P2(中)重要功能、Should have 需求第一輪 + 迴歸
P3(低)次要功能、Could have 需求時間允許時測試

📖 使用說明

  • 正向:負向建議比例約 4:6(負向情境通常更多)
  • 優先級由需求優先級與風險程度共同決定
  • P1 案例應優先自動化,確保迴歸效率

💡 範例

假勤模組測試案例分類統計:

類型P1P2P3合計
正向85215
負向68216
邊界值2316
異常2204
安全2204
合計2020545

6. 測試案例清單範本

📝 範本

模組:{模組名稱}

TC ID測試案例名稱對應需求類型優先級自動化狀態
TC-{xxx}-001[{類型}] {描述}FR-{xxx}POS/NEG/BND/EXCP1/P2/P3手動/自動待執行/通過/失敗
TC-{xxx}-002[{類型}] {描述}FR-{xxx}POS/NEG/BND/EXCP1/P2/P3手動/自動待執行/通過/失敗

📖 使用說明

  • 測試案例清單提供全覽視角,方便進度追蹤
  • 狀態欄位在測試執行期間更新
  • 此表可作為測試進度 Dashboard 的資料來源

💡 範例

模組:假勤管理(Leave Management)

TC ID測試案例名稱對應需求類型優先級自動化狀態
TC-HRM-LV-001[正向] 員工提交特休假申請 - 假額充足FR-LV-001POSP1自動通過
TC-HRM-LV-002[負向] 員工提交特休假申請 - 假額不足FR-LV-002NEGP1自動通過
TC-HRM-LV-003[正向] 主管審核假單 - 核准FR-LV-003POSP1自動通過
TC-HRM-LV-004[正向] 主管審核假單 - 駁回FR-LV-003POSP1手動通過
TC-HRM-LV-005[邊界] 請假天數 = 剩餘假額FR-LV-002BNDP2手動待執行
TC-HRM-LV-006[異常] 提交申請時網路中斷FR-LV-001EXCP2手動待執行
TC-HRM-LV-007[負向] 請假起始日 > 結束日FR-LV-001NEGP1自動通過
TC-HRM-LV-008[正向] 請假後通知主管FR-LV-003POSP1自動失敗

7. 測試案例詳細格式

📝 範本


測試案例:TC-{xxx}-{nnn}

項目內容
測試案例 IDTC-{xxx}-{nnn}
測試案例名稱[{類型}] {功能描述} - {情境描述}
對應需求FR-{xxx}-{nnn}
測試類型正向 / 負向 / 邊界 / 異常
優先級P1 / P2 / P3
自動化狀態手動 / 已自動化 / 待自動化

前置條件(Preconditions):

  1. {條件 1}
  2. {條件 2}

測試資料(Test Data):

資料項說明
{項目}{值}{說明}

測試步驟與預期結果:

步驟操作描述預期結果實際結果Pass/Fail
1{具體操作}{預期系統回應}{執行時填寫}
2{具體操作}{預期系統回應}{執行時填寫}
3{具體操作}{預期系統回應}{執行時填寫}

後置條件(Postconditions):

  • {系統預期狀態}

備註:

  • {特殊注意事項}

📖 使用說明

  • 前置條件:列出所有必須先完成的準備(登入、建立資料等)
  • 測試資料:明確列出每個輸入欄位的測試值
  • 「實際結果」與「Pass/Fail」:在測試執行時由執行者填寫
  • 一個測試案例建議不超過 10 個步驟,過複雜應拆分

💡 範例


測試案例:TC-HRM-LV-001

項目內容
測試案例 IDTC-HRM-LV-001
測試案例名稱[正向] 員工提交特休假申請 - 假額充足
對應需求FR-LV-001, FR-LV-002
測試類型正向
優先級P1
自動化狀態已自動化

前置條件:

  1. 測試帳號 E20260001(王小明)已登入系統
  2. 該帳號特休假剩餘 10 天
  3. 測試日期為工作日

測試資料:

資料項說明
假別特休假有充足假額
起始日2026-06-01週一
結束日2026-06-03週三
事由家庭旅遊20 字以內
代理人E20260015(李小華)同部門同事

測試步驟與預期結果:

步驟操作描述預期結果實際結果Pass/Fail
1點擊左側選單「假勤管理」→「請假申請」顯示請假申請表單頁面同預期Pass
2於「假別」下拉選單選擇「特休假」下方顯示「剩餘特休:10 天」同預期Pass
3於「起始日」選擇 2026-06-01日期欄顯示 2026/06/01同預期Pass
4於「結束日」選擇 2026-06-03自動計算顯示「共 3 天」同預期Pass
5於「事由」輸入「家庭旅遊」文字正常顯示同預期Pass
6於「代理人」搜尋並選擇「E20260015 李小華」顯示代理人資訊同預期Pass
7點擊「送出申請」按鈕顯示「請假申請已送出」成功訊息同預期Pass
8至「我的申請」查看該筆申請顯示假單,狀態為「待審核」同預期Pass

後置條件:

  • 假勤紀錄中新增一筆申請,狀態 = 待審核
  • 主管(E20260002)收到待審核通知
  • 剩餘特休假額仍為 10 天(審核通過後才扣除)

測試案例:TC-HRM-LV-002

項目內容
測試案例 IDTC-HRM-LV-002
測試案例名稱[負向] 員工提交特休假申請 - 假額不足
對應需求FR-LV-002
測試類型負向
優先級P1
自動化狀態已自動化

前置條件:

  1. 測試帳號 E20260003(張小剛)已登入系統
  2. 該帳號特休假剩餘 2 天

測試資料:

資料項說明
假別特休假假額不足
起始日2026-06-01
結束日2026-06-05共 5 天,超過剩餘 2 天

測試步驟與預期結果:

步驟操作描述預期結果實際結果Pass/Fail
1點擊「假勤管理」→「請假申請」顯示請假申請表單
2選擇「特休假」,起始日 06-01,結束日 06-05顯示「共 5 天」,剩餘特休:2 天
3填寫事由後點擊「送出申請」顯示錯誤訊息「特休假額不足,剩餘 2 天,申請 5 天」
4確認申請未建立「我的申請」中無該筆記錄

8. 測試資料規劃

📝 範本

8.1 測試帳號

帳號姓名角色部門特殊設定
{帳號}{姓名}{角色}{部門}{說明}

8.2 基礎測試資料

資料類型描述筆數準備方式
{類型}{描述}{數量}Script / 手動 / 匯入

8.3 資料清理策略

時機策略方式
每輪測試前{策略}{SQL / Script / API}
每日測試前{策略}{SQL / Script / API}

📖 使用說明

  • 測試帳號需涵蓋所有角色(Admin / Manager / Employee 等)
  • 測試資料不可使用真實個資,需脫敏或虛構
  • 資料清理確保每輪測試起始狀態一致,避免髒資料影響結果

💡 範例

8.1 測試帳號

帳號姓名角色部門特殊設定
E20260001王小明一般員工資訊部特休 10 天
E20260002陳主管部門主管資訊部王小明的直屬主管
E20260003張小剛一般員工人資部特休 2 天(測試不足情境)
ADMIN001系統管理員AdminIT全功能權限

9. 測試執行紀錄

📝 範本

9.1 每日測試進度

日期計畫執行實際執行通過失敗阻塞新增缺陷
{日期}{N} 案例{N} 案例{N}{N}{N}{N} 件

9.2 測試進度彙整

指標數值
總測試案例{N}
已執行{N}({%})
通過{N}({%})
失敗{N}({%})
阻塞{N}({%})
待執行{N}({%})

📖 使用說明

  • 每日更新測試進度,提供專案透明度
  • 「阻塞」表示因環境或依賴問題無法執行
  • 進度報告建議搭配圖表(如 Burndown Chart)呈現

💡 範例

9.2 測試進度彙整

指標數值
總測試案例135
已執行98(72.6%)
通過89(90.8%)
失敗6(6.1%)
阻塞3(3.1%)
待執行37(27.4%)

10. 缺陷報告格式

📝 範本

欄位內容
缺陷 IDBUG-{專案}-{序號}
標題[{模組}] {缺陷簡述}
嚴重度Critical / High / Medium / Low
狀態New / Assigned / In Progress / Fixed / Verified / Closed / Reopened
發現者{姓名}
指派給{姓名}
發現日期{YYYY-MM-DD}
對應測試案例TC-{xxx}-{nnn}
環境{測試環境版本}

重現步驟:

  1. {步驟 1}
  2. {步驟 2}
  3. {步驟 3}

預期結果:{預期行為}

實際結果:{實際行為}

附件:{截圖 / 影片 / Log 檔案}

📖 使用說明

  • 缺陷報告需提供足夠資訊讓開發者重現問題
  • 「重現步驟」需具體到開發者可依步驟 100% 重現
  • 附件(截圖、Log)能大幅加速問題定位
  • 嚴重度定義參考測試計畫附錄的缺陷嚴重度標準

💡 範例

欄位內容
缺陷 IDBUG-HRM-042
標題[假勤管理] 請假申請送出後主管未收到通知
嚴重度High
狀態Fixed
發現者王測試
指派給吳開發
對應測試案例TC-HRM-LV-008

重現步驟:

  1. 以帳號 E20260001 登入
  2. 進入「請假申請」,填寫特休假 2026-06-10 ~ 2026-06-11
  3. 點擊「送出申請」
  4. 以主管帳號 E20260002 登入查看通知

預期結果:主管 E20260002 收到待審核通知(系統通知 + Email)

實際結果:系統通知未出現,Email 未收到。資料庫確認請假紀錄已建立。

附件:notification_error_log_20260918.txt


11. 附錄

📝 範本

11.1 測試覆蓋率矩陣

需求 ID需求描述正向 TC負向 TC邊界 TC合計覆蓋狀態
FR-{xxx}-001{描述}{N}{N}{N}{N}已覆蓋/部分/未覆蓋

11.2 測試環境版本記錄

元件版本更新日期
{元件}{版本}{日期}

📖 使用說明

  • 測試覆蓋率矩陣確保每個需求都有對應的測試案例
  • 「未覆蓋」的需求需評估是否因範圍排除或遺漏

💡 範例

11.1 測試覆蓋率矩陣

需求 ID需求描述正向 TC負向 TC邊界 TC合計覆蓋狀態
FR-LV-001線上請假申請3429已覆蓋
FR-LV-002假額驗證2327已覆蓋
FR-LV-003通知發送2103已覆蓋
FR-LV-004代理人設定1102部分覆蓋

📌 範本使用注意事項

  1. 本範本依據 ISO/IEC/IEEE 29119-3:2021 及 29119-4:2021 標準編製
  2. 可搭配測試管理工具(如 TestRail、Azure Test Plans、Xray)使用
  3. 測試案例設計完成後需經 QA Lead 審核(Peer Review)
  4. 自動化測試案例的腳本應與案例 ID 對應,便於追溯
  5. 搭配「測試計畫範本」使用,構成完整的測試文件體系