目錄與相關文件

QA TEMPLATE / SAMPLE

Test Specification

測試規格|來源、範圍、風險與執行依據

Order Book 合成教學情境,非真實交易所實測。沿用本站 Fail Demo 的序號覆寫案例;價格、數量與時間是教學補充設定。Run、缺陷及證據名稱均為合成示例,沒有真實產品操作、證據附件或客戶核准。

這份文件回答什麼

定義 Order Book 的更新規則、測試範圍及可追溯的判準。這組示例聚焦舊序號更新覆寫最新狀態的問題,來源是本站 Fail Demo 的合成案例。

空白範本

〔必填〕每案都要有;〔條件式〕適用時必填,不適用寫原因。複製下方文字到案件文件後替換方括號內容。本頁為靜態範本,沒有編輯或儲存功能。

〔必填〕Spec ID/版本:[ ] 文件狀態:[草稿/待審閱/已核定]
〔必填〕產品/本輪版本/負責人:[ ]
〔必填〕目的、範圍、不測範圍:[ ]
〔必填〕需求與判準表:REQ ID|來源/版本|規則|確認狀態/人員/日期
〔必填〕風險表:RISK ID|失效模式|影響|可能性|偵測難度|依據
〔必填〕追溯表:REQ ↔ RISK ↔ Scenario ↔ Case/版本 ↔ Run ↔ Defect
〔必填〕問題清單:Q ID|問題|責任人|影響 ID|答案來源/日期|新判準版本
〔必填〕執行關卡:版本、角色、資料、判準、隔離、額度、停止與證據安排
〔必填〕授權:允許帳號/操作、AI 可讀資料、遮蔽、保存位置/期限、清理範圍
〔必填〕覆核:設計與結果的覆核者、方法、來源與未完成限制
〔必填〕缺陷:Severity 定義、裁定責任、狀態流程、重測與回歸選取方式
〔必填〕結束條件:關鍵路徑證據;未解決 S1/S2 處置;追溯缺口解釋
〔必填〕修訂:原因|舊/新版本|受影響項目|重新評估與重測安排
〔條件式〕AI 測試:模型/提示詞/資料版本、K 次、允許變異、校準及覆核
〔條件式〕資料契約:DC ID/版本/確認狀態;來源、期間、as-of 規則、單位、公式、缺值/零值、捨入與容差
執行結果引用另存 Run;此處不預填實際結果。

填寫示例:Order Book 更新順序

DEMO-SPEC-MDQ · v1.2

目的:驗證連續更新、拒絕舊序號及重新連線後載入快照。範圍是隔離的合成行情狀態;不含真實交易所協定、下單、成交、資產或壓力測試。

環境名稱:DEMO-BOOK/build-demo-1;沒有真實端點。文件狀態:教學草稿。案例 ID 與 104→103 失敗沿用 app/run-records/fail-demo/page.tsx;本頁新增的資料契約只供教學,未經產品方核定。

需求/判準合成規則來源/狀態
DEMO-REQ-NEXTcurrent=104,incoming=105 時,套用本次更新並保留新序號。TC-MDQ-016 的連續更新情境;具體數值為教學設定。
DEMO-REQ-STALEcurrent=104,incoming=103 時拒絕舊事件,序號及整份 Order Book 保持原值。TC-MDQ-017;104/103 沿用本站 Fail Demo。
DEMO-REQ-RECONNECT重新連線後用指定的最新完整快照取代舊狀態。TC-MDQ-018;快照 106 及價格、數量為教學補充。

共用資料契約

DEMO-DC-MDQ · v1.0

資料集 DEMO-BOOK-DATA-v1,僅含下列自足的合成資料。交易對 DEMO-BASE/QUOTE:價格單位 QUOTE/BASE,數量單位 BASE。這套簡化規則不代表任何交易所的 sequence range 或 WebSocket 協定。

