PRIORITY P0 ‧ TEST PLAN ‧ GF↔LDS TRADE PARTNER SYNC + FILING

P0End-to-End Test Plan — GF ↔ LDS TP Sync

驗證「GF 發動 → LDS 查找/建檔(importer 5106)→ 帶入 Customs Entry → 送件 → CBP 回覆」與全程稽核 log 的端到端正確性。對應規格 03_GF_LDS_TP_Master_Mapping.html

目錄

1. 範圍與目標

範圍:P0 Trade Partner 同步(company / importer / shipper)與其與 Customs Filing(Type 01 為主)的整合,含統一稽核 log 與獨立稽核頁。

不在此範圍:各 Entry Type 的完整報關規則測試(另計)、LDS→GF 主檔回寫。

測試目標

2. 測試環境

元件環境備註
GoFreightStaging / API sandboxTP 詳細 endpoint(含 IRS/地址)需可用;否則走缺欄位路徑
GF→LDS AdapterTestWCF proxy 指向 LDS test;ClientContext 測試帳號
LDS SMSTest / CertIContactManager、5106(ImporterConsigneeCreate)可送 ACE Cert
CBP ABI/ACECertification5106、SE/AE 在 ACE cert 環境
稽核 log / 頁面Testappend-only store;遮罩 IRS/SSN
先跑 connector doctor / preflight:ClientContext 連線、Contact 查找、5106 佇列可達、ABITransmission 回讀正常。

3. 測試資料

代號TP角色關鍵欄位用於
TP-A已存在 LDS 的進口商ImporterIRS 95-1234567(LDS 已有)TC-01
TP-B新進口商(GF 欄位齊全)ImporterIRS 45-9988776 + 地址 + ImporterTypeTC-02
TP-C已存在的 shipper(GF ref=TP-204)ShipperExternalId=TP-204TC-03
TP-D新 consignee(GF 缺地址)Consignee僅 name + ref,缺 address/typeTC-05
TP-E疑似重複(同名近似地址)Importer近似 TP-ATC-06
TP-FIRS 格式錯誤ImporterIRS 含連字號/長度錯TC-13

4. 需求追溯(對應 AC)

AC(03 文件 I 節)對應測試案例
AC1 查找(IRS/ref)TC-01, TC-03
AC2 查無→建檔(+5106)TC-02, TC-04
AC3 寫 ExternalId + 帶入 EntryTC-02, TC-08
AC4 缺欄位→PendingTC-05, TC-13
AC5 全程寫 log(含 filing)TC-09, TC-11
AC6 稽核頁篩選/匯出TC-10
AC7 重複建檔防呆TC-06

5. 測試案例

ID優先情境步驟預期結果
TC-01HighImporter 已存在(IRS 比對)建 Entry 指定 TP-A → 系統查找GetByNumber(IRS) 命中;狀態 ✓ Linked;不重建;log 一筆 TP_LOOKUP=SUCCESS
TC-02HighImporter 不存在 → 建檔 + 5106指定 TP-B → 查無 → Create in LDSContact 建立、ExternalId=GF ref;送 ImporterConsigneeCreate;5106 PENDING→收 CBP 回覆後 SUCCESS;log 3 筆(CREATE/5106/LINK)
TC-03High其他 TP 已存在(ref 比對)指定 TP-C(shipper)GetByExternalId(TP-204) 命中;✓ Linked;帶入 Shipment.Seller_Id
TC-04Med其他 TP 不存在 → 建檔(無 5106)指定新 shipper → CreateContact 建立、RolesIsShipper/Seller=true;不送 5106;log CREATE+LINK
TC-05HighGF 缺必要欄位 → Pending指定 TP-D(缺地址)→ Create自動 5106 被攔;狀態 ⚠ Pending;列缺漏(mailing_address/address_type);log CREATE=PENDING + 缺漏
TC-06Med重複建檔防呆指定 TP-E(近似 TP-A)→ CreateGetByCandidate 提示疑似重複;需人工確認;不自動建第二筆
TC-07Med5106 非同步退件送 5106,CBP 回 reject(如 address type 無效)狀態轉 FAILED;反序列化 EntryValidationFault 顯示原因;可更正重送
TC-08High帶入 Customs EntryTP linked 後檢查 entry 關聯importer→Importer_Id、consignee→Consignee_Id、shipper→Seller_Id 正確
TC-09HighLogging 完整性完成 TC-02 全流程每動作各一筆 log,含 time/user/action/tp name·code·type/IRS(遮罩)/gf_ref/lds_id/status/source_link;append-only
TC-10Med稽核頁篩選/匯出開稽核頁,篩 type/action/status,匯出 CSV,開明細篩選正確;CSV 內容相符;明細顯示 timeline + 缺漏欄位
TC-11High端到端 happy pathTP 建好 → Type 01 Entry → 計稅 → 驗證 → QUE → CBP 回覆SO=RELEASED(98)、AX=Accepted;log 含 CUSTOMS_FILE_QUE + CBP_RESPONSE;可產生 3461/7501
TC-12Med端到端 reject path送件得 AX Reject / SO Hold狀態標紅、列 condition code;log 記 PENDING/FAILED;可修正重送
TC-13MedIRS 格式驗證指定 TP-F(IRS 格式錯)IsIRSNumber() 判否;阻擋並提示格式(NN-NNNNNNNXX);不送 5106
TC-14Low多 shipment 多 TP一筆 Entry 多張提單、各自 consignee/shipper各 TP 獨立查找/建檔/帶入;log 對應多筆

6. 非功能 / 安全

ID項目預期
NFR-01敏感資料遮罩稽核頁與 log UI 對 IRS/SSN 遮罩;後端加密;存取留痕
NFR-02非同步效能5106/QUE 入列後 UI 即回;輪詢回填狀態 ≤ 設定 SLA
NFR-03重試/冪等建檔/5106 重送不產生重複 Contact;以 ExternalId/IRS 冪等
NFR-04失敗回復Adapter 斷線/逾時可重試;PENDING 不遺失
NFR-05代碼對照ImporterType/AddressType/Country/ProgramCode 對照 CBP CATAIR,更新可維護

7. 進出場準則與缺陷分級

進場(Entry)

出場(Exit)

缺陷分級

級別定義
S0 Blocker無法建檔/送件或資料外洩5106 完全失敗;IRS 明碼外顯
S1 Critical核心流程錯誤帶入錯 TP;重複建檔;log 缺漏
S2 Major次要功能/體驗篩選錯、狀態顯示延遲
S3 Minor文字/樣式標籤、排版