判斷轉折 · 08 · 系統整合
API 串起來,不代表系統整合了
場景|電商平台與物流商的系統串接。
原本有 API、資料傳得過去,工程師接起來就好。
後來有人站在整條業務流程驗收,連異常情境一起測。
01我原本怎麼想
一開始討論通常很順:「有 API 嗎?」有。「訂單可以傳過去嗎?」可以。「物流狀態可以回傳嗎?」沒問題。聽起來好像工程師把 API 接起來就好了。
02發現什麼問題
真的開始整合,才發現串接成功只是問題的開始:訂單取消但物流已接單、分批出貨怎麼回寫、Timeout 但對方其實成功了要不要重送、兩邊資料不一致以誰為準?
每個系統單獨測試都正常,不代表整條流程真的正常。
03為什麼改變判斷
這些都不是測試 API 回傳 200 OK 就能解決的。真正容易出問題的,往往是取消、重送、超時、部分成功,以及人工介入後的資料同步。
04後來怎麼做
現在特別在意 End-to-End Testing:不能各廠商測完自己的就算,要有人站在整條業務流程確認,而且不能只測 Happy Path。
整合前先講清楚 Ownership、State、Testing、Reconciliation:異常誰負責、狀態怎麼一致、誰驗收完整流程、資料錯了怎麼發現與修正。
「Connectivity ≠ Integration ≠ Production Ready」
— 原文