掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
傳統(tǒng)測試與微服務(wù)測試的區(qū)別

烏拉特中網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
傳統(tǒng)測試模型抽象
上圖中的服務(wù)器端包括n個功能,傳統(tǒng)服務(wù)是所有的功能都部署在一臺機器上,通過增加服務(wù)器數(shù)量來擴容!參考下圖(每一種顏色代表一個功能,部署了四套同樣的服務(wù))
微服務(wù)測試模型抽象
微服務(wù)不同于傳統(tǒng)測試,它往往沒有UI頁面,我們需要通過構(gòu)建請求(通過編碼或者工具模擬)調(diào)用各個服務(wù)接口。微服務(wù)是以業(yè)務(wù)為單位進行部署的,上圖中的每一個服務(wù)代表一個功能,不同的業(yè)務(wù)部署在不同的服務(wù)器上,業(yè)務(wù)使用頻繁的還可以使用更多的資源進行部署(下圖中橘黃色部署了5個單元,而玫紅色只部署了1個單元),這樣就可以更合理的利用資源了。
微服務(wù)的主要測試內(nèi)容
其中,集成測試、組件測試和契約測試是我們的測試重點,而上述三種測試,我們可以理解為接口測試(關(guān)于什么是接口測試這里就不再詳細介紹了)。即每個服務(wù)提供對外接口,然后我們通過這個接口對服務(wù)進行調(diào)用,最后驗證其返回值是否達到預期!我們可以通過編碼或者工具來構(gòu)建接口并向接口發(fā)起請求,然后按照接口文檔來校驗響應(yīng)是否符合預期。
微服務(wù)測試注意事項
微服務(wù)可以分為無依賴的服務(wù)和有依賴的服務(wù)。
圖a
圖b
在微服務(wù)測試中mock的服務(wù)又是什么呢?舉個例子,我們把支付功能做成微服務(wù),該服務(wù)負責處理支付的邏輯,而在最后付款時,我們需要調(diào)用支付寶來完成付款。那么這個場景該如何處理呢?簡單方式,我們花一分錢真實的購買服務(wù)。那么假設(shè)我們要驗證10000元購買服務(wù)呢?或者當支付寶出錯時,我們的程序又該如何處理呢?在這里我們就可以把支付寶作為一個mock服務(wù),核心實現(xiàn)思路如下:
對應(yīng)用的請求進行解析,并返回預先定義好的響應(yīng)值,具體如下:
1.支付請求校驗正確,返回支付成功;
2.支付請求校驗失敗,返回支付失敗;
3.關(guān)掉支付寶mock服務(wù),可以模擬支付寶異常
我們可以使用wiremock來搭建自己的mock服務(wù)器,簡單原理如下圖所示:
我們需要在配置文件中設(shè)置預定義的請求,如果應(yīng)用的請求符合預定義請求則返回預定義的響應(yīng)。然后啟動wiremock來實現(xiàn)請求的處理,wiremock就是一個web服務(wù)器!具體詳情請參考:https://github.com/tomakehurst/wiremock
微服務(wù)測試總結(jié)
1. 如果你只做UI功能測試,那么微服務(wù)測試與傳統(tǒng)測試沒有區(qū)別,因為你只你感受不到架構(gòu)的變化。
2.對各個微服務(wù)提供的接口測試本質(zhì)上等價于接口測試。需要按照微服務(wù)的接口說明文檔進行接口功能以及性能和安全的測試。
3.必要時需要通過mock方式來模擬微服務(wù)所依賴的服務(wù)來提升被測服務(wù)的可測性。
4.要關(guān)注負載均衡,測試請求是否分發(fā)到多點應(yīng)用。參考文章:微服務(wù)性能測試的關(guān)鍵——IP欺騙技術(shù)
5.通過工具 SpringCloud Sleuth、 Turbine、Prometheus對各個服務(wù)消耗的資源(包括:cpu、內(nèi)存、磁盤,網(wǎng)絡(luò))進行監(jiān)控;
6.通過ELK( ElasticStack )來集中化管理日志。參考文章:微服務(wù)測試的關(guān)鍵——通過ELK查詢?nèi)罩?/p>
7.理解微服務(wù)的核心概念。參考文章:一文搞定微服務(wù)測試本質(zhì)

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流