我是 20 多個開發人員小組中的一員,他們為我們公司的單個域(例如交付跟蹤域)維護大約 7 個組件(網站和微服務)。
為了確保質量,我們進行了“域范圍的端到端測驗”。然而,我們的 E2E 測驗有一個問題:我們的 E2E 環境可能有一個與生產版本不同的組件。這種差異的原因是組件(例如微服務)有自己的發布時間表。
你如何處理這個問題?我的問題幾乎與此相似
您是否強制要求必須在正確的微服務版本上運行 E2E?如果是這樣怎么辦?
或者您是否接受 CI 和生產永遠不會有相同的微服務版本而僅依賴于監控生產的事實?
最后,E2E 在您的 CI/CD 管道中有多重要?
請注意,我只對我們微服務的 E2E 測驗感興趣,因為我無法控制何時發布 3rd 方服務。
謝謝
uj5u.com熱心網友回復:
通常將測驗視為捕獲錯誤的網路,將 e2e 作為該網路的另一部分。不能指望建立一個無限密集的網路來捕獲所有錯誤,并且隨著我們投入更多精力來改進該網路,邊際價值會降低。
根據這些術語,我們試圖通過網路的 e2e 部分捕獲哪些錯誤,特別是在測驗不同版本的多個微服務時?我們可能關注的是當兩個服務在更改后無法正確集成時出現的一類錯誤,或者更糟糕的是,一些直到現在隱藏但將被新行為揭示的特殊邊緣情況。
在任何情況下,由于 e2e 測驗的作業量很大,特別是圍繞適當地啟動環境,因此首選以不同的方式覆寫這些錯誤 - API 測驗、兩個服務之間的集成測驗。
那么實際上,e2e 測驗在哪里有用?在我看來,優勢在于發現可能影響整個系統質量的不是微妙而是重大的故障。我傾向于將我的 e2e 努力集中在涵蓋盡可能多的架構上,例如涵蓋每個微服務、資料庫、通信路徑等。通常在這方面與特征組有很好的相關性,因此就產品而言也有很好的覆寫范圍。
總而言之 - 我是否應該關心我合并的代碼沒有經過確切的測驗,生產將如何部署?我不這么認為 - 如果出現重大故障,就會注意到不同的版本。如果有一個細微的錯誤,它就會被集成或 API 測驗捕獲。如果真的很難捕捉到錯誤,那么我會付出代價在生產中看到它 - 有時就是這種情況。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/388226.html
