[發(fā)明專利]一種基于服務(wù)虛擬化的測試方法和系統(tǒng)在審
| 申請?zhí)枺?/td> | 202011051571.X | 申請日: | 2020-09-29 |
| 公開(公告)號: | CN112162925A | 公開(公告)日: | 2021-01-01 |
| 發(fā)明(設(shè)計)人: | 舒科;伍海峰;張朝陽 | 申請(專利權(quán))人: | 新華三大數(shù)據(jù)技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/455 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 450000 河南省鄭州市鄭州高*** | 國省代碼: | 河南;41 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 服務(wù) 虛擬 測試 方法 系統(tǒng) | ||
本公開提出了一種基于服務(wù)虛擬化的測試方法和系統(tǒng),用于提高測試效率。本公開通過服務(wù)虛擬化工具錄制/回放客戶端經(jīng)被測服務(wù)發(fā)送的請求以及被模擬服務(wù)的響應(yīng),然后通過虛擬化工具模擬實際服務(wù),從而實現(xiàn)對被測服務(wù)的隔離測試,從而避免其他服務(wù)因為不穩(wěn)定或不可用造成的測試誤差,減少其他服務(wù)的部署依賴,提升測試效率。
技術(shù)領(lǐng)域
本公開涉及測試技術(shù)領(lǐng)域,尤其涉及一種基于服務(wù)虛擬化的測試方法和系統(tǒng)。
背景技術(shù)
隨著業(yè)務(wù)體量的發(fā)展,當下軟件應(yīng)用已經(jīng)由前期的單體應(yīng)用,逐漸發(fā)展為微服務(wù)架構(gòu)。為了不讓客戶端直接面對各種各樣的微服務(wù),也為了更好地管理后端的微服務(wù),又在軟件架構(gòu)中加入一層應(yīng)用程序接口(Application Interface,API)網(wǎng)關(guān),作為系統(tǒng)的唯一入口。如同客戶在銀行的取號和叫號服務(wù),對到銀行辦理不同業(yè)務(wù)的人排號,然后通過叫號將這些客戶分發(fā)到不同的窗口做業(yè)務(wù)處理。不僅如此,API網(wǎng)關(guān)還兼具有身份驗證、監(jiān)控、負載均衡等多種職責。當前實現(xiàn)API網(wǎng)關(guān)的技術(shù)有很多,主流的有Kong,Nginx,Haproxy,Netty等。
Kong,是一種開源的API網(wǎng)關(guān),也可以理解為是一種針對API的管理工具。它是基于OpenResty(Nginx+Lua模塊)編寫的高可用的、易擴展的項目。Kong通過提供RESTful API來操作和配置API管理系統(tǒng);也可以擴展為多個Kong服務(wù)器,并通過配置負載均衡將來自客戶端的請求分發(fā)到各個微服務(wù)。
Kong有兩個主要組件,Kong Server基于Nginx的服務(wù)器,用來接收API請求。Apache Cassandra用來存儲操作數(shù)據(jù)。
當前,在云應(yīng)用程序中多使用微服務(wù)。在這些微服務(wù)中,可以使用不同的技術(shù),實現(xiàn)不同的相對獨立的業(yè)務(wù)。雖然微服務(wù)帶來了靈活的技術(shù)運用方式,以及快速發(fā)布和部署的優(yōu)點,但也對整個系統(tǒng)的測試工作提出了新挑戰(zhàn)。例如:當系統(tǒng)中的關(guān)鍵微服務(wù)處于開發(fā)中或不可用時,無法進行測試;因為某些特定的原因,一些微服務(wù)可能會停機;測試數(shù)據(jù)繁雜,不容易管理;由于各個微服務(wù)完成不同的業(yè)務(wù),需要設(shè)計更加細粒度的用例和測試數(shù)據(jù)等。
發(fā)明內(nèi)容
有鑒于此,本公開提供一種基于服務(wù)虛擬化的方法和系統(tǒng),用于提高測試效率。
基于本公開一實施例,本公開提供了一種基于服務(wù)虛擬化的測試方法,所述方法包括:
在測試任務(wù)的第一階段中,被測服務(wù)接收業(yè)務(wù)請求并將業(yè)務(wù)請求轉(zhuǎn)發(fā)給服務(wù)虛擬化工具;服務(wù)虛擬化工具記錄業(yè)務(wù)請求并將業(yè)務(wù)請求透傳給被模擬服務(wù);接收并記錄被模擬服務(wù)發(fā)送的業(yè)務(wù)響應(yīng)并將業(yè)務(wù)響應(yīng)透傳給被測服務(wù);
在測試任務(wù)的第二階段中,被測服務(wù)接收業(yè)務(wù)測試請求并將業(yè)務(wù)測試請求轉(zhuǎn)發(fā)給服務(wù)虛擬化工具,服務(wù)虛擬化工具基于第一階段中所記錄的業(yè)務(wù)請求和業(yè)務(wù)響應(yīng)模擬被模擬服務(wù)響應(yīng)所述業(yè)務(wù)測試請求。
進一步地,所述方法還包括:在測試任務(wù)的第二階段開始之前,還包括對所記錄的業(yè)務(wù)請求和業(yè)務(wù)響應(yīng)數(shù)據(jù)進行修改的步驟,所述修改至少包括對網(wǎng)絡(luò)延遲、業(yè)務(wù)請求的正則匹配規(guī)則的修改;
在測試任務(wù)的第二階段中,服務(wù)虛擬化工具基于被修改的第一階段中所記錄的業(yè)務(wù)請求和業(yè)務(wù)響應(yīng)模擬被模擬服務(wù)響應(yīng)所述業(yè)務(wù)測試請求。
進一步地,在測試任務(wù)的第二階段中,對被測服務(wù)進行的測試可以是對被測服務(wù)進行的負載測試或壓力測試,或?qū)Ρ粶y服務(wù)和鏈路的負載測試或壓力測試。
進一步地,所述的被測服務(wù)為應(yīng)用程序接口API網(wǎng)關(guān),所述的被模擬服務(wù)為微服務(wù)。
進一步地,在測試任務(wù)的第一階段中,所述服務(wù)虛擬化工具記錄的是真實業(yè)務(wù)場景下的業(yè)務(wù)請求和業(yè)務(wù)響應(yīng)。
基于本公開另一方面,本公開還提供了一種基于服務(wù)虛擬化的測試系統(tǒng),該系統(tǒng)包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于新華三大數(shù)據(jù)技術(shù)有限公司,未經(jīng)新華三大數(shù)據(jù)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011051571.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 服務(wù)票據(jù)發(fā)行系統(tǒng)及服務(wù)票據(jù)發(fā)行服務(wù)
- 出租服務(wù)服務(wù)器和出租服務(wù)系統(tǒng)
- 服務(wù)開放方法及系統(tǒng)、服務(wù)開放服務(wù)器
- 基于服務(wù)券服務(wù)的在線企業(yè)服務(wù)平臺
- 退稅服務(wù)系統(tǒng)、退稅服務(wù)平臺及其服務(wù)方法
- 服務(wù)亭(服務(wù)驛站)
- 公共服務(wù)自助服務(wù)機
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法
- 服務(wù)提供服務(wù)器、服務(wù)提供系統(tǒng)以及服務(wù)提供方法





