業務 BDD / 04
Feature: 執行計畫與人工重跑
維護者從測試計畫發起執行,並透過每次執行的紀錄確認進度與結果。
現有行為與待達成需求以標籤區分,不能因規格已寫下就認定功能已通過驗收。
以下是業務驗收規格,尚未連接自動化步驟或執行業務測試。8 個情境,例子展開後共 11 個。
Scenario: 執行計畫後可查閱本次案例結果
- Given「訂單回歸」已選取一個可執行的案例,所需環境、資料及受測服務均已就緒
- When維護者執行「訂單回歸」
- Then平台應建立一筆新的執行紀錄
- And本次測試結束後,維護者應能查閱該案例及其步驟結果
Scenario: 現有工作正在執行時暫不受理新的手動執行
- Given平台上已有測試正在執行
- When維護者要求立即執行另一個計畫
- Then平台應拒絕這次要求並提示稍後再試
- And不應因此啟動另一個測試工作
Scenario: 人工重跑整個計畫並保留原結果
- Given原執行已有失敗結果,且平台沒有其他執行中的工作
- When維護者重跑原測試計畫
- Then平台應為整個計畫建立另一筆執行紀錄
- And原本的案例結果應仍可查閱
- And原排程的下一次執行時間應保持不變
Scenario: 沒有維護權限的人不能要求重跑
- Given開發人員沒有平台維護者權限
- When該人員要求重跑測試計畫
- Then平台應拒絕重跑
- And不應因此建立新的執行紀錄
Scenario Outline: 共用環境忙碌時保留工作並等待執行
- Given「每日回歸」環境正在執行「訂單回歸」
- When「<來源>」要求使用同一環境執行另一個測試工作
- Then新工作應保留在等待清單中
- And在原工作結束前不應準備測試資料或執行案例
Examples
| 來源 |
|---|
| 另一個排程 |
| 維護者即時執行 |
Scenario: 必要資料初始化失敗時停止業務步驟
- Given測試計畫需要先完成固定資料初始化
- When任一必要初始化作業失敗
- Then本次執行不應繼續執行業務步驟
- And維護者應能查到初始化失敗的原因
Scenario Outline: 前置案例未通過時跳過相依案例
- Given案例「查詢訂單」相依於「建立訂單」
- And本次執行中「建立訂單」的結果為「<結果>」
- When平台準備執行「查詢訂單」
- Then「查詢訂單」應標示為因相依條件未滿足而跳過
- And不應執行「查詢訂單」的步驟
Examples
| 結果 |
|---|
| 比對失敗 |
| 執行錯誤 |
| 尚無結果 |
Scenario: 過去失敗不影響本次已通過的相依判斷
- Given「建立訂單」在過去一次執行失敗,但在本次執行已通過
- And本次「查詢訂單」唯一的相依案例是「建立訂單」
- When平台準備執行「查詢訂單」
- Then「查詢訂單」應繼續執行
檢視完整情境文字
# language: en
@spec_only @uat_04
Feature: 執行計畫與人工重跑
維護者從測試計畫發起執行,並透過每次執行的紀錄確認進度與結果。
現有行為與待達成需求以標籤區分,不能因規格已寫下就認定功能已通過驗收。
@current @BDD_EXECUTION_01
Scenario: 執行計畫後可查閱本次案例結果
Given 「訂單回歸」已選取一個可執行的案例,所需環境、資料及受測服務均已就緒
When 維護者執行「訂單回歸」
Then 平台應建立一筆新的執行紀錄
And 本次測試結束後,維護者應能查閱該案例及其步驟結果
@current @BDD_EXECUTION_02
Scenario: 現有工作正在執行時暫不受理新的手動執行
Given 平台上已有測試正在執行
When 維護者要求立即執行另一個計畫
Then 平台應拒絕這次要求並提示稍後再試
And 不應因此啟動另一個測試工作
@current @BDD_EXECUTION_03
Scenario: 人工重跑整個計畫並保留原結果
Given 原執行已有失敗結果,且平台沒有其他執行中的工作
When 維護者重跑原測試計畫
Then 平台應為整個計畫建立另一筆執行紀錄
And 原本的案例結果應仍可查閱
And 原排程的下一次執行時間應保持不變
@target @deployment_unverified @BDD_EXECUTION_04
Scenario: 沒有維護權限的人不能要求重跑
Given 開發人員沒有平台維護者權限
When 該人員要求重跑測試計畫
Then 平台應拒絕重跑
And 不應因此建立新的執行紀錄
@target @known_gap @BDD_EXECUTION_05
Scenario Outline: 共用環境忙碌時保留工作並等待執行
Given 「每日回歸」環境正在執行「訂單回歸」
When 「<來源>」要求使用同一環境執行另一個測試工作
Then 新工作應保留在等待清單中
And 在原工作結束前不應準備測試資料或執行案例
Examples:
| 來源 |
| 另一個排程 |
| 維護者即時執行 |
@target @known_gap @uat_03 @BDD_EXEC_02
Scenario: 必要資料初始化失敗時停止業務步驟
Given 測試計畫需要先完成固定資料初始化
When 任一必要初始化作業失敗
Then 本次執行不應繼續執行業務步驟
And 維護者應能查到初始化失敗的原因
@target @known_gap @uat_03 @BDD_EXEC_03
Scenario Outline: 前置案例未通過時跳過相依案例
Given 案例「查詢訂單」相依於「建立訂單」
And 本次執行中「建立訂單」的結果為「<結果>」
When 平台準備執行「查詢訂單」
Then 「查詢訂單」應標示為因相依條件未滿足而跳過
And 不應執行「查詢訂單」的步驟
Examples:
| 結果 |
| 比對失敗 |
| 執行錯誤 |
| 尚無結果 |
@target @known_gap @uat_03 @BDD_EXEC_04
Scenario: 過去失敗不影響本次已通過的相依判斷
Given 「建立訂單」在過去一次執行失敗,但在本次執行已通過
And 本次「查詢訂單」唯一的相依案例是「建立訂單」
When 平台準備執行「查詢訂單」
Then 「查詢訂單」應繼續執行