技術與測試 深入了解 B · 官方指南或詞彙 平台: 通用

Contract Testing

契約測試

契約測試會檢查兩個可分開部署的系統,是否仍按照雙方約定的格式交換訊息。

看看怎麼運作
也有人這樣說 Contract Testing契約測試

看看怎麼運作

原創情境範例契約測試

另一個例子

用戶端預期 GET /profiles/42 會回傳特定欄位和狀態。持續整合(CI)會檢查服務提供端是否遵守約定;這項測試不能證明完整流程或正式環境的資料品質。

主要部分

  1. 01消費端契約
  2. 02提供端驗證
  3. 03相容性結果

什麼時候用

服務可以各自部署,而且要在不啟動整套系統的情況下檢查訊息相容性時,可以使用這個詞。

什麼時候不要用

不要讓契約照抄服務提供端的內部程式,也不要用契約測試取代 API 資安測試。

程式裡的名稱

consumer expectation ↔ provider verification

上線前要檢查

檢查環境與預先準備的測試資料。定義看得到的預期結果、失敗與邊界案例。也要定義隔離方式、固定輸入、查錯資訊與清理流程。設定執行時間預算、負責人與不穩定測試的處理規則。

可以直接複製的需求

預期成果:用 契約測試 (Contract Testing) 收集可重複驗證這項行為或品質風險的證據。 使用者情境:用戶端預期 GET /profiles/42 會回傳特定欄位和狀態。持續整合(CI)會檢查服務提供端是否遵守約定;這項測試不能證明完整流程或正式環境的資料品質。 驗證方式:契約測試 (Contract Testing)。 適用理由:服務可以各自部署,而且要在不啟動整套系統的情況下檢查訊息相容性時,可以使用這個詞。 不應使用的情況:不要讓契約照抄服務提供端的內部程式,也不要用契約測試取代 API 資安測試。 測試要求:說明要測的系統與環境。定義預先準備的測試資料(Fixture)、其他輸入,以及看得到的預期結果。加入預期失敗、邊界案例、容許值、隔離方式與清理流程。 測試維護:讓失敗原因容易查找,並控制隨機或會改變的輸入。指定負責人。測試速度與維護成本要符合發布前檢查的需要。 驗收條件:已知缺陷存在時測試會失敗,修正後通過。測試能在目標環境重複執行,提供可採取行動的證據,且不洩漏或改動無關資料。 證據與限制(證據邊界):它只代表該來源的官方說法。其他平台或團隊可能有不同用法。 待確認:發布前必過的檢查、環境、測試資料、容許值、執行時間預算、負責人,以及不穩定測試的處理規則。

檢查這份需求

請 AI 程式助手檢查目前如何使用 契約測試 (Contract Testing)。 定義:契約測試會檢查兩個可分開部署的系統,是否仍按照雙方約定的格式交換訊息。 正式環境檢查:檢查環境與預先準備的測試資料。定義看得到的預期結果、失敗與邊界案例。也要定義隔離方式、固定輸入、查錯資訊與清理流程。設定執行時間預算、負責人與不穩定測試的處理規則。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。

B
這個術語有多正式?

官方指南或詞彙

列出的平台、框架、專案或專業組織,有發布這個術語的官方指南。

它只代表該來源的官方說法。其他平台或團隊可能有不同用法。

適用範圍
只包含來源有說明的內容:正式名稱、定義、平台 API、實作、使用指南
文件狀態
穩定
查證日期
2026-07-30

證據來源與適用範圍

正式來源 + 術語參考資料 · Pact · 穩定 Pact Documentation 適用範圍: 正式名稱、定義、平台 API、實作、使用指南 本頁用途: 直接術語參考 來源涵蓋內容: 正式名稱, 定義, 平台 API, 實作, 使用指南

自行複製

瀏覽器無法自動複製。請選取下方文字,再自行複製。