精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

詳解微服務的五種測試策略

譯文 精選
開發 中臺 測試
微服務應用程序是一組通過網絡進行通信的分布式程序,并且與第三方服務和數據庫接口進行交互。那么,我們如何測試微服務應用程序呢?

作者 | Tomas Fernandez

譯者 | 朱鋼

策劃 | 信遠 

在測試方面,微服務需要不同的方法。

微服務應用程序是一組通過網絡進行通信的分布式程序,并且與第三方服務和數據庫接口進行交互。微服務就其網絡性質而言,比傳統的整體架構具有更多的故障點。因此我們需要一種不同的、更廣泛的測試方法。

那么,我們如何測試微服務應用程序呢?測試金字塔是否仍然有效呢?當涉及第三方服務并且可能出現網絡中斷時,我們如何進行測試?我們將嘗試在這篇文章中回答所有這些問題。

測試微服務的挑戰

微服務架構是一個如此深刻的范式轉變,我們必須對傳統的測試技術進行重新思考。微服務在很多方面與經典的整體式架構不同:

  • 分布式:微服務部署在多個服務器上,可能因跨地理區域位置而增加延遲并使應用程序具有連接網絡中斷的風險。依賴于網絡的測試可能會因代碼沒有錯誤、中斷 CI/CD 管道和阻止開發而失敗。
  • 自治:只要不破壞API兼容性,開發團隊就可以隨時自由部署其微服務
  • 增加測試區域:由于每個微服務都具有多個 API 節點,因此還有更多可測試的面需要覆蓋。
  • 多語言:開發團隊可以為其微服務選擇最佳語言。在一個大系統中,我們不太可能找到一個適用于所有組件的測試框架。
  • 生產是一個移動的目標:由于微服務是可獨立部署的,并且由自治團隊構建,因此需要額外的檢查和邊界來確保它們在部署時仍然能夠正確的協同工作。

所有這些特征迫使我們思考新的測試策略。

微服務的測試金字塔

測試金字塔是自動化軟件測試的規劃工具。在傳統形式中,金字塔使用三種類型的測試:

  • 單元測試
  • 集成測試
  • 端到端測試

微服務金字塔添加了兩種新類型:組件測試和協定測試。

這是微服務測試金字塔的一個版本。在其他情況下,順序可能會有所不同。有些可能包括集成層中的合約測試。金字塔更像是一個指導方針,而不是寫在石頭上的東西。

讓我們更詳細地了解每個金字塔圖層的工作原理。

微服務的單元測試

單元測試是最細粒度且數量眾多的測試形式之一。一個單元由可以單獨測試的類、方法或函數組成。單元測試是開發實踐不可分割的一部分,如測試驅動開發或行為驅動開發。

與整體架構相比,微服務中的單元需要網絡調用來實現其功能的概率要高得多。當這種情況發生時,我們可以讓代碼訪問外部服務(接受一些延遲和不確定性),或者用Mock 替換調用,這為我們提供了兩種處理微服務依賴關系的方法:

  • 獨立的單元測試:當我們需要測試結果始終確定性時應該使用這個測試。我們使用模擬或存根來隔離待測試代碼與外部依賴項。
  • 社交化單元測試:允許社交化測試調用其他服務。在此模式下,我們將測試的復雜性推送到測試或過渡環境中。社交化測試是不確定性的,但是當它們通過時,我們可以對它們的結果更有信心。

我們可以使用Mock單獨運行單元測試。或者我們可以允許測試的代碼調用其他微服務,在這種情況下,我們談論的是社交化測試。

正如你看到的,平衡信心與穩定性將是貫穿整篇文章的主題。模擬使測試變得更快并減少了不確定性,但是你模擬得越多,你就越不能相信結果。社交化測試盡管有缺點,但更現實。因此,你可能需要在這兩種類型之間取得良好的平衡。

合約測試

每當兩個服務通過接口耦合時,就會形成契約。該協定指定了所有可能的輸入和輸出及其數據結構和副作用。服務的消費者和生產者必須遵守合約中規定的規則,以便進行通信。

