當前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]本文主要為大家介紹微服務(wù)測試:基于服務(wù)契約信息,降低云上微服務(wù)測試成本。

本文主要為大家介紹微服務(wù)測試:基于服務(wù)契約信息,降低云上微服務(wù)測試成本。該系列文章基于阿里云商業(yè)化產(chǎn)品 EDAS 的微服務(wù)實踐,如果您的團隊具備較強的微服務(wù)測試能力,那么希望我們在微服務(wù)測試方面的實踐和背后的思考,可以為您提供一些參考。



隨著云原生時代的到來,越來越多的應(yīng)用生在云上,長在云上,且隨著越來越多的企業(yè)開始上云,云原生也是企業(yè)落地微服務(wù)的最佳伴侶。但云上應(yīng)用易測性受到了很大的挑戰(zhàn),如何提高云上應(yīng)用易測性,增強 DevOps 能力,是微服務(wù)測試要解決的核心問題。
在詳細講述微服務(wù)測試之前,先給大家講一個場景。

如何避免讓微服務(wù)測試成為研發(fā)團隊最大的瓶頸?


上圖是一個典型的企業(yè)微服務(wù)應(yīng)用架構(gòu)圖,為了考慮安全性,云上應(yīng)用通常部署在云上虛擬局域網(wǎng)內(nèi),統(tǒng)一通過網(wǎng)關(guān)對外暴露服務(wù)。對于負責 Product Service 應(yīng)用的同學(xué)來說,我只想測試一下該應(yīng)用對應(yīng)的服務(wù)是否可用,他會怎么做呢?
方案一
進入該應(yīng)用部署所在的機器(ECS)或者容器(Pod),通過 curl 命令驗證該服務(wù)是否可用

方案二
將該應(yīng)用暴露給公網(wǎng)訪問,通過本地命令行工具或者 Postman 工具驗證該服務(wù)是否可用

方案三
拉一條網(wǎng)絡(luò)專線,打通云上專有網(wǎng)絡(luò)VPC與辦公網(wǎng)網(wǎng)絡(luò),通過本地命令行工具或者 Postman 工具驗證該服務(wù)是否可用

從以上場景,我們可以總結(jié)出云上微服務(wù)測試幾點問題:
  • 云上網(wǎng)絡(luò)拓撲復(fù)雜
  • 暴露公網(wǎng)訪問,會出現(xiàn)黑客攻擊,引發(fā)安全風(fēng)險
  • 拉一條網(wǎng)絡(luò)專線,浪費資源成本


明明只想要一個簡單的測試能力,成本卻如此之高。上述場景還僅僅是一個簡單的調(diào)試功能,如果是壓測、自動化回歸、巡檢等其他測試及穩(wěn)定性保障手段,不僅僅要解決上述場景遇到的問題,還需要自建工具,腦補一下,都覺得成本太高。因此,我們需要微服務(wù)測試來幫助我們解決這些問題,進一步加速軟件交付效率。

為什么我們需要微服務(wù)測試


產(chǎn)品能力

提供測試、壓測、自動化回歸、巡檢等能力,形成一個微服務(wù)測試解決方案

如何避免讓微服務(wù)測試成為研發(fā)團隊最大的瓶頸?


試想一下,研發(fā)同學(xué)提交代碼并部署,可以使用測試工具,驗證服務(wù)邏輯正確性;可以使用壓測工具,驗證服務(wù)性能指標;驗證通過后,開始進行冒煙測試,可以使用自動化回歸工具,編寫冒煙用例;冒煙通過后,開始進行歷史功能回歸,可以使用自動化回歸工具,編寫回歸用例;回歸通過后,提交測試驗收,測試只需要驗證新功能,新功能驗證通過后,即可提交發(fā)布。
發(fā)布后,進行線上環(huán)境驗證,需要回歸歷史功能主流程,可以使用自動化回歸工具,編寫主流程回歸用例,新功能手工驗證;主流程回歸通過且新功能驗證通過,代表發(fā)布完成;研發(fā)同學(xué)可以使用巡檢工具,配置線上巡檢;一旦巡檢告警,即可先于用戶發(fā)現(xiàn)問題,并解決問題。 我們是將阿里巴巴沉淀的測試解決方案產(chǎn)品化輸出,幫助云上業(yè)務(wù)實現(xiàn)高質(zhì)量地實現(xiàn)快速交付。

易用且安全

