04 資料字典
主要讀者:DBA、後端研發工程師、測試案例維護者與整合工程師。
1 範圍與讀法
本字典涵蓋 E2E 測試平台 17 張 QA 表、186 個持久映射欄位與 76 個基礎模型輔助欄位,以及六種可執行步驟的 JSON 設定。資料表都位於 qa schema;下列分組是管理、執行與證據責任,不是額外建立的 schema。
- 型別列 Java 映射與已知 SQL 轉型;不能直接把 Java
String當成 DBvarchar。 - 歷史 DDL保留舊建表規格的型別、Null 與 default。它不是現行環境完整 schema;當歷史 DDL 與現行模型不同時,兩者並列,不據此執行建表。
- PK(映射)表示物件識別鍵;邏輯 FK表示業務/JOIN 關聯。舊規格曾宣告的七組 FK 另註,是否已部署仍須查 DB catalog。
- 模型必填表示 not-null 註記。沒有註記不等同 DB 允許 Null。「未核對」不等同不存在約束。
- JSON 物件欄位不是獨立資料表欄位,儲存層 PK/FK、Null、default、Unique/Check 不適用;其 API 檢核另列。
- 白天同仁操作與夜間測試共用同一套 EKS 環境及資料,沒有已實作的資料隔離保證。夜間固定強制關閉;須留下早上啟動後可查的線索,實際持久化仍待環境驗證。
1-1 目錄
ERD、索引、資料責任與並行控制見 03 資料模型與儲存。API 請求與回應以 openapi.yaml 為準。
2 定義與排程
2-1 qa.qa_c001:專案
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
project_num/projectNum |
專案ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
com_num/comNum |
公司ID | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
project_name/projectName |
專案名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
project_code/projectCode |
專案縮寫 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
project_desc/projectDesc |
描述 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
2-2 qa.qa_c002:測試環境
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
env_num/envNum |
環境ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamp;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
project_num/projectNum |
專案ID | Long;歷史 bigint |
邏輯 FK → qa_c001.project_num;歷史有 FK 宣告 | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
env_name/envName |
名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
env_desc/envDesc |
描述 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
2-3 qa.qa_c003:測試群組 Suite
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
suite_num/suiteNum |
測試群組ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamp;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
project_num/projectNum |
專案ID | Long;歷史 bigint |
邏輯 FK → qa_c001.project_num;歷史有 FK 宣告 | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
parent_num/parentNum |
上層案例群組,根為0, 可巢狀 | Long;歷史 bigint |
邏輯 FK → qa_c003.suite_num | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
suite_name/suiteName |
案例群組名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
suite_desc/suiteDesc |
案例群組描述 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
suite_order/suiteOrder |
順序 | Integer;歷史 int |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
category/category |
測試類別:1.PLATFORM,2.JUNIT | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
2-4 qa.qa_c004:測試案例 Case
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
case_num/caseNum |
測試案例ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamp;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
suite_num/suiteNum |
群組ID | Long;歷史 bigint |
邏輯 FK → qa_c003.suite_num;歷史有 FK 宣告 | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_name/caseName |
案例名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_desc/caseDesc |
案例描述 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_type/caseType |
案例類型:1 NORMAL、2 BEFORE_ALL、3 BEFORE_EACH、4 AFTER_EACH、5 AFTER_ALL;hooks 由清單處理,未證實每類限一筆 | String;歷史 int |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_order/caseOrder |
順序 | Integer;歷史 int |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
depends_on/dependsOn |
前置案例 ID 陣列字串;現況只攔截查得的 FAILED,未限定本次 Run,不能保證所有前置皆成功 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | 案例 ID 陣列的字串;非獨立關聯表 |
is_deleted/isDeleted |
軟刪除 | Boolean;歷史 boolean |
— | 模型必填;部署待核對;歷史不可空 | 歷史:false;部署待核對 | Unique/Check 未核對 |
category/category |
測試種類:1.PLATFORM,2.JUNIT | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
2-5 qa.qa_c013:案例步驟 Step
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
step_num/stepNum |
步驟流水號 | Long |
PK(映射) | 模型必填;部署待核對 | 未取得;部署待核對 | 實體 PK 待核對 |
create_at/createAt |
建立時間 | String;SQL ::timestamptz |
— | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
更新時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
更新人 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
case_num/caseNum |
案例ID 關聯qa_c004 | Long |
邏輯 FK → qa_c004.case_num | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
step_order/stepOrder |
步驟順序 | Integer |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
step_type/stepType |
步驟類型:1 HTTP、2 SQL_COMPARE、3 PRE_SQL、4 SQL_TRANSFER、6 INVOKE、7 SQL_SELECT_COMPARE;5 停用 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | 有效代碼 1、2、3、4、6、7;非 DB Check 證據 |
step_exec/stepExec |
步驟執行內容 | String;SQL ::json |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
step_remark/stepRemark |
步驟備註 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
step_name/stepName |
步驟名稱 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
2-6 qa.qa_c005:測試計畫 Plan
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
plan_num/planNum |
計畫ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
project_num/projectNum |
專案ID | Long;歷史 bigint |
邏輯 FK → qa_c001.project_num;歷史有 FK 宣告 | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
plan_name/planName |
名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
plan_desc/planDesc |
描述 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
2-7 qa.qa_c006:計畫案例集合
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
case_plan_num/casePlanNum |
集合ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
case_num/caseNum |
案例ID | Long;歷史 bigint |
邏輯 FK → qa_c004.case_num;歷史有 FK 宣告 | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 計畫+案例為集合語意;未證實複合 Unique |
plan_num/planNum |
計畫ID | Long;歷史 bigint |
邏輯 FK → qa_c005.plan_num;歷史有 FK 宣告 | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 計畫+案例為集合語意;未證實複合 Unique |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createAt |
建立時間 | String |
createBy |
建立人員 | Long |
createByName |
建立人員名稱 | String |
updateAt |
更新時間 | String |
updateBy |
更新人員 | Long |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
2-8 qa.qa_c007:排程觸發 Trigger
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
trigger_num/triggerNum |
計畫觸發ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
plan_num/planNum |
測試計畫ID | Long;歷史 bigint |
邏輯 FK → qa_c005.plan_num;歷史有 FK 宣告 | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
env_num/envNum |
環境ID | Long;歷史 bigint |
邏輯 FK → qa_c002.env_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
notice_group_code/noticeGroupCode |
通知群組 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
trigger_name/triggerName |
觸發名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
trigger_desc/triggerDesc |
描述 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
is_enabled/isEnabled |
是否執行 | Boolean;歷史 boolean |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
is_included/isIncluded |
是否寫入總表 | Boolean;歷史 boolean |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 是否納入總表,不是寄信開關 |
cron/cron |
定時 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
next_run_time/nextRunTime |
下次執行時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
last_run_time/lastRunTime |
最後執行時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
2-9 qa.qa_c012:環境設定
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
config_num/configNum |
變數設定ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamp;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
env_num/envNum |
環境ID | Long;歷史 bigint |
邏輯 FK → qa_c002.env_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 環境+鍵需一致;未證實複合 Unique |
config_key/configKey |
名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 環境+鍵需一致;未證實複合 Unique |
config_value/configValue |
值 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 可能含敏感設定;不得直接放入公開報告 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
3 執行結果
3-1 qa.qa_c008:測試執行 Run
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
run_num/runNum |
執行 ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
project_num/projectNum |
專案ID | Long;歷史 bigint |
邏輯 FK → qa_c001.project_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_name/runName |
名稱 | String;歷史 varchar |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_desc/runDesc |
描述 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_status/runStatus |
執行狀態:1 建立、2 執行中、3 完成、4 中斷、5 待重試、6 忽略;完成不代表所有案例通過;強制關閉也可能殘留執行中,須隔日核對 | String;歷史 int |
— | 模型必填;部署待核對;歷史不可空 | 歷史:1;部署待核對 | Unique/Check 未核對 |
trigger_num/triggerNum |
計畫觸發ID | Long;歷史 bigint |
邏輯 FK → qa_c007.trigger_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
trigger_record/triggerRecord |
計畫觸發 紀錄 | String;SQL ::json;歷史 json |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 本次設定記錄;非完整不可變版本 |
plan_num/planNum |
測試計畫ID | Long;歷史 bigint |
邏輯 FK → qa_c005.plan_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
plan_record/planRecord |
測試計畫 紀錄 | String;SQL ::json;歷史 json |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 本次設定記錄;非完整不可變版本 |
env_num/envNum |
環境ID | Long;歷史 bigint |
邏輯 FK → qa_c002.env_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
env_record/envRecord |
環境 紀錄 | String;SQL ::json;歷史 json |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 本次設定記錄;非完整不可變版本 |
is_included/isIncluded |
是否寫入總表 | Boolean;歷史 boolean |
— | 模型必填;部署待核對;歷史不可空 | 歷史:true;部署待核對 | Unique/Check 未核對 |
exclude_comment/excludeComment |
不寫入總表原因 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_start_time/runStartTime |
執行起始時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_end_time/runEndTime |
執行結束時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_log/runLog |
執行log | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
retry_count/retryCount |
重試次數欄位;欄位存在不代表目前會自動重跑 | Integer |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
expected_suite_count/expectedSuiteCount |
預期執行群組數 | Integer |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
expected_case_count/expectedCaseCount |
預期執行案例數 | Integer |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
pipeline_info/pipelineInfo |
CI pipeline 資訊 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
3-2 qa.qa_c009:群組執行結果
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
run_suite_num/runSuiteNum |
群組執行結果ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_num/runNum |
執行ID | Long;歷史 bigint |
邏輯 FK → qa_c008.run_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
suite_num/suiteNum |
案例群組ID | Long;歷史 bigint |
邏輯 FK → qa_c003.suite_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
suite_record/suiteRecord |
suite 原封不動 | String;SQL ::json;歷史 json |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 本次設定記錄;非完整不可變版本 |
suite_status/suiteStatus |
群組執行狀態:1 建立、2 執行中、3 通過、4 失敗、5 執行異常、6 相依失敗 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | 欄位存在;新增 RunSuite 路徑未填此欄 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
3-3 qa.qa_c010:案例執行結果
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
run_case_num/runCaseNum |
案例執行結果ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
create_at/createAt |
建立時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型必填;部署待核對;歷史不可空 | 歷史:now();部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long;歷史 bigint |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long;歷史 bigint |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
run_suite_num/runSuiteNum |
群組執行結果ID | Long;歷史 bigint |
邏輯 FK → qa_c009.run_suite_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_num/caseNum |
案例ID | Long;歷史 bigint |
邏輯 FK → qa_c004.case_num | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_record/caseRecord |
case_record 原封不動 | String;SQL ::json;歷史 json |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 本次設定記錄;非完整不可變版本 |
case_status/caseStatus |
當次案例狀態:0 未執行、1 建立、2 執行中、3 通過、4 失敗、5 執行錯誤、6 相依失敗、7 中止 | String;歷史 int |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_start_time/caseStartTime |
執行起始時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_end_time/caseEndTime |
執行結束時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
case_throwable/caseThrowable |
案例錯誤及異常紀錄 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | 欄位存在;例外路徑未保證填值 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
3-4 qa.qa_c011:步驟執行結果
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
run_step_num/runStepNum |
步驟執行結果ID | Long;歷史 bigserial |
PK(映射) | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | 歷史有 PK |
run_case_num/runCaseNum |
案例執行結果ID | Long;歷史 bigserial |
邏輯 FK → qa_c010.run_case_num | 模型必填;部署待核對;歷史不可空 | 歷史:sequence 自增;部署待核對 | Unique/Check 未核對 |
step_order/stepOrder |
步驟順序 | Integer;歷史 int |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
step_type/stepType |
當次步驟類型:1 HTTP、2 SQL_COMPARE、3 PRE_SQL、4 SQL_TRANSFER、6 INVOKE、7 SQL_SELECT_COMPARE | String;歷史 int |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | 有效代碼 1、2、3、4、6、7;非 DB Check 證據 |
step_exec/stepExec |
步驟 | String;SQL ::json;歷史 json |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
step_status/stepStatus |
當次步驟結果:1 通過、2 失敗、3 執行異常、4 未啟用 | String;歷史 int |
— | 模型必填;部署待核對;歷史不可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
step_result/stepResult |
回傳結果資料 | String;歷史 json |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
step_error/stepError |
執行錯誤訊息 | String;歷史 varchar |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
step_start_time/stepStartTime |
執行起始時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
step_end_time/stepEndTime |
執行結束時間 | String;SQL ::timestamptz;歷史 timestamptz |
— | 模型未標示;部署待核對;歷史可空 | 歷史:未宣告;部署待核對 | Unique/Check 未核對 |
step_num/stepNum |
步驟ID 關聯qa_c012 | Long |
邏輯 FK → qa_c013.step_num | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
post_proc_resp/postProcResp |
後置處理結果 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
step_name/stepName |
步驟名稱 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createAt |
建立時間 | String |
createBy |
建立人員 | Long |
createByName |
建立人員名稱 | String |
updateAt |
更新時間 | String |
updateBy |
更新人員 | Long |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
4 比對、產物與選單
4-1 qa.qa_r001:SQL 比對彙總
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
compare_num/compareNum |
比對流水號 | Long |
PK(映射) | 模型必填;部署待核對 | 未取得;部署待核對 | 實體 PK 待核對 |
create_by/createBy |
建立人 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
create_at/createAt |
建立時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
更新人 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
更新時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
step_num/stepNum |
步驟流水號 關聯qa_c013 | Long |
邏輯 FK → qa_c013.step_num | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
case_num/caseNum |
案例流水號 關聯qa_c004 | Long |
邏輯 FK → qa_c004.case_num | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
run_num/runNum |
執行run流水號 關聯qa_c008 | Long |
邏輯 FK → qa_c008.run_num | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
expect_table/expectTable |
比對預期table | String |
— | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
result_table/resultTable |
實際結果table | String |
— | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
compare_setting_json/compareSettingJson |
比對設定快照 | String;SQL ::json |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
compare_total_count/compareTotalCount |
比對總筆數 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
compare_passed_count/comparePassedCount |
比對通過筆數 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
compare_failed_count/compareFailedCount |
比對失敗筆數 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
4-2 qa.qa_r002:SQL 比對欄位明細
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
compare_dtl_num/compareDtlNum |
比對明細流水號 | Long |
PK(映射) | 模型必填;部署待核對 | 未取得;部署待核對 | 實體 PK 待核對 |
create_by/createBy |
建立人 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
create_at/createAt |
建立時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
更新人 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
更新時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
compare_num/compareNum |
比對流水號 | Long |
邏輯 FK → qa_r001.compare_num | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
column_name/columnName |
欄位名稱 | String |
— | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
expect_value/expectValue |
期望值 | String |
— | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
result_value/resultValue |
結果值 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
result_type/resultType |
比對結果 1. 成功 2. 失敗 3. 不需比對 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
column_desc/columnDesc |
比對欄位中文說明 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
column_type/columnType |
欄位類型 1: 一般比對欄位 2: join 使用欄位 3: pk欄位 / | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
row_num/rowNum |
第幾筆資料 | Integer |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
4-3 qa.qa_u001:執行產物檔案
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
qa_file_num/qaFileNum |
流水號 | Long |
PK(映射) | 模型必填;部署待核對 | 未取得;部署待核對 | 實體 PK 待核對 |
create_at/createAt |
建立時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人員 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
異動日期 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_by/updateBy |
異動人員 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
source_num/sourceNum |
來源流水號 | Long |
source_type=1 時對應 qa_c008.run_num | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
source_type/sourceType |
來源類型;1 為測試執行,source_num 實際對應 run_num | String |
— | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
file_name/fileName |
檔案名稱 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
remote_file_path/remoteFilePath |
遠端檔案路徑 | String |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
current_upload_num/currentUploadNum |
舊上傳流水號欄位(模型註記預定移除) | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
4-4 qa.qa_z000:方法呼叫類型選單
| SQL 欄位/物件欄位 | 中文業務說明 | 現行映射型別 | PK/FK | Null | Default | Unique/Check/業務限制 |
|---|---|---|---|---|---|---|
class_name/className |
類別名稱 | String |
PK(映射) | 模型必填;部署待核對 | 未取得;部署待核對 | 實體 PK 待核對 |
create_at/createAt |
建立時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
create_by/createBy |
建立人 | Long |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
update_at/updateAt |
更新時間 | String;SQL ::timestamptz |
— | 模型未標示;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
class_use_type/classUseType |
類別運用類型: 1. 型別 2. 調用bean class | String |
— | 模型必填;部署待核對 | 未取得;部署待核對 | Unique/Check 未核對 |
基礎模型輔助欄位(未列入此表 SQL 基礎欄位;儲存限制均不適用):
| 物件欄位 | 中文說明 | Java 型別 |
|---|---|---|
createByName |
建立人員名稱 | String |
updateBy |
更新人員 | Long |
updateByName |
更新人員名稱 | String |
comId |
公司編碼 | String |
comNum |
公司流水號 | Long |
5 六種步驟 JSON
qa_c013.step_exec 保存定義,qa_c011.step_exec 保存當次執行所取得的設定。下列 stepExec 在 API 中是物件,在資料模型中可序列化成 JSON 字串;不要把它送成雙重編碼的字串。StepExecPo 基底本身沒有設定欄位。
本節的「檢核」指目前管理端對物件型 stepExec 的欄位檢查;不等於完整 JSON Schema 型別驗證。實際執行器可能另有使用前提。通用預設:參考型別未初始化時是 null、Java int 是 0;這些不是 API 承諾的業務預設值。
5-1 步驟外層物件
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
stepName |
String |
步驟名稱 | 未見此欄專用必填檢查;依執行前提保存 |
stepNum |
Long |
步驟定義流水號;既有步驟修改時保留 | 未見此欄專用必填檢查;依執行前提保存 |
caseNum |
Long |
所屬案例流水號 | 未見此欄專用必填檢查;依執行前提保存 |
stepType |
String |
決定 stepExec 子型別的代碼 | 未見此欄專用必填檢查;依執行前提保存 |
stepExec |
StepExecPo |
該型別的執行設定物件 | 未見此欄專用必填檢查;依執行前提保存 |
stepOrder |
Integer |
案例內步驟排序 | 未見此欄專用必填檢查;依執行前提保存 |
stepRemark |
String |
步驟備註;新增路徑未完整支援 | 未見此欄專用必填檢查;依執行前提保存 |
5-2 1 HTTP:呼叫 API
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
qaSource |
String |
測試資料來源代碼:main、log、dsb、fas | 未見此欄專用必填檢查;依執行前提保存;空值或不認識的代碼會回退 main 測試資料來源 |
method |
String |
HTTP 方法 | 有傳入該物件時,欄位不可缺/不可空 |
url |
String |
受測 API URL,可包含執行變數 | 有傳入該物件時,欄位不可缺/不可空 |
input |
HttpRequestPo |
HTTP 請求設定 | 執行器直接讀取 input 及 params/headers;無資料時也應提供空物件集合 |
output |
HttpResponsePo |
模型保留的回應設定;目前 handler 未把它當作斷言來源 | 不是實際 Run 結果;不是本 handler 使用的斷言設定 |
postProcPos |
List<HttpPostProcPo> |
後處理設定陣列 | 未見此欄專用必填檢查;依執行前提保存 |
5-3 2 SQL_COMPARE:比對資料表
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
qaSource |
String |
測試資料來源代碼:main、log、dsb、fas | 有傳入該物件時,欄位不可缺/不可空;空值或不認識的代碼會回退 main 測試資料來源 |
schema |
String |
要比對的資料庫 schema | 有傳入該物件時,欄位不可缺/不可空 |
table |
String |
實際結果表名;預期表使用同名加 _qa | 有傳入該物件時,欄位不可缺/不可空 |
columns |
List<String> |
舊欄位清單;現行比對 handler 取 columnInfoList | 未見此欄專用必填檢查;依執行前提保存 |
columnInfoList |
List<Column> |
比對欄位名稱與說明清單 | 管理檢核未強制非空;執行器會直接讀取,須提供有效欄位 |
whereCond |
String |
比對查詢的篩選條件 | 有傳入該物件時,欄位不可缺/不可空 |
joinMode |
String |
配對方式:1 LEFT、2 RIGHT、3 FULL、其他 INNER | 有傳入該物件時,欄位不可缺/不可空 |
joinOnCond |
String |
預期與實際資料的 JOIN 條件 | 省略時取表 PK 欄位;若表無 PK 又未指定條件則失敗 |
5-4 3 PRE_SQL:執行 SQL
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
qaSource |
String |
測試資料來源代碼:main、log、dsb、fas | 有傳入該物件時,欄位不可缺/不可空;空值或不認識的代碼會回退 main 測試資料來源 |
sqlScript |
String |
待執行 SQL 文字 | 有傳入該物件時,欄位不可缺/不可空 |
logEnabled |
String |
是否記錄 SQL 結果;Y 才啟用 | 未見此欄專用必填檢查;依執行前提保存 |
resultToVarPos |
List<ResultToVarPo> |
SELECT 結果轉成執行變數的規則 | 未見此欄專用必填檢查;依執行前提保存 |
5-5 4 SQL_TRANSFER:匯入資料
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
qaSource |
String |
測試資料來源代碼:main、log、dsb、fas | 有傳入該物件時,欄位不可缺/不可空;空值或不認識的代碼會回退 main 測試資料來源 |
mode |
Integer |
匯入模式:1 清空後匯入,2 追加匯入 | 1 會先清空目標;2 追加;不認識的模式不應提交 |
source |
String |
來源資料表(schema.table);使用 _in 測試基準資料 | 有傳入該物件時,欄位不可缺/不可空 |
target |
String |
目標資料表(schema.table) | 有傳入該物件時,欄位不可缺/不可空 |
5-6 6 INVOKE:呼叫程式方法
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
qaSource |
String |
測試資料來源代碼:main、log、dsb、fas | 未見此欄專用必填檢查;依執行前提保存;空值或不認識的代碼會回退 main 測試資料來源 |
systemName |
String |
受測系統代碼 | 有傳入該物件時,欄位不可缺/不可空 |
className |
String |
欲呼叫的類別識別 | 有傳入該物件時,欄位不可缺/不可空 |
beanName |
String |
欲呼叫的 Spring Bean 名稱 | 未見此欄專用必填檢查;依執行前提保存 |
methodName |
String |
欲呼叫的方法名稱 | 有傳入該物件時,欄位不可缺/不可空 |
args |
List<InvokeArgPo> |
帶型別的呼叫參數清單 | 未見此欄專用必填檢查;依執行前提保存 |
postProcPos |
List<InvokePostProcPo> |
後處理設定陣列 | 未見此欄專用必填檢查;依執行前提保存 |
5-7 7 SQL_SELECT_COMPARE:比對兩段 SQL
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
qaSource |
String |
測試資料來源代碼:main、log、dsb、fas | 有傳入該物件時,欄位不可缺/不可空;空值或不認識的代碼會回退 main 測試資料來源 |
expectedSqlScript |
String |
取得預期結果的 SQL | 有傳入該物件時,欄位不可缺/不可空 |
resultSqlScript |
String |
取得實際結果的 SQL | 有傳入該物件時,欄位不可缺/不可空 |
columnInfoList |
List<Column> |
比對欄位名稱與說明清單 | 管理檢核未強制非空;執行器會直接讀取,須提供有效欄位 |
whereCond |
String |
比對查詢的篩選條件 | 未見此欄專用必填檢查;依執行前提保存 |
joinMode |
String |
配對方式:1 LEFT、2 RIGHT、3 FULL、其他 INNER | 有傳入該物件時,欄位不可缺/不可空 |
joinOnCond |
String |
預期與實際資料的 JOIN 條件 | 有傳入該物件時,欄位不可缺/不可空 |
5-8 HTTP input
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
params |
Map<String, String> |
URL 查詢參數鍵值集合 | 未見此欄專用必填檢查;依執行前提保存 |
headers |
Map<String, String> |
HTTP Header 鍵值集合 | 未見此欄專用必填檢查;依執行前提保存 |
body |
String |
HTTP/型別化參數的內容 | 未見此欄專用必填檢查;依執行前提保存 |
5-9 HTTP output(保留模型)
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
status |
int |
模型保留的 HTTP 狀態碼 | 未見此欄專用必填檢查;依執行前提保存 |
body |
Map<String, Object> |
模型保留的回應 JSON 物件 | 未見此欄專用必填檢查;依執行前提保存 |
headers |
Map<String, String> |
HTTP Header 鍵值集合 | 未見此欄專用必填檢查;依執行前提保存 |
5-10 比對欄位項目
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
columnName |
String |
比對欄位名稱 | 有傳入該物件時,欄位不可缺/不可空 |
columnDesc |
String |
比對欄位中文說明 | 未見此欄專用必填檢查;依執行前提保存 |
5-11 SQL 結果轉變數項目
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
varKey |
String |
要建立的變數名稱 | 有傳入該物件時,欄位不可缺/不可空 |
varScope |
int |
變數範圍:1 GLOBAL、2 ENV、3 RUN、4 CASE | 有傳入該物件時,欄位不可缺/不可空 |
jsonPath |
String |
從 SQL 查詢結果提取值的 JSONPath | 有傳入該物件時,欄位不可缺/不可空 |
5-12 INVOKE 參數項目
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
type |
String |
型別識別字串 | 有傳入該物件時,欄位不可缺/不可空 |
body |
String |
帶型別參數的序列化內容;支援執行變數與特定 SELECT 取值 | 有傳入該物件時,欄位不可缺/不可空 |
5-13 HTTP 後處理共通欄位
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
name |
String |
後處理名稱 | 未見此欄專用必填檢查;依執行前提保存 |
targetObject |
String |
1 HTTP 狀態碼斷言、2 JSON 斷言;3 等待停用 | 有傳入該物件時,欄位不可缺/不可空 |
order |
Integer |
後處理順序欄位;執行器依收到的陣列順序處理 | 有傳入該物件時,欄位不可缺/不可空 |
enabled |
String |
是否啟用;Y 才執行,其他值標示未啟用 | 有傳入該物件時,欄位不可缺/不可空 |
5-14 HTTP 狀態碼斷言:targetObject=1
另外繼承 HTTP 後處理共通欄位。
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
expected |
int |
預期值 | 不可缺;0 表示非 4xx/5xx 即通過,不是 HTTP 0 |
5-15 HTTP JSON 斷言:targetObject=2
另外繼承 HTTP 後處理共通欄位。
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
expression |
String |
以 $ 開頭的 JSONPath | 不可空,且須以 $ 開頭 |
assertion |
String |
斷言方式 | 管理檢核只接受 equals |
expected |
String |
預期值 | 有傳入該物件時,欄位不可缺/不可空 |
5-16 HTTP 等待舊模型:targetObject=3
另外繼承 HTTP 後處理共通欄位。
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
waitMs |
int |
等待毫秒;僅保留舊模型,等待處理目前停用 | 模型存在,但執行 enum/處理分支停用;不列為可新增選項 |
5-17 INVOKE 後處理共通欄位
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
name |
String |
後處理名稱 | 未見此欄專用必填檢查;依執行前提保存 |
targetObject |
String |
1 回傳物件斷言、2 例外斷言;3 等待停用 | 有傳入該物件時,欄位不可缺/不可空 |
order |
Integer |
後處理順序欄位;執行器依收到的陣列順序處理 | 有傳入該物件時,欄位不可缺/不可空 |
enabled |
String |
是否啟用;Y 才執行,其他值標示未啟用 | 有傳入該物件時,欄位不可缺/不可空 |
5-18 INVOKE 回傳值斷言:targetObject=1
另外繼承 INVOKE 後處理共通欄位。
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
type |
String |
型別識別字串 | 有傳入該物件時,欄位不可缺/不可空 |
body |
String |
預期回傳物件的序列化內容 | 未見此欄專用必填檢查;依執行前提保存 |
5-19 INVOKE 例外斷言:targetObject=2
另外繼承 INVOKE 後處理共通欄位。
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
type |
String |
預期例外類型 | 有傳入該物件時,欄位不可缺/不可空 |
assertion |
String |
斷言方式 | 有傳入該物件時,欄位不可缺/不可空 |
message |
String |
預期例外訊息 | 未見此欄專用必填檢查;依執行前提保存 |
5-20 INVOKE 等待舊模型:targetObject=3
另外繼承 INVOKE 後處理共通欄位。
| JSON 欄位 | Java 型別 | 中文說明 | 現況檢核/限制 |
|---|---|---|---|
waitMs |
int |
等待毫秒;僅保留舊模型,等待處理目前停用 | 模型存在,但執行 enum/處理分支停用;不列為可新增選項 |
5-21 讀寫相容性
| 項目 | 現況 | 維護原則 |
|---|---|---|
| 步驟代碼 | 執行 enum 與 handler 支援 1、2、3、4、6、7 | 新增選單使用這六種;不得沿用舊註解將 2/3 交換 |
| 型別 5 | 備份設定模型還在,執行 enum 停用 | 舊資料應標示不支援,不提供新增 |
| 型別 7 | 執行端可轉換,CaseStep API 多型宣告未列入 7 | 讀寫 round-trip 需驗收,不能把 handler 存在當作維護 API 已驗證 |
| 未知欄位 | 執行型別 mapper 會忽略不認識的欄位 | 無法完整理解的設定保持唯讀,不能承諾原樣保存 |
| HTTP output | DTO 有欄位,handler 斷言看 postProcPos | 編輯時保留既有值,實際結果另查 RunStep |
| 步驟備註 | 修改路徑可保存,新增分支未完整支援 | 不將新增表單填寫成功當作已儲存成功 |
| PRE_SQL | 依 stepOrder 執行,並非自動在案例前執行 | 若用來準備後續步驟資料,明確排在前面 |
| SQL_COMPARE/SQL_SELECT_COMPARE | 以欄位配對後比對,無任何資料時回傳 error | 空集合不可當成全部通過 |
| 變數優先度 | CASE(4) > RUN(3) > ENV(2) > GLOBAL(1) | 名稱相同時取較高優先度;不等於資料庫隔離 |
6 組合規則與模型差異
6-1 必須整組解讀的識別與約束
| 組合 | 現況語意 | 約束與驗證限制 |
|---|---|---|
(plan_num, case_num) |
某案例被納入某計畫 | case_plan_num 才是映射 PK;未證實組合 Unique,不可自行宣稱存在 |
(env_num, config_key) |
同環境設定鍵 | config_num 是映射 PK;需核對重複鍵處理及實體 Unique |
(suite_num, case_order)/(case_num, step_order) |
顯示與執行排序 | 未證實唯一約束;重複排序值的決定性須驗收 |
(run_num, run_suite_num, run_case_num, run_step_num) |
執行結果的階層識別 | 由各層單欄流水號與邏輯關聯串起,不是四欄複合 PK |
(runNum, caseNum) |
查某案例的本次執行範圍 | hooks 可在同一 Run 多次執行,不能設成結果唯一鍵 |
(source_type, source_num) |
產物來源 | 現有檔案查詢只傳 source_num;跨來源類型混用前須確認碰撞風險 |
depends_on + 本次 Run |
前置案例的成功條件 | 現況只檢查查得的 FAILED,且結果查詢未限定目前 Run/RunSuite;ERROR/未執行不等同已被阻擋 |
6-2 歷史建表與現行模型
| 差異 | 正確解讀 |
|---|---|
| 舊 Case 註解的 after hook 代碼及每類只能一筆 | 現行 enum 為 4 AFTER_EACH、5 AFTER_ALL;執行以清單處理,不沿用舊註解作唯一限制 |
早期 Case 有 case_steps,現行映射沒有 |
現行 Step 定義在 qa_c013;不能依舊 DDL 把步驟再塞回 Case 欄位 |
舊 step_type、case_type、狀態為 int,現行 Java 多為 String |
API 按目前字串代碼;DB 實體型別須另查,不能直接用 Java 型別重建 DB |
舊 RunStep 的 run_case_num 宣告為 bigserial |
目前寫入會帶入已建立的 RunCase ID;不能利用該舊預設另造不相干的 RunCase ID |
現行新增 category、suite_status、case_throwable、post_proc_resp 等 |
這些欄位不在早期完整建表區段;目前部署定義待核對 |
| 舊規格末尾七組 FK 宣告位於延後處理區段 | 只有宣告證據,沒有套用證明;不能聲稱現場已具物理 FK |
| suite_record/case_record/step_exec | 分別在執行時取得;不是一次原子固定全部定義 |
6-3 強制關閉後的資料解讀
夜間固定強制關閉不等同 Run 已寫入完成或中斷終態。以下沿用現有欄位,不新增未實作的 shutdown/snapshot 欄位。
| 既有欄位 | 隔日追查用途 | 解讀限制 |
|---|---|---|
| run_num、trigger_num、plan_num、env_num | 找出前一夜哪次測試、計畫與環境 | 必須能在關閉後持久讀取,不能只留在執行器記憶體 |
| run_status、run_start_time、run_end_time | 判斷最後收到的狀態與起訖時間 | run_status=2 或結束時間空白可能是強制關閉前未回寫;不能自動當通過 |
| run_suite_num、run_case_num、run_step_num | 定位最後執行的群組、案例與步驟 | 未建立的結果可能沒有資料列,不以缺筆表示成功 |
| step_error、step_result、post_proc_resp、run_log | 查錯誤、實際回應與執行線索 | 持續寫入;不能等正常完成才一次保存,也不能假設每欄都已填值 |
| qa_u001.source_num/source_type、file_name、remote_file_path | 對回本次 Run 的已產生檔案 | 路徑及 metadata 不保證檔案內容已離開短生命週期儲存 |
日誌、結果與產物在強制關閉後仍可查,是目標驗收條件;實際資料庫持久性、外部日誌與產物儲存部署尚未驗證。早上對照最後回報與關閉事件後整理未完成 Run,保存中斷及修正線索;重跑另建 Run,不覆蓋舊結果。完整保存要求見 03 資料模型與儲存。
7 View 與驗證邊界
本範圍未找到平台專用持久 View 的定義。案例樹、執行報表與統計由 JOIN、聚合及物件轉換產生,不能替它們捏造 View 名稱或儲存約束。
| 查詢/投影 | 來源與推導 | 儲存限制 |
|---|---|---|
Plan 的 selectedCaseNums |
由計畫案例集合中的 caseNum 衍生 | API 投影,非 DB 欄位,PK/FK/default/Check 不適用 |
Case 的 caseSteps |
qa_c013.case_num 對應 Case,按 step_order 取得 |
API 集合,非 Case 表 JSON 欄位 |
| 單次 Run 通過率 | 已載入 NORMAL RunCase 的 PASSED 數/一般案例數,先將比例四捨五入兩位再乘 100 | 計算值,零案例現況回傳 100;不是完整驗收通過證明 |
| SQL 比對 JSON 檔 | 當次 SQL 比對 handler 將步驟結果加入 SqlCompareReport_<runNum>.json |
檔案產物,非資料庫 View;同名檔案讀取後覆寫的並發行為待驗證 |
資料字典已覆蓋本範圍映射與 JSON 模型;實際資料庫型別/Null/default/約束、既有案例內容、歷史資料與 round-trip 仍須在測試環境驗證。唯讀 catalog 查詢見 03 資料模型與儲存。