協定測試確保微服務遵守其協定。它們不會徹底測試服務的行為;它們僅確保輸入和輸出具有預期特征,并且服務在可接受的時間和性能限制內執行。

根據服務之間的關系,合約測試可以由生產者和/或消費者運行。

  • 消費者端合約測試,由下游團隊編寫和執行。在測試期間,微服務連接到創建者服務的虛假版本或模擬版本,以檢查它是否可以使用其 API。
  • 生產者端合約測試,在上游服務中運行。這種類型的測試模擬客戶端可以發出的各種 API 請求,驗證生產者是否與合約匹配。生產者端測試讓開發人員知道他們何時會破壞消費者的兼容性。

合約測試可以在上游或下游中運行。生產者測試檢查服務沒有實現會因服務而中斷的更改。消費者測試針對上游生產者的模擬版本(不是真正的生產者服務)運行消費者端組件,以驗證消費者可以發出請求并使用來自生產者的預期響應。我們可以使用 WireMock 等工具來重現 HTTP 請求。 

如果合約雙方測試通過了,則生產者和消費者是兼容的,應該能夠通信。合約測試應始終運行在持續集成中,以便在部署前檢測兼容性。

你可以在 《Pact 5-minute getting started guide》中進行在線合約測試。 Pact 是一個基于 HTTP 的測試工具,用于編寫和運行基于消費者和生產者的合約測試。

微服務集成測試

微服務集成測試的工作方式與其他架構略有不同。它的目標是通過使微服務交互來識別接口缺陷。與合約測試總是模擬一側不同,集成測試使用真實的服務。

集成測試對評估服務的行為和業務邏輯不感興趣。相反,我們希望確保微服務能夠相互通信,而且可以正確和它們自己的數據庫進行通信。我們正在尋找例如丟失 HTTP 請求頭或不匹配的請求/響應對之類的問題。因此,集成測試通常在接口級別實現。

使用集成測試來檢查微服務是否可以與其他服務、數據庫和第三方端點進行通信。

微服務的組件測試

組件是在較大系統內完成一個角色的一個微服務或一組微服務。

組件測試是一種驗收測試,在這種測試中我們通過用模擬資源或模擬替換服務來檢查組件的行為。組件測試比集成測試更徹底,因為它們會經歷“快樂”和“不快樂”的路徑 。 例如組件如何響應模擬的網絡中斷或格式錯誤的請求。我們想知道組件是否滿足其消費者的需求,就像我們在驗收或端到端測試中所做的那樣。

組件測試對一組微服務執行端到端測試。組件范圍之外的服務被模擬。

有兩種執行組件測試的方法:進程內和進程外。

進程內組件測試

在此組件測試子類中,測試運行程序與微服務存在于同一線程或進程中。我們在“離線測試模式”中啟動微服務,其中模擬其所有依賴項,從而允許我們在沒有網絡的情況下運行測試。

在與微服務相同的進程中運行的組件測試。該測試在適配器中注入模擬服務,以模擬與其他組件的交互。 

僅當組件是單個微服務時,進程內測試才有效。乍一看,組件測試看起來與端到端或驗收測試非常相似。唯一的區別是組件測試選擇系統的一個部分(組件),并將其與其他部分隔離。該組件經過全面測試,以驗證它是否執行其用戶或消費者所需的功能。

組件測試和端到端測試可能看起來很相似。但不同之處在于,端到端在類似生產的環境中測試整個系統(所有微服務),而組件在整個系統的隔離部分上進行測試。這兩種類型的測試都從用戶(或消費者)的角度檢查系統的行為,遵循用戶將要執行的操作。我們可以用任何語言或框架編寫組件測試,但最受歡迎的可能是Cucumber和Capybara。

進程外組件測試

進程外測試適用于任何大小的組件,包括由許多微服務組成的組件。在這種類型的測試中,組件部署在測試環境中,其中所有外部依賴項都被模擬或存根。