開箱即用,無需關(guān)注專有網(wǎng)絡(luò)VPC下的網(wǎng)絡(luò)拓撲;安全可靠,擁有在辦公網(wǎng)下的測試體驗。
試想一下,企業(yè)為了安全隔離,研發(fā)環(huán)境、測試環(huán)境、預(yù)發(fā)環(huán)境、生產(chǎn)環(huán)境部署在不同的專有網(wǎng)絡(luò) VPC 內(nèi),如果用戶自建測試工具,需要解決測試工具到不同環(huán)境的網(wǎng)絡(luò)互通問題,企業(yè) IT 人員明明只想要一個簡單的測試工具,卻因為上云之后,要解決復(fù)雜的云上網(wǎng)絡(luò)拓撲,遠遠沒有結(jié)束,為了能夠在辦公網(wǎng)使用該測試工具,還需要保證該測試工具能夠被辦公網(wǎng)訪問,此時又面臨著網(wǎng)絡(luò)安全的考驗。我們希望有一個能夠開箱即用且安全可靠的方案,能夠讓上云的企業(yè) IT 人員擁有在辦公網(wǎng)測試體驗的測試工具。

低成本

彈性拉起測試機/施壓機,用完銷毀,能夠大幅度降低構(gòu)建測試工具需要的機器資源及人力成本。


試想一下,企業(yè)上云是為了降低成本,應(yīng)用托管極大地降低了資源成本和運維成本,但測試成本并沒有降低。企業(yè) IT 人員自建測試工具需要準備測試機/施壓機,該部分機器長期占用且存在閑置,資源成本開銷大,尤其是在性能壓測場景,資源成本開銷會更大。除了資源成本外,企業(yè) IT 人員還需要研發(fā)測試工具,人力成本及時間成本非常高,基本上每個企業(yè)都需要一套測試工具。我們希望有一個低成本的方案,不僅提高企業(yè)的資源利用率,同時降低企業(yè) IT 人員開發(fā)和維護測試工具的成本。

微服務(wù)生態(tài)

云上已提供了大量的微服務(wù)產(chǎn)品,解決了微服務(wù)應(yīng)用的托管、治理、診斷,微服務(wù)測試補齊微服務(wù)能力。

試想一下,如何測試一個微服務(wù)接口,需要了解接口入?yún)⒑统鰠ⅲ绻茄邪l(fā)同學(xué)-服務(wù)提供者,可能比較熟悉該接口,如果是測試同學(xué),甚至是其他研發(fā)同學(xué),可能就需要文檔,甚至是口口相傳,微服務(wù)治理已經(jīng)可視化應(yīng)用的服務(wù)契約信息,結(jié)合服務(wù)契約信息,只需按照測試需要,選擇應(yīng)用->框架->服務(wù)->方法,配置測試參數(shù),即可進行測試,降低了服務(wù)契約同步的成本。
結(jié)合上述 4 點,測試同學(xué)只需負責用例編寫+測試驗收,接口調(diào)試、接口性能水位、用例自動化均可賦能給研發(fā)同學(xué),就像早期 DevOps 一樣,降低研發(fā)運維之間的反饋回路,提高軟件交付效率,DevTest,降低研發(fā)測試之間的反饋回路,在保證交付質(zhì)量的前提下,進一步提升軟件交付效率,同時主動創(chuàng)建巡檢任務(wù),定時監(jiān)控線上服務(wù)可用率,先于用戶發(fā)現(xiàn)問題,解決問題。

EDAS3.0 微服務(wù)測試實踐


前提條件:微服務(wù)應(yīng)用已接入 EDAS3.0。
下面我們來體驗一下,EDAS 上如何使用微服務(wù)測試的能力。

服務(wù)測試

  1. 登錄 EDAS 控制臺,在頁面左上角選擇地域;
  2. 左側(cè)導(dǎo)航欄選擇:微服務(wù)治理 -> Spring Cloud -> 服務(wù)測試 -> 查詢服務(wù);
  3. 單擊某個服務(wù)的詳情 -> 展示元數(shù)據(jù)列表;
  4. 單擊某個方法的測試 -> 進入測試頁面(已幫助用戶填充參數(shù)模板);
  5. 點擊執(zhí)行即可。

