# 專案導覽

![E2E 測試平台的一天：事先準備、白天使用、夜間測試與隔日追查](images/prd-cartoon-v1.png)

點擊圖片可放大、縮小或關閉。圖中的紀錄與報告保留 90 天為需求，尚未驗證實作；夜間測試若失敗、中斷或卡住，仍會於固定截止時間強制關閉環境並保留追查線索。

主要讀者：平台負責人、系統分析師、開發工程師、QA 與維運人員。

## 1 平台要解決的問題

將反覆進行的人工檢查整理成可執行的測試案例。平台依計畫與排程執行操作、比對預期結果，並保留每次執行的案例、步驟與錯誤，讓維護者能找到問題，再交由對應開發人員處理。

本套規格以 **Crystal、Northstar、Sentry** 為主。OMS、WMS 等業務系統只作為可能的受測系統，不是本套文件的業務流程主角。案例內容原本存於資料庫，目前未取得實際案例資料，因此不把程式支援能力寫成已導入案例或驗收成果。

| 元件 | 簡單說明 | 責任 |
|---|---|---|
| Crystal | 管理平台 | 管理專案、環境、群組、案例、步驟、計畫與觸發器；保存及查詢結果、組合報告 |
| Northstar | 執行服務 | 提供排程及即時觸發入口，承載測試執行 |
| Sentry | 共用測試核心 | 由應用程式引用的程式庫，負責執行流程、步驟處理、資料比對與 Crystal 介接；不是第三個獨立 HTTP 服務 |

## 2 已確認的使用方式

早上上班時間啟用 EKS 測試環境供同仁使用；半夜啟用環境跑一輪所有測試案例，正常跑完後自動關閉；若失敗、中斷或卡住，到了固定截止時間仍會強制關閉，保留線索供早上啟用後調查。兩個時段共用同一套環境及資料，目前沒有特別隔離。

案例與固定測試資料由開發人員事先準備，維護者確認後套用。測試結果有問題時，維護者先初判，再協調修正；需要重跑時，重跑整個 Plan，建立新的 Run 並保留原結果，不自動只重跑失敗案例。

「全量測試」如何對應 Plan／Trigger、EKS 實際啟停層級，以及固定關閉時間的設定值尚未完整確認。已確認的運作方式不代表三個專案內已具備完整環境控制程式。流程圖會保留這些邊界，不將未知處畫成已完成的功能。

## 3 文件目錄

| 文件 | 閱讀目的 |
|---|---|
| [專案導覽](00_PROJECT_OVERVIEW.md) | 確認系統定位、分工與文件入口 |
| [01 業務流程與範疇](01_BUSINESS_FLOW_AND_SCOPE.md) | 確認操作流程、責任與狀態 |
| [02 BPMN 流程圖集](02_BPMN_PROCESS_MODELS.md) | 閱讀準備、環境、執行、報告與重跑六張圖 |
| [03 資料模型與儲存](04_DATA_MODEL_AND_STORAGE.md) | 確認定義、執行結果與資料責任 |
| [04 資料字典](05_DATA_DICTIONARY.md) | 查閱核心表與步驟設定欄位 |
| [05 OPENAPI](openapi.yaml) | 供介接工具使用的 OpenAPI 3.1 規格 |
| [06 整合與交易時序](03_INTEGRATION_AND_SEQUENCE.md) | 查閱實際 API、防呆、逾時與冪等目標 |
| [07 BDD 規格案例](biz-bdd/README.md) | 閱讀中文行為例子、現況與目標標籤，以及 feature 原檔 |
| [08 UAT 與驗證](06_UAT_AND_VERIFICATION.md) | 區分驗收目標、實際檢查及尚未驗證事項 |
| [09 故障排除手冊](07_TROUBLESHOOTING_RUNBOOK.md) | 查找未啟動、初始化、結果與通知問題 |

[開啟 HTML 閱讀版](pages/index.html)：桌面以左側列表欄切換文件，手機提供可收合目錄；採用簡潔的 Bootstrap 灰藍版型。表格可橫向捲動；點擊流程圖可放大、縮小、符合視窗或關閉，亦可按 Esc 關閉。

## 4 如何判讀現況與需求

| 標示 | 意義 |
|---|---|
| 程式現況 | 靜態程式可支持的行為，尚不代表部署服務已實測 |
| 使用者確認 | 本次討論確認的操作安排或需求，不以缺少部署程式否定這些安排 |
| 目標設計 | 要達成需求仍須補強或驗證的行為，例如可靠排隊、執行範圍內的相依檢查與安全關閉 |
| 待確認 | 尚未取得規則、設定或資料；不自行補造 |

Run 的 `FINISHED` 表示執行主流程正常結束，不表示所有案例通過。發起執行回應成功，也不表示已產生 Run；必須查詢實際執行紀錄。現有環境與資料是共用的，不假定已有編輯鎖、完整版本快照、資料隔離或全域環境互斥。

六份 BPMN 都是 `isExecutable=false` 的分析模型，未配置流程引擎。完整圖集、API 與欄位檢查結果見 [驗證紀錄](06_UAT_AND_VERIFICATION.md)。業務驗收與部署控制須另行驗證，不以文件檢查通過代表平台實際運作已通過。