在這種類型的組件測試中,復雜性被推到測試環境中,測試環境應該復制系統的其余部分。

為了完善合約測試的概念,您可以??探索《Java Spring上合約測試的示例代碼?》。此外,如果您是Java開發人員,??那么這篇文章提供了用于在各個級別測試Java微服務的代碼示例?

微服務中的端到端測試

到目前為止,我們已經對系統進行了零碎的測試。單元測試用于測試微服務的各個部分,合約測試涵蓋API兼容性,集成測試檢查網絡調用,組件測試用于驗證子系統的行為。只有在自動化測試金字塔的最頂端,我們才能測試整個系統。

端到端(E2E)測試確保系統滿足用戶的需求并實現業務目標。E2E 套件應使用與用戶相同的接口覆蓋應用程序中的所有微服務,通常結合使用 UI 和 API 測試。

應用程序應在盡可能靠近生產環境中運行。最理想情況是測試環境將包括應用程序通常需要的所有第三方服務,但有時這些服務可以被模擬,以降低成本或防止濫用。

端到端是模擬用戶交互的自動化測試。只有外部第三方服務可能會被嘲笑。

正如測試金字塔所描述的那樣,E2E測試是數量最少的,因為它們通常是最難運行和維護的。只要我們專注于用戶的操作和他們的需求,我們只需要幾個端到端的測試就可以提取很多資源價值。

結論

不同的模式要求改變測試策略。在微服務架構中進行測試比以往任何時候都更加重要,但我們需要調整技術以適應新的開發模型。系統不再由單個團隊管理。相反每個微服務所有者都必須盡自己的一份力量,以確保應用程序作為一個整體工作。

一些組織可能會認為單元、合約和組件測試就足夠了。其他不滿足于沒有端到端和集成測試的人可能會選擇建立一個 QA 團隊來促進跨團隊的測試覆蓋。

譯者介紹

朱鋼,51CTO社區編輯,2021年IT影響力專家博主,阿里云專家博主,2019年CSDN博客之星20強,2020年騰訊云+社區優秀作者,11年一線開發經驗,曾參與獵頭服務網站架構設計,企業智能客服以及大型電子政務系統開發,主導某大型央企內部防泄密和電子文檔安全監控系統的建設,目前在北京圖伽健康從事醫療軟件研發工作。

原文標題:Testing Strategies for Microservices,作者:Tomas Fernandez

鏈接:????https://dzone.com/articles/testing-strategies-for-microservices????

責任編輯:信遠 來源: 51CTO
相關推薦

2022-07-08 11:19:29

微服務Java框架

2023-07-27 07:19:24

2018-09-17 14:34:34

微服務測試架構

2022-03-02 09:00:00

微服務架構開發

2025-05-06 10:05:23

2023-09-05 15:00:04

微服務架構

2023-04-03 08:51:06

2021-08-10 08:00:00

微服務開發工具

2023-09-06 12:35:40

2019-04-02 14:20:14

微服務API網關

2018-07-31 05:15:36

2024-09-30 13:15:57

2019-09-12 09:22:58

Nginx負載均衡服務器

2022-10-08 07:31:26

微服務編排體系

2023-08-31 17:13:01

架構軟件開發

2025-10-13 07:00:00

KubernetesPod調度運維

2023-09-22 11:58:49

2025-08-01 07:55:56

2024-01-15 00:11:04

Docker網絡系統

2019-01-21 09:00:00

Python 開發編程語言
點贊
收藏

51CTO技術棧公眾號