條款定義
C1 快照與事件基準 SNAP-104:sequence=104,bids=[[100,2]],asks=[[101,3]]。E-105:sequence=105,將價格 100 的 bid 數量更新為 4。E-103:sequence=103,企圖將同一 bid 數量更新為 9。重連 SNAP-106:sequence=106,bids=[[100,5]],asks=[[101,6]]。每案從獨立 SNAP-104 開始,前案不得污染後案。
C2 判定與容差連續更新後預期 sequence=105、bid 100×4、ask 101×3。舊事件後預期 sequence=104、bid 100×2、ask 101×3,完整狀態須不變。重連後預期完整 SNAP-106。sequence 為整數;本資料的價格、數量用精確十進位值比較,絕對容差 0,不捨入。零數量刪價位、缺值、相同序號及序號跳號均未定義,須另確認,不能把缺值當零。
C3 時間與觀察以每案事件處理完成的確認點比較前後狀態;重連以完整快照套用完成為確認點。此同步教學情境沒有產品延遲 SLA,不沿用原案例的 30 秒等待。記錄來源 as-of、擷取時間及時區;sequence 決定順序,牆鐘時間不取代序號。缺少完成訊號或可觀察狀態時先記 Blocked,不能憑等待秒數推定 Pass/Fail。
C4 證據與停止保存事件識別、輸入、前後完整狀態與確認點。前提有效且狀態違反 C2 時記 Fail;無法準備隔離快照或觀察狀態時記 Blocked。已確認的失敗保留,不被其他阻塞蓋過。發現舊資料覆寫後停止該案例,保留快照;其餘案例僅在獨立隔離資料中執行。

風險與追溯

需求/風險情境/案例結果入口
DEMO-REQ-STALE/RISK-OB-SEQ:舊行情覆寫最新狀態,可能影響下游報價判斷。可能性與偵測難度:Unknown。DEMO-SC-BOOK → TC-MDQ-017 v1.2DEMO-RUN-FAIL-001 → DEF-MDQ-004(均合成)
DEMO-REQ-NEXT/RISK-OB-SEQDEMO-SC-BOOK → TC-MDQ-016 v1.2同輪逐案紀錄
DEMO-REQ-RECONNECT/RISK-OB-SEQDEMO-SC-BOOK → TC-MDQ-018 v1.2同輪逐案紀錄

問題與版本影響

問題/責任受影響項目恢復條件
DEMO-Q-SEQ:實際 feed 的序號、重連與完成訊號規則為何?產品/行情介接窗口確認。三筆需求、DC C1~C3、三案及相關 Run;真實規則 Unknown。取得官方規格與版本後修訂判準,列出差異,重評受影響案例並新增 Run;舊 Run 保留原版本。
DEMO-Q-DATA:哪些輸入可交給 AI,證據存多久、由誰清理?資料窗口確認。外部 AI 擷取、保存與清理;本示例不呼叫 AI 或真實服務。確認允許資料類別、遮蔽、模型/服務、保存位置與期限;未確認前不外傳或清理。

覆核分歧時保留雙方結論及原始依據,由指定責任人重查;受影響判定暫不升為 Ready。AI 誤判先保存輸入、模型/提示詞與評估版本,人工重新標記並檢查受影響範圍,再用保留驗證集重評。

執行、覆核與結束條件

執行前

逐案確認版本、隔離 fixture、事件輸入、完成訊號、判準、資料讀取權限、操作上限及證據安排。必要條件不足時不開始產品操作,選定案例記 Blocked。

覆核

設計覆核對照來源與案例;結果覆核先看原始輸入輸出,再比較結論。同一模型換角色不算獨立覆核。本套只有合成填寫示例,無真人核准或產品執行。

三項結束條件

  1. 關鍵路徑完成必要步驟及檢查點,有當前版本/環境的有效證據。
  2. 沒有未解決 S1;S2 已修復並完成必要重測/回歸,或有權人明確接受延期並記理由、責任人、重評日期。
  3. 追溯表沒有未解釋缺口。

測試結束、符合結束條件與批准上線分開。各項結果見 品質報告。