FSTS BA 情境規格

本頁整理 FSTS 的 BA 情境編號(S-XXX)、測試套件分類、以及各模組主流程 / 異常 / UI 驗證情境。

Owner:BA Analyst Agent。PM / RD / QA 不得直接編輯 scenarios.md;變更需透過 ba-analyst agent 或 /ba-curate skill。1

文件維護規範

任何功能變更必須在同一個 PR 內由 BA 更新 scenarios.md:2

變更類型操作
新增功能新增對應情境(主流程 + 異常 + UI 驗證)+ 更新 Keyword 對應表
修改功能邏輯更新對應情境的 Given / When / Then
刪除功能將情境標記 [已棄用] 並註記棄用版本,不直接刪除
新增模組在情境編號規則表新增前綴,加入測試套件分類

情境編號規則

3

前綴對應模組(17 個)

前綴模組前綴模組
S-ACCT客戶開戶資料主檔S-USR使用者管理
S-CUST客戶基本資料主檔S-ROLE角色管理
S-KYC客戶 KYC 資料S-LAYOUTCBL Layout 管理
S-AUTH登入驗證S-CONVCBL 轉檔對應
S-DASH儀表板S-DBCONN連線設定
S-STK股票基本資料S-AUDIT操作紀錄
S-CTY國家市場基本資料S-CHG異動紀錄查詢
S-CCY貨幣代號設定S-ORD委託回報查詢
S-SYS系統設定

Feature 目錄與 Controller 對應見 FSTS 功能對應表

編號格式

  • 主流程:S-{模組}-{三位數} — 例 S-AUTH-001
  • 異常流程:S-{模組}-ERR-{三位數} — 例 S-AUTH-ERR-001
  • UI 驗證:S-{模組}-VAL-{三位數} — 例 S-AUTH-VAL-001

測試套件分類

4

  • 🔴 Core Flow Suite(每次部署後執行 — Smoke Test)
    • 涵蓋主業務鏈:S-AUTHS-LAYOUTS-CONVS-DBCONN
  • 🔵 Full Functional Suite(版本發布前執行 — Regression Test)
    • 涵蓋所有模組,包含 Core Flow Suite 全部情境 + 其他模組

核心流程情境(Core Flow)

5

編號SuiteGiven / When / Then 摘要
S-AUTH-001Core / Full帳密登入:IsActive=true + 正確帳密 → JWT + 導向 /dashboard
S-LAYOUT-001Core / Full建立 INI Layout:唯一 Code + IniLayouts.Create 權限 → 201
S-LAYOUT-002Core / Full從 FD 匯入 Layout 欄位:上傳 COBOL FD 原始碼 → 自動建立 IniLayoutField
S-CONV-001Core / Full建立 INI Mapping:唯一 Code + Layout + DbConnection → 201
S-CONV-002Core / Full執行轉檔(Generic):上傳 FD → SqlBulkCopy → 回傳總筆數 / 成功 / 失敗 / 耗時
S-CONV-003Full執行轉檔(OCCURS 展開):1 筆 FD → 1 主檔 + N 明細

異常情境

6

編號觸發條件預期結果
S-AUTH-ERR-001輸入錯誤帳號或密碼拒絕登入 + 記錄失敗登入紀錄
S-AUTH-ERR-002帳號 IsActive=false 嘗試登入拒絕登入 + 提示「帳號已停用」
S-LAYOUT-ERR-001Layout Code 重複400 + 「Code 已存在」
S-CONV-ERR-001Mapping Code 重複400 + 「Code 已存在」
S-CONV-ERR-002FD 欄位長度不符 Layout 定義返回錯誤明細(行 / 欄位),部分成功時回傳失敗筆數
S-ROLE-ERR-001刪除 IsSystem=true 的角色400 + 拒絕刪除

UI 驗證情境

7

編號檢查預期結果
S-AUTH-VAL-001未輸入帳號 / 密碼直接按登入inline 錯誤提示,不送出請求
S-LAYOUT-VAL-001建立 INI Layout 未填必填欄位(Code、Name、RecordLength)inline 驗證錯誤,不送出
S-CONV-VAL-001查詢 PageSize > 500400 + 「分頁大小超過上限」

Robot Framework 關鍵字對應

8 注意:目前無 E2E 測試框架,Keyword 為預留設計,待 Robot Framework 導入後填入實際 Keyword。