亚洲国产精品成人久久综合一区| 日韩av自拍| 精品女厕一区二区三区| 久久精品99| 中文av免费观看| 91精品久久久久久久久久不卡| 精品成a人在线观看| 国产免费人做人爱午夜视频| 欧美69xxxx| 国产91在线|亚洲| 日本韩国欧美精品大片卡二| 欧洲美女女同性互添| 国产成人一二片| 欧美在线短视频| 成人免费在线视频播放| 懂色av中文在线| 成人一区二区三区视频| 国产精品视频成人| 国产无遮挡又黄又爽在线观看| 精品视频免费在线观看| 精品少妇一区二区三区在线播放| 亚洲熟女乱色一区二区三区| 综合久久2o19| 中文字幕欧美日韩一区| 久久国产精品免费一区| 99国产精品久久久久久久成人 | 韩国精品在线观看| 91精品国产91| 久草国产在线视频| 日韩精品久久久久久久电影99爱| 亚洲国产高潮在线观看| 四虎成人在线播放| www.国产精品| 欧美日韩中文字幕日韩欧美| www.xxx麻豆| 91一区二区三区在线| 国产欧美精品一区aⅴ影院 | 日韩在线综合| 亚洲欧美日韩网| 波多野结衣加勒比| 亚洲综合影院| 欧美一级二级在线观看| www.99r| 成人av色网站| 韩曰欧美视频免费观看| 成人一区二区免费视频| 欧美xxxx黑人又粗又长| 一区二区在线免费| 大陆极品少妇内射aaaaaa| 天堂аⅴ在线地址8| 国产精品天天看| 特级西西444www大精品视频| 国产精品无码2021在线观看| 久久九九久精品国产免费直播| 久久久久高清| 亚洲欧美日韩动漫| 91丝袜国产在线播放| 激情伦成人综合小说| 蜜桃av中文字幕| 丁香六月综合激情| 国产一区二区三区色淫影院| 日本美女一级片| 菠萝蜜视频在线观看一区| 国产精品区一区二区三含羞草| www夜片内射视频日韩精品成人| 国产一区不卡视频| 成人资源av| 免费看黄色一级视频| 99久久精品免费看| 久久久久久久久四区三区| 免费在线高清av| 中文一区一区三区高中清不卡| 亚欧洲精品在线视频免费观看| 欧美成人免费| 国产精品美女久久久久久| 在线观看欧美一区| 啦啦啦中文在线观看日本| 香蕉久久一区二区不卡无毒影院| 日韩精品视频久久| 国产精品诱惑| 日韩欧美专区在线| 亚洲中文字幕无码一区| 一区二区美女| 久久精品视频一| 久久久www成人免费毛片| a91a精品视频在线观看| 日韩av三级在线观看| 伊人网综合在线| 国产精品一二三四五| 久久精品ww人人做人人爽| av在线免费观看网站| 亚洲手机成人高清视频| www.99热这里只有精品| 91综合国产| 欧美大片拔萝卜| 国产又粗又猛又爽又黄av | 久久蜜桃一区二区| 宅男一区二区三区| 日韩脚交footjobhd| 欧美日韩精品一区二区三区蜜桃| 日本亚洲一区二区三区| 国产成人av| 色综合久综合久久综合久鬼88| 青草视频在线观看免费| 国产麻豆视频精品| 久久伊人资源站| av网址在线播放| 色欧美乱欧美15图片| 中文字幕av一区二区三区人妻少妇 | 麻豆传媒在线免费看| 精品色蜜蜜精品视频在线观看| 中文字幕在线综合| 亚洲精品亚洲人成在线观看| 美女撒尿一区二区三区| 日韩欧美国产另类| a级高清视频欧美日韩| 三级网在线观看| 91精品韩国| 日韩av在线一区| 老女人性淫交视频| 久久国内精品视频| 日韩精品电影网站| 免费在线小视频| 欧美成人一区二区三区| 一级片一级片一级片| 天堂va蜜桃一区二区三区| 国产精品露出视频| 91麻豆免费在线视频| 欧美三级资源在线| 色一情一交一乱一区二区三区| 韩国一区二区三区在线观看| 91精品在线影院| eeuss影院在线观看| 色哟哟在线观看一区二区三区| www国产视频| 欧美日韩四区| 99r国产精品视频| 成人黄色在线电影| 7777女厕盗摄久久久| 少妇的滋味中文字幕bd| 日韩成人午夜电影| 欧美一区二区三区在线免费观看 | 精品美女永久免费视频| 四虎成人免费视频| 一区二区视频欧美| 国产不卡一区二区在线观看| 在线免费av导航| 日韩一区二区免费在线观看| 国产少妇在线观看| 国产一区福利在线| 超碰97在线看| 亚洲精品黑牛一区二区三区| 欧美丰满少妇xxxx| 亚洲免费一级片| 亚洲综合色区另类av| 三级黄色片免费观看| 你懂的国产精品永久在线| 91久久久精品| 色图在线观看| 亚洲第一在线视频| youjizz在线视频| 久久精品在这里| 日本中文字幕高清| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 欧美日韩在线三区| 天天爽天天爽天天爽| 国产麻豆视频一区二区| 蜜臀av色欲a片无码精品一区| 白嫩白嫩国产精品| 26uuu亚洲国产精品| 国产午夜在线观看| 欧美久久免费观看| 国产精品九九九九九九| 成人av在线播放网址| 欧美日韩亚洲第一| 欧美久久精品一级c片| 成人黄色影片在线| 图片区小说区亚洲| 日韩精品极品毛片系列视频| 无码无套少妇毛多18pxxxx| 国产精品嫩草99a| 超碰91在线播放| 中国女人久久久| 亚洲不卡一卡2卡三卡4卡5卡精品| 日韩一区二区三区免费| 久热精品视频在线免费观看 | 亚洲天堂网站在线观看视频| 在线中文字幕网站| 一级做a爱片久久| 永久免费看mv网站入口78| 麻豆精品在线播放| www.xxx麻豆| 成人3d精品动漫精品一二三| 91香蕉电影院| 中文字幕 在线观看| 中文字幕国产亚洲2019| 丰满人妻一区二区| 欧洲一区二区av| 九九久久免费视频| 欧美国产乱子伦| 久草免费资源站| 奇米精品一区二区三区在线观看一 | 亚洲一区二区三区四区不卡| 亚洲av综合一区二区| 国产福利91精品| 一区二区三区 日韩| 影音先锋久久资源网| 亚洲黄色一区二区三区| 黄色成人美女网站| 成人精品网站在线观看| 日韩av福利| 国产+成+人+亚洲欧洲| 亚洲欧美视频一区二区| 亚洲精品白浆高清久久久久久| 97国产成人无码精品久久久| 福利一区福利二区微拍刺激| 人妻少妇精品一区二区三区| 欧美国产精品一区二区三区| www.日本高清| 国产精品99久久久久久久女警| 蜜桃免费在线视频| 国产精品免费看| 男人j进女人j| 久久人体视频| 欧美日韩电影一区二区三区| 国产精品videossex| 91久久久久久久久久| 国产精品扒开腿做爽爽爽视频软件| 欧美激情第一页xxx| www久久日com| 久久精品国产电影| 777电影在线观看| 亚洲美女视频网站| 午夜视频1000| 亚洲精品在线观| 精品久久久免费视频| 欧美日韩性生活| 精品乱码一区内射人妻无码| 狠狠色香婷婷久久亚洲精品| 国产对白videos麻豆高潮| 一区2区3区在线看| 青青操国产视频| 亚洲女同女同女同女同女同69| 亚洲一级理论片| 国产精品日日摸夜夜摸av| 久久视频精品在线观看| 久久精品人人做人人综合 | 国产suv精品一区二区69| 欧美丝袜丝交足nylons图片| jizz国产在线| 欧美无砖专区一中文字| 中文字幕在线观看高清| 欧美午夜精品电影| 亚洲一区二区视频在线播放| 欧美亚洲一区三区| 欧美 亚洲 另类 激情 另类| 欧美日韩一区高清| 国产又爽又黄免费软件| 制服丝袜亚洲精品中文字幕| 国产色视频在线| 日韩欧美一区电影| 日本精品一二区| 亚洲美女喷白浆| av中文天堂在线| 精品国内产的精品视频在线观看| 黄色在线论坛| 欧美精品成人在线| 欧美调教sm| 国产精品99免视看9| 国产黄色一区| 91亚洲精品丁香在线观看| 视频精品国内| 精品国产一区二区三区四区vr | 亚洲男女性事视频| 国产精品影院在线| 久久中文字幕一区| 96av在线| 国产精品麻豆va在线播放| 开心久久婷婷综合中文字幕| 99久久国产免费免费| 亚洲精品合集| 亚洲精品一区国产精品| 综合视频在线| 国产免费毛卡片| 久久9热精品视频| 熟妇高潮一区二区| 久久久国产精品不卡| av最新在线观看| 亚洲成人午夜电影| 超碰在线观看91| 欧美一区二区高清| 色综合成人av| 麻豆成人在线看| 亚洲欧洲高清| 成人h片在线播放免费网站| 国产区精品视频在线观看豆花| 日本高清不卡三区| 欧美破处大片在线视频| 国产精品无码专区av在线播放 | 国产在线激情| 69影院欧美专区视频| 四虎精品在线观看| 精品亚洲一区二区三区四区五区高| 欧美一区二区三区激情视频| 人人妻人人澡人人爽欧美一区双 | 日本泡妞xxxx免费视频软件| 久久综合色一综合色88| 国产高潮国产高潮久久久91| 日本久久电影网| 日本高清视频在线| 久久精品一区中文字幕| 欲香欲色天天天综合和网| 91色p视频在线| 国产麻豆精品久久| 久久精品国产sm调教网站演员| 久久精品国产精品亚洲红杏| 亚洲av网址在线| 亚洲视频一区在线| 波多野结衣高清在线| 亚洲成色777777在线观看影院 | 性亚洲最疯狂xxxx高清| 亚洲日本免费电影| 日韩电影免费观看在| 亚洲精品孕妇| 国产sm在线观看| 亚洲视频在线观看三级| 在线观看国产精品视频| 亚洲欧美色婷婷| 日本免费一区二区六区| 99在线影院| 91精品高清| 91小视频在线播放| 国产精品午夜电影| 久久久久久无码精品大片| 日韩精品在线观看视频| 久草在线视频资源| 91精品国产91久久久久青草| 亚洲草久电影| www午夜视频| 亚洲国产精品成人久久综合一区| 国产精品免费精品一区| 亚洲国产91色在线| 国产精品一品| 99porn视频在线| 在线精品小视频| 中文字幕欧美视频| 亚洲三级免费观看| 国产又黄又猛又爽| 久久成人综合视频| 国产精品一区二区精品| 一区二区视频在线观看| 美国十次了思思久久精品导航| 91精品久久久久久久久久久久| 在线亚洲+欧美+日本专区| 黄色av网站在线看| 国产精品高潮在线| 日本一二区不卡| 亚洲无在线观看| 亚洲欧美日韩国产另类专区| 99国产精品99| 91国产在线精品| 亚洲另类春色校园小说| 97视频在线免费播放| 久久免费国产精品| 在线免费一级片| 欧美日韩xxxxx| 高清一区二区三区| 免费无码av片在线观看| 中文字幕乱码久久午夜不卡| 国产又粗又大又爽视频| 欧美床上激情在线观看| 成人av综合网| 99福利在线观看| 国产精品丝袜黑色高跟| 国产女人爽到高潮a毛片| 欧美激情一级精品国产| 精品丝袜久久| www.xxx亚洲| 亚洲精品ww久久久久久p站| 色哟哟国产精品色哟哟| 国产成人精品网站| 永久91嫩草亚洲精品人人| 制服丝袜av在线| 日本乱人伦aⅴ精品| 国产不卡在线| 麻豆亚洲一区| 激情五月播播久久久精品| 国产精品白浆一区二小说| 亚洲性无码av在线| 看亚洲a级一级毛片| 97国产精东麻豆人妻电影| 亚洲国产精品t66y| 天天干视频在线观看| 国产噜噜噜噜噜久久久久久久久 | 亚洲香蕉视频| 欧美一级小视频| 日韩人在线观看| 在线视频观看国产| 五月天亚洲综合小说网| 成人激情午夜影院|