[發(fā)明專利]Mock方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201710266212.8 | 申請(qǐng)日: | 2017-04-21 |
| 公開(公告)號(hào): | CN108733554A | 公開(公告)日: | 2018-11-02 |
| 發(fā)明(設(shè)計(jì))人: | 張凱 | 申請(qǐng)(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 中原信達(dá)知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 張一軍;姜?jiǎng)?/td> |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 測試場景 輸入?yún)?shù) 返回 方法和裝置 返回結(jié)果 匹配規(guī)則 腳本 調(diào)用 解析 動(dòng)態(tài)裝載 構(gòu)建 預(yù)設(shè) 匹配 數(shù)據(jù)庫 開發(fā) 服務(wù) | ||
本發(fā)明實(shí)施例提供一種Mock方法和裝置,能夠使一次開發(fā)的Mock腳本應(yīng)對(duì)不同測試場景的Mock需求,即實(shí)現(xiàn)一個(gè)Mock接口能根據(jù)實(shí)際測試場景返回不同Mock返回值,無需針對(duì)不同測試場景開發(fā)不同的Mock腳本,從而能夠構(gòu)建簡單、快速的Mock服務(wù)。該方法包括:接收調(diào)用Mock接口的請(qǐng)求;所述請(qǐng)求包括:輸入?yún)?shù);對(duì)所述輸入?yún)?shù)以及從數(shù)據(jù)庫中動(dòng)態(tài)裝載的可返回結(jié)果集進(jìn)行解析;根據(jù)預(yù)設(shè)的匹配規(guī)則對(duì)解析后的輸入?yún)?shù)和解析后的可返回結(jié)果集進(jìn)行匹配;將符合匹配規(guī)則的Mock返回值返回至調(diào)用Mock接口的系統(tǒng)。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種Mock方法和裝置。
背景技術(shù)
聯(lián)調(diào)測試是目前軟件質(zhì)量保證體系中非常重要的一個(gè)環(huán)節(jié),是業(yè)務(wù)測試場景中保證不同系統(tǒng)之間數(shù)據(jù)交互正確性的有效手段。由于業(yè)務(wù)越來越復(fù)雜、系統(tǒng)交互方越來越多,導(dǎo)致聯(lián)調(diào)測試中的參與方也越來越多,進(jìn)而造成聯(lián)調(diào)測試緩慢、無法快速響應(yīng)業(yè)務(wù)的變化。
為了解決聯(lián)調(diào)測試緩慢的問題,在聯(lián)調(diào)測試中引入了Mock(模擬)服務(wù)。通過Mock服務(wù)模擬返回參數(shù)或返回值,解決了被測系統(tǒng)對(duì)外部接口服務(wù)的依賴問題,使得聯(lián)調(diào)測試可以快速進(jìn)行,降低了被測系統(tǒng)在聯(lián)調(diào)測試中的風(fēng)險(xiǎn),保證了被測系統(tǒng)的質(zhì)量。
Mock服務(wù)按照使用范圍的大小大致可分為:方法級(jí)Mock服務(wù)、組件級(jí)Mock服務(wù)和系統(tǒng)測試級(jí)Mock服務(wù)。對(duì)于方法級(jí)Mock服務(wù)和組件級(jí)Mock服務(wù),現(xiàn)有技術(shù)中存在EasyMock、Jmock、Mockito、PowerMock等開發(fā)框架。而對(duì)于系統(tǒng)測試級(jí)的Mock服務(wù),則需要在一些框架和插件的基礎(chǔ)上,針對(duì)需要Mock的外部接口服務(wù)進(jìn)行個(gè)性化定制才能實(shí)現(xiàn)。
不管是哪一類型的Mock服務(wù),構(gòu)建Mock服務(wù)進(jìn)行測試的流程大致相同。圖1是現(xiàn)有技術(shù)中構(gòu)建Mock服務(wù)的流程示意圖。如圖1所示,該流程主要包括以下步驟:A1、分析被測方法、組件或接口;A2、進(jìn)行個(gè)性化Mock服務(wù)腳本開發(fā);A3、被測方法、組件或接口調(diào)用Mock服務(wù);A4、針對(duì)不同場景修改或重新開發(fā)Mock服務(wù)腳本;A5、被測方法、組件或接口調(diào)用修改或重新開發(fā)的Mock服務(wù)。
在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:第一,現(xiàn)有構(gòu)建Mock服務(wù)進(jìn)行測試的方法不太適用于集成測試或系統(tǒng)測試等復(fù)雜場景下。這是因?yàn)椋F(xiàn)有技術(shù)是將數(shù)據(jù)(輸入?yún)?shù)、輸出參數(shù))寫入Mock腳本中。隨著業(yè)務(wù)場景的增多,所需開發(fā)的Mock腳本越來越多。這樣一來,引入Mock服務(wù)不僅沒有提高測試效率,反而由于過于依賴Mock服務(wù)拖后測試進(jìn)度。第二,隨著業(yè)務(wù)場景越來越復(fù)雜多變,簡單、快速的系統(tǒng)測試級(jí)Mock服務(wù)越來越被需要。然而,如何構(gòu)建簡單、快速的Mock服務(wù),現(xiàn)有技術(shù)中還沒有給出好的解決方案。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種Mock方法和裝置,能夠使一次開發(fā)的Mock腳本應(yīng)對(duì)不同測試場景的Mock需求,即實(shí)現(xiàn)一個(gè)Mock接口能根據(jù)實(shí)際測試場景返回不同Mock返回值,無需針對(duì)不同測試場景開發(fā)不同的Mock腳本,從而能夠構(gòu)建簡單、快速的Mock服務(wù)。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種Mock方法。
本發(fā)明實(shí)施例的Mock方法包括:接收調(diào)用Mock接口的請(qǐng)求;所述請(qǐng)求包括:輸入?yún)?shù);對(duì)所述輸入?yún)?shù)以及從數(shù)據(jù)庫中動(dòng)態(tài)裝載的可返回結(jié)果集進(jìn)行解析;根據(jù)預(yù)設(shè)的匹配規(guī)則對(duì)解析后的輸入?yún)?shù)和解析后的可返回結(jié)果集進(jìn)行匹配;將符合匹配規(guī)則的Mock返回值返回至調(diào)用Mock接口的系統(tǒng)。
可選地,所述匹配規(guī)則為:一個(gè)或多個(gè)分級(jí)參數(shù)與Mock返回值的對(duì)應(yīng)關(guān)系。
可選地,對(duì)所述輸入?yún)?shù)以及動(dòng)態(tài)裝載的可返回結(jié)果集進(jìn)行解析,包括:將所述輸入?yún)?shù)解析成第一可操作對(duì)象;將所述動(dòng)態(tài)裝載的可返回結(jié)果集解析成第二可操作對(duì)象。
可選地,所述方法還包括:在接收調(diào)用Mock接口的請(qǐng)求之前,根據(jù)被測系統(tǒng)的外部依賴接口規(guī)范生成調(diào)用Mock接口的腳本。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710266212.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 一種測試場景生成方法、裝置及系統(tǒng)
- 數(shù)據(jù)設(shè)備可靠性自動(dòng)化測試方法及系統(tǒng)
- 一種基于不同測試場景的服務(wù)器性能測試方法
- 軟件測試方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 接口測試的方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種智能網(wǎng)聯(lián)汽車測試場景的測試方法和系統(tǒng)
- 測試場景等級(jí)計(jì)算方法、裝置及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 一種管理智能船舶自主航行仿真測試場景的方法及系統(tǒng)
- 測試場景對(duì)齊方法、裝置、介質(zhì)和設(shè)備
- 一種自動(dòng)駕駛測試場景的確定方法、裝置及電子設(shè)備
- 基于輸入設(shè)備運(yùn)動(dòng)參數(shù)跟蹤的選擇輸入系統(tǒng)
- 過程參數(shù)的輸入和顯示設(shè)備
- 輸入裝置及其控制參數(shù)調(diào)整方法
- 基于輸入設(shè)備運(yùn)動(dòng)參數(shù)跟蹤的選擇輸入系統(tǒng)
- 醫(yī)療參數(shù)的輸入方法和裝置
- 生成輸入?yún)?shù)的方法及設(shè)備
- 模型集群的輸入?yún)?shù)獲取方法及系統(tǒng)
- 參數(shù)輸入方法與裝置
- 生成輸入?yún)?shù)的方法及設(shè)備
- 一種軟件包調(diào)用管理方法、系統(tǒng)、裝置及存儲(chǔ)介質(zhì)