服務(wù)壓測

  1. 登錄 EDAS 控制臺,在頁面左上角選擇地域;
  2. 左側(cè)導(dǎo)航欄選擇:微服務(wù)治理 -> Spring Cloud  -> 服務(wù)壓測 -> 創(chuàng)建場景;
  3. 選擇需要壓測的應(yīng)用 -> 選擇框架 -> 選擇服務(wù) -> 選擇方法;
  4. 填寫壓測參數(shù),點擊確認;
  5. 進入壓測場景列表頁,點擊詳情;
  6. 進入壓測詳情頁,點擊啟動,等待施壓機準備就緒;
  7. 點擊詳情,進入壓測性能數(shù)據(jù)報告頁,實時查看性能數(shù)據(jù);

自動化回歸

  1. 登錄 EDAS 控制臺,在頁面左上角選擇地域;
  2. 左側(cè)導(dǎo)航欄選擇:微服務(wù)治理 -> Spring Cloud -> 自動化回歸 -> 創(chuàng)建用例;
  3. 添加步驟:
  1. 選擇應(yīng)用 -> 選擇框架 -> 選擇服務(wù) -> 選擇方法;

  2. 填寫參數(shù);

  3. 斷言/出參提??;

  1. 可以添加多個步驟;
  2. 保存用例;
  3. 點擊執(zhí)行;
  4. 通過執(zhí)行歷史,查看用例是否通過;

服務(wù)巡檢

  1. 登錄 EDAS 控制臺,在頁面左上角選擇地域;
  2. 左側(cè)導(dǎo)航欄選擇:微服務(wù)治理 -> Spring Cloud -> 服務(wù)巡檢 -> 創(chuàng)建巡檢任務(wù);
  3. 選擇需要巡檢的應(yīng)用 -> 選擇框架 -> 選擇服務(wù) -> 選擇方法;
  4. 填寫巡檢參數(shù)及斷言內(nèi)容,點擊確認;
  5. 進入巡檢任務(wù)列表頁,點擊啟動,即開始巡檢;
  • 巡檢失敗時,可以通過失敗記錄進行查看,也可以添加告警,通過釘釘、短信、郵件的方式告警;


微服務(wù)測試實現(xiàn)細節(jié)


工具能力

將阿里巴巴集團內(nèi)實踐的測試工具產(chǎn)品化輸出,壓測、自動化回歸、巡檢,降低用戶研發(fā)工具的成本。

網(wǎng)絡(luò)互通

利用阿里云現(xiàn)有網(wǎng)絡(luò)打通技術(shù)方案(ENI 掛載),打通云產(chǎn)品專有網(wǎng)絡(luò) VPC 與用戶專有網(wǎng)絡(luò)VPC

應(yīng)用安裝微服務(wù) Agent 時,主動將該應(yīng)用所在的網(wǎng)絡(luò)信息(專有網(wǎng)絡(luò) VPC,虛擬交換機 VSwitch,安全組 SecurityGroup)上報至服務(wù)端,根據(jù)應(yīng)用所在的網(wǎng)絡(luò)信息,即可打通云產(chǎn)品專有網(wǎng)絡(luò) VPC 與用戶專有網(wǎng)絡(luò) VPC,實現(xiàn)云產(chǎn)品服務(wù)直接訪問用戶專有網(wǎng)絡(luò) VPC 部署的服務(wù)。

彈性資源

云產(chǎn)品使用自己的資源賬號購買彈性機器,安裝測試工具

服務(wù)契約

微服務(wù)治理已經(jīng)可視化服務(wù)契約信息,微服務(wù)測試直接查詢服務(wù)契約信息即可

不止是微服務(wù)測試



本文介紹了微服務(wù)測試的幾個能力,補齊了微服務(wù)生態(tài)測試的能力,即將推出智能流量測試:提供微服務(wù)架構(gòu)下的流量生產(chǎn)錄制生產(chǎn)回放、生產(chǎn)錄制線下回放、測試用例自動化生成、回歸測試場景自動化覆蓋等能力,助力您的應(yīng)用以更低的成本輕松完成測試驗證,歡迎前來體驗。
除了 EDAS(企業(yè)級分布式應(yīng)用服務(wù)),微服務(wù)測試能力已被 MSE(微服務(wù)引擎)集成,還將被 AHAS、CSB、SAE 等云產(chǎn)品集成。將微服務(wù)測試能力作為一個基礎(chǔ)能力被更多云產(chǎn)品集成,另外,將跟更多微服務(wù)產(chǎn)品 ARMS (應(yīng)用實時監(jiān)控服務(wù))、ACM(應(yīng)用配置管理)等形成聯(lián)動,助力保障云上業(yè)務(wù)穩(wěn)定性,讓業(yè)務(wù)永遠在線。


免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