情境編號KeywordSuite
S-AUTH-001Login With CredentialsCore / Full
S-LAYOUT-001Create INI LayoutCore / Full
S-LAYOUT-002Import FD LayoutCore / Full
S-CONV-001Create INI MappingCore / Full
S-CONV-002Execute Convert GenericCore / Full
S-CONV-003Execute Convert OccursFull

模組級情境(節錄)

S-ACCT — 客戶開戶資料主檔

9

  • 主流程:列表分頁(預設 20 筆)、關鍵字 / 入金類型 / 最後異動日期篩選、雙擊或 Enter 進入 ViewMode、F2 進入 EditMode、N 進入新增頁
  • 異常:BrokerNo+AccountNo 重複 → 409;並發編輯 → 409/422;API 逾時 → 錯誤 Toast
  • UI 驗證:新增頁未填 BrokerNo / AccountNo → 紅框;日期欄位支援民國年 7 碼格式

S-CUST — 客戶基本資料主檔

10

  • 主流程:關鍵字篩選(券商代號 / 帳號 / 身份證 / 簡稱)、身份別 01~08 篩選、F3 EditMode、Ctrl+S 儲存、F11 新增、Ctrl+Enter 送出、F2 刪除、PgUp/PgDn 後端換頁
  • 異常:BrokerNo+AccountNo 重複 → 422(BR-011);非 Admin 角色呼叫寫入 API → 403
  • UI 驗證:稽核欄位(建檔 / 最後更新)唯讀;主鍵(BrokerNo / AccountNo)在明細頁唯讀;未儲存變更按 ESC / 返回 → 「放棄變更」確認框

S-KYC — 客戶 KYC 資料

11

  • 主流程:列表分頁、keyword 搜尋、RiskToleranceLevel 下拉篩選、F3 EditMode、Ctrl+S、Esc 有未儲存時彈 Modal、F11 新增 / Ctrl+Enter 送出
  • 異常:新增時 BrokerNo+AccountNo 已存在 → 409;編輯時後端已被更新 → 409/422 + 「資料已被更新,請重新載入」
  • UI 驗證:BrokerNo ≤ 4 碼、AccountNo ≤ 6 位數;RiskToleranceLevel 顯示 C1 保守~C5 積極;RiskProfileDateTradingLimitCreateDate 提示 YYYYMMDD 8 位格式;Gender (M/F)、AccountPurpose (1:投資避險 / 2:其他)

S-CHG — 異動紀錄查詢

12

  • 主流程:列表分頁(依 OperatedAt 降序)、模組名稱篩選、操作類型(Create/Update/Delete)、時間區間篩選精確到日含邊界、操作人員帳號(部分符合不分大小寫)、展開 FieldChange 三欄表格(欄位名 / 修改前 / 修改後;Enum 顯示 oldText/newText
  • 異常:無符合 → Empty State「查無相符的異動紀錄」;PageSize=501 → 400 ProblemDetails;無 ChangeLogs.View 權限 → 403 + PermissionGuard
  • UI 驗證:dateFrom > dateTo → inline 紅色錯誤「起始日期不得晚於結束日期」,查詢按鈕停用

S-ORD — 委託回報查詢

13

  • 主流程:列表分頁(依 OrderDate 降序)、券商代號 / 客戶帳號(精確比對)、股票代號(不分大小寫)、ProcessFlag(S/E/P/R)、BSCode(B/S)、委託日期區間(YYYY-MM-DD)篩選;點擊「查看詳情」進入單筆詳情頁(含 MatchDetail 成交清單)
  • 異常:PageSize=501 → 400;非法日期格式 → 400;複合主鍵不存在 → 404「委託回報不存在」;無 OrderReports.View 權限 → 403
  • UI 驗證:orderDateFrom > orderDateTo → 查詢鍵停用;bsCode 非 B/S → 後端 FluentValidation 400 + 「買賣別值不合法」

相關頁面

補充資訊

(未來 ingest 新來源會在此追加段落)


參考資料

Footnotes

  1. 維護方式

  2. scenarios.md §文件維護規範

  3. scenarios.md §情境編號規則

  4. scenarios.md §測試套件分類

  5. scenarios.md §核心流程情境

  6. scenarios.md §異常情境

  7. scenarios.md §UI 驗證情境

  8. scenarios.md §Robot Framework 關鍵字對應表

  9. scenarios.md §S-ACCT

  10. scenarios.md §S-CUST

  11. scenarios.md §S-KYC

  12. scenarios.md §S-CHG

  13. scenarios.md §S-ORD