E2E 測試平台 · 文件目錄
平台文件 / 執行計畫與人工重跑規格與驗收參考

業務 BDD / 04

Feature: 執行計畫與人工重跑

維護者從測試計畫發起執行,並透過每次執行的紀錄確認進度與結果。
現有行為與待達成需求以標籤區分,不能因規格已寫下就認定功能已通過驗收。

以下是業務驗收規格,尚未連接自動化步驟或執行業務測試。8 個情境,例子展開後共 11 個。
規格・尚未實測UAT-04現有行為BDD_EXECUTION_01

Scenario: 執行計畫後可查閱本次案例結果

  1. Given「訂單回歸」已選取一個可執行的案例,所需環境、資料及受測服務均已就緒
  2. When維護者執行「訂單回歸」
  3. Then平台應建立一筆新的執行紀錄
  4. And本次測試結束後,維護者應能查閱該案例及其步驟結果
規格・尚未實測UAT-04現有行為BDD_EXECUTION_02

Scenario: 現有工作正在執行時暫不受理新的手動執行

  1. Given平台上已有測試正在執行
  2. When維護者要求立即執行另一個計畫
  3. Then平台應拒絕這次要求並提示稍後再試
  4. And不應因此啟動另一個測試工作
規格・尚未實測UAT-04現有行為BDD_EXECUTION_03

Scenario: 人工重跑整個計畫並保留原結果

  1. Given原執行已有失敗結果,且平台沒有其他執行中的工作
  2. When維護者重跑原測試計畫
  3. Then平台應為整個計畫建立另一筆執行紀錄
  4. And原本的案例結果應仍可查閱
  5. And原排程的下一次執行時間應保持不變
規格・尚未實測UAT-04待達成需求環境與權限待驗證BDD_EXECUTION_04

Scenario: 沒有維護權限的人不能要求重跑

  1. Given開發人員沒有平台維護者權限
  2. When該人員要求重跑測試計畫
  3. Then平台應拒絕重跑
  4. And不應因此建立新的執行紀錄
規格・尚未實測UAT-04待達成需求已知差異BDD_EXECUTION_05

Scenario Outline: 共用環境忙碌時保留工作並等待執行

  1. Given「每日回歸」環境正在執行「訂單回歸」
  2. When「<來源>」要求使用同一環境執行另一個測試工作
  3. Then新工作應保留在等待清單中
  4. And在原工作結束前不應準備測試資料或執行案例

Examples

來源
另一個排程
維護者即時執行
規格・尚未實測UAT-04待達成需求已知差異UAT-03BDD_EXEC_02

Scenario: 必要資料初始化失敗時停止業務步驟

  1. Given測試計畫需要先完成固定資料初始化
  2. When任一必要初始化作業失敗
  3. Then本次執行不應繼續執行業務步驟
  4. And維護者應能查到初始化失敗的原因
規格・尚未實測UAT-04待達成需求已知差異UAT-03BDD_EXEC_03

Scenario Outline: 前置案例未通過時跳過相依案例

  1. Given案例「查詢訂單」相依於「建立訂單」
  2. And本次執行中「建立訂單」的結果為「<結果>」
  3. When平台準備執行「查詢訂單」
  4. Then「查詢訂單」應標示為因相依條件未滿足而跳過
  5. And不應執行「查詢訂單」的步驟

Examples

結果
比對失敗
執行錯誤
尚無結果
規格・尚未實測UAT-04待達成需求已知差異UAT-03BDD_EXEC_04

Scenario: 過去失敗不影響本次已通過的相依判斷

  1. Given「建立訂單」在過去一次執行失敗,但在本次執行已通過
  2. And本次「查詢訂單」唯一的相依案例是「建立訂單」
  3. When平台準備執行「查詢訂單」
  4. 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 「查詢訂單」應繼續執行