Test Environment Identification(測試環境判定)
Test Environment Identification(測試環境判定)
測試環境判定回答一個所有會寫入的自動化測試都必須先回答的問題:我現在連的是哪個環境。確認不了就執行,等於把「建立與刪除真實資料」的能力交給一個不確定的目標。它是憑證管理與真實後端驗證測試共同踩在上面的地基——兩者都預設「程式能判定自己連的是哪個環境」——而不只是某一種測試的設計細節。
概念位置
判定責任跨越供需兩側,這是它值得獨立成一個概念的原因:消費端要有判定邏輯,供給側要提供可判定的識別(URL 慣例、回應標頭帶環境名)。供給側的那一半屬於環境設計契約、見 QA 環境設計;消費端的實作選項與偏好順序在憑證管理的「環境判定」段。任何一側缺席,另一側都補不起來——站方不給識別,消費端只能猜;消費端不判定,站方給了也沒用。真實後端驗證測試的紅、綠、跳過三態判讀,都建立在這層判定正確之上——判定錯了,綠燈可能來自連錯環境而非行為正確。
可觀察訊號與例子
判定機制缺席的訊號不會在平常出現,只在事故當天出現一次。可以主動檢查的替代訊號:測試設定裡的目標位址能不能被環境變數任意覆寫、覆寫成生產位址時有沒有任何東西會攔它。答案是「沒有」就代表這層防線目前不存在。
設計責任
判定失敗時的預設行為是這個機制的強度所在:把「判定不了」歸類為「可能是生產」而拒絕執行,跟歸類為「應該不是生產」而放行,是兩種相反的安全姿態。前者讓新增環境時多一道登記手續,後者讓疏漏直接變成事故。這條預設值的推導與三種實作選項的取捨在憑證管理展開。