鬼佬大哥大
  • / 9
  • 下載費用:30 金幣  

一種遠程MOCK測試方法及裝置.pdf

關 鍵 詞:
一種 遠程 MOCK 測試 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201510317203.8

申請日:

2015.06.10

公開號:

CN104899142A

公開日:

2015.09.09

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/36申請日:20150610|||公開
IPC分類號: G06F11/36; G06F9/455 主分類號: G06F11/36
申請人: 北京嘀嘀無限科技發展有限公司
發明人: 溫一剛
地址: 100085北京市海淀區上地東路9號1號樓5層北區1號
優先權:
專利代理機構: 北京路浩知識產權代理有限公司11002 代理人: 李相雨
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510317203.8

授權公告號:

||||||

法律狀態公告日:

2018.04.27|||2015.10.07|||2015.09.09

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明公開一種遠程mock測試方法及裝置,屬于軟件測試技術領域,所述方法包括:部署在本地服務器上的測試程序根據預設的測試內容,創建用于mock對象的程序文件;測試程序調用部署在本地服務器的虛擬機上的遠程服務程序,以使遠程服務程序加載用于mock對象的程序文件;測試程序接收遠程服務程序返回的加載結果;測試程序判斷加載結果是否滿足預期加載結果,以實現遠程mock測試。本發明將測試程序直接部署在本地服務器上,遠程服務程序部署在本地服務器的虛擬機上,實現了遠程環境的隔離,而且虛擬機作為遠程接口的調用可以模擬真實的生產環境,解決了現有mock測試方法在接口測試情況下,無法遠程mock對象的問題。

權利要求書

權利要求書
1.  一種遠程mock測試方法,其特征在于,包括:
部署在本地服務器上的測試程序根據預設的測試內容,創建用于mock對象的程序文件;
所述測試程序調用部署在所述本地服務器的虛擬機上的遠程服務程序,以使所述遠程服務程序加載所述用于mock對象的程序文件;
所述測試程序接收所述遠程服務程序返回的加載結果;
所述測試程序判斷所述加載結果是否滿足預期加載結果,以實現遠程mock測試。

2.  根據權利要求1所述的方法,其特征在于,所述部署在本地服務器上的測試程序根據預設的測試內容,創建用于mock對象的程序文件,包括:
部署在本地服務器上的測試程序根據預設的測試內容,通過所述本地服務器的文件系統,在所述本地服務器的虛擬機的文件訪問路徑上或在指定路徑上,創建用于mock對象的程序文件,其中,所述指定路徑為所述遠程服務程序加載程序的路徑。

3.  根據權利要求1或2所述的方法,其特征在于,所述測試程序判斷所述加載結果是否滿足預期加載結果,以實現遠程mock測試,包括:
若滿足預期加載結果,則提示測試成功;
若不滿足預期加載結果,則提示測試失敗。

4.  根據權利要求3所述的方法,其特征在于,在提示測試成功的步驟之后,所述方法還包括:
所述測試程序刪除所述用于mock對象的程序文件。

5.  根據權利要求1或2所述的方法,其特征在于,所述測試程序調用部署在所述本地服務器的虛擬機上的遠程服務程序,包括:
所述測試程序通過http請求調用部署在所述本地服務器的虛擬機上的遠程服務程序。

6.  一種遠程mock測試裝置,其特征在于,所述裝置部署在本地服務器中,所述裝置包括:
創建單元,用于根據預設的測試內容,創建用于mock對象的程序文件;
調用單元,用于調用部署在所述本地服務器的虛擬機上的遠程服務程序,以使所述遠程服務程序加載所述用于mock對象的程序文件;
接收單元,用于接收所述遠程服務程序返回的加載結果;
判斷單元,用于判斷所述接收單元接收到的加載結果是否滿足預期加載結果。

7.  根據權利要求6所述的裝置,其特征在于,所述創建單元,具體用于:
根據預設的測試內容,通過所述本地服務器的文件系統,在所述本地服務器的虛擬機的文件訪問路徑上或在指定路徑上,創建用于mock對象的程序文件,其中,所述指定路徑為所述遠程服務程序加載程序的路徑。

8.  根據權利要求6或7所述的裝置,其特征在于,所述裝置還包括:提示單元,用于在所述判斷單元判定加載結果滿足預期加載結果時,提示測試成功;
所述提示單元,還用于在所述判斷單元判定加載結果不滿足預期加載結果時,提示測試失敗。

9.  根據權利要求8所述的裝置,其特征在于,所述裝置還包括:刪除單元,用于:
在所述提示單元提示測試成功之后,刪除所述用于mock對象的程序文件。

10.  根據權利要求6或7所述的裝置,其特征在于,所述調用單元, 具體用于:
通過http請求調用部署在所述本地服務器的虛擬機上的遠程服務程序。

說明書

說明書一種遠程mock測試方法及裝置
技術領域
本發明涉及軟件測試技術領域,具體涉及一種遠程mock測試方法及裝置。
背景技術
mock測試方法就是在軟件測試過程中,對于某些不容易構造或者不容易獲取的對象,用一個虛擬的對象來創建以便測試的測試方法。
現有mock測試方法通常用于單機執行的單元測試或者功能測試中。而接口測試則是通過遠程調用接口的方式進行測試,通常是發送http請求來實現。
因此,現有mock測試方法在接口測試情況下,無法通過虛擬對象來構造各種數據和業務場景,導致現有mock測試方法無法遠程mock對象的問題。
發明內容
本發明所要解決的技術問題是現有mock測試方法在接口測試情況下,無法通過虛擬對象來構造各種數據和業務場景,導致現有mock測試方法無法遠程mock對象的問題。
為此目的,第一方面,本發明提出一種遠程mock測試方法,包括:
部署在本地服務器上的測試程序根據預設的測試內容,創建用于mock對象的程序文件;
所述測試程序調用部署在所述本地服務器的虛擬機上的遠程服務程序,以使所述遠程服務程序加載所述用于mock對象的程序文件;
所述測試程序接收所述遠程服務程序返回的加載結果;
所述測試程序判斷所述加載結果是否滿足預期加載結果,以實現遠程mock測試。
可選的,所述部署在本地服務器上的測試程序根據預設的測試內容,創建用于mock對象的程序文件,包括:
部署在本地服務器上的測試程序根據預設的測試內容,通過所述本地服務器的文件系統,在所述本地服務器的虛擬機的文件訪問路徑上或在指定路徑上,創建用于mock對象的程序文件,其中,所述指定路徑為所述遠程服務程序加載程序的路徑。
可選的,所述測試程序判斷所述加載結果是否滿足預期加載結果,以實現遠程mock測試,包括:
若滿足預期加載結果,則提示測試成功;
若不滿足預期加載結果,則提示測試失敗。
可選的,在提示測試成功的步驟之后,所述方法還包括:
所述測試程序刪除所述用于mock對象的程序文件。
可選的,所述測試程序調用部署在所述本地服務器的虛擬機上的遠程服務程序,包括:
所述測試程序通過http請求調用部署在所述本地服務器的虛擬機上的遠程服務程序。
第二方面,本發明還提出一種遠程mock測試裝置,所述裝置部署在本地服務器中,所述裝置包括:
創建單元,用于根據預設的測試內容,創建用于mock對象的程序文件;
調用單元,用于調用部署在所述本地服務器的虛擬機上的遠程服務程序,以使所述遠程服務程序加載所述用于mock對象的程序文件;
接收單元,用于接收所述遠程服務程序返回的加載結果;
判斷單元,用于判斷所述接收單元接收到的加載結果是否滿足預 期加載結果。
可選的,所述創建單元,具體用于:
根據預設的測試內容,通過所述本地服務器的文件系統,在所述本地服務器的虛擬機的文件訪問路徑上或在指定路徑上,創建用于mock對象的程序文件,其中,所述指定路徑為所述遠程服務程序加載程序的路徑。
可選的,所述裝置還包括:提示單元,用于在所述判斷單元判定加載結果滿足預期加載結果時,提示測試成功;
所述提示單元,還用于在所述判斷單元判定加載結果不滿足預期加載結果時,提示測試失敗。
可選的,所述裝置還包括:刪除單元,用于:
在所述提示單元提示測試成功之后,刪除所述用于mock對象的程序文件。
可選的,所述調用單元,具體用于:
通過http請求調用部署在所述本地服務器的虛擬機上的遠程服務程序。
相比于現有技術,本發明的遠程mock測試方法及裝置,將測試程序直接部署在本地服務器上,遠程服務程序部署在本地服務器的虛擬機上,實現了遠程環境的隔離,虛擬機不會和測試程序所在環境相互影響,而且虛擬機作為遠程接口的調用完全可以模擬真實的生產環境,保持測試的仿真性,解決了現有mock測試方法在接口測試情況下,無法像在單元測試情況下通過虛擬對象來構造各種數據和業務場景,導致現有mock測試方法無法遠程mock對象的問題,即很難覆蓋到所有的代碼邏輯的問題。
附圖說明
圖1為本公開實施例提供的一種遠程mock測試方法流程圖;
圖2為本公開實施例提供的一種測試程序判斷加載結果是否滿 足預期加載結果,以實現遠程mock測試的流程圖;
圖3為本公開實施例提供的一種遠程mock測試系統結構圖。
具體實施方式
為使本公開實施例的目的、技術方案和優點更加清楚,下面將結合本公開實施例中的附圖,對本公開實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本公開一部分實施例,而不是全部的實施例。基于本公開中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本公開保護的范圍。
如圖1所示,本實施例公開一種遠程mock測試方法,該方法可包括以下步驟101至104:
101、部署在本地服務器上的測試程序根據預設的測試內容,創建用于mock對象的程序文件;
102、測試程序調用部署在本地服務器的虛擬機上的遠程服務程序,以使遠程服務程序加載用于mock對象的程序文件;
103、測試程序接收遠程服務程序返回的加載結果;
104、測試程序判斷加載結果是否滿足預期加載結果,以實現遠程mock測試。
上述實施例中的遠程mock測試方法,將測試程序直接部署在本地服務器上,遠程服務程序部署在本地服務器的虛擬機上,虛擬機實現了遠程環境的隔離,不會和測試程序所在環境相互影響,而且作為遠程接口的調用完全可以模擬真實的生產環境,保持測試的仿真性,解決了現有mock測試方法在接口測試情況下,無法像在單元測試情況下通過虛擬對象來構造各種數據和業務場景,導致現有mock測試方法無法遠程mock對象的問題,即很難覆蓋到所有的代碼邏輯的問題。
在一個具體的例子中,步驟101,包括:
部署在本地服務器上的測試程序根據預設的測試內容,通過本地服務器的文件系統,在本地服務器的虛擬機的文件訪問路徑上或在指定路徑上,創建用于mock對象的程序文件,其中,指定路徑為遠程服務程序加載程序的路徑。
上述實施例中的遠程mock測試方法,由于虛擬機部署在測試程序所在的本地服務器,測試程序與遠程服務程序可以通過文件系統實現交互,測試程序執行時可以動態創建所需要的mock程序給遠程服務程序加載調用,提高了測試程序的靈活性。
在一個具體的例子中,如圖2所示,步驟104中包括以下步驟1041至1043:
1041、測試程序判斷加載結果是否滿足預期加載結果,若滿足預期加載結果,則執行步驟1042;若不滿足預期加載結果,則執行步驟1043;
1042、提示測試成功;
1043、提示測試失敗。
在一個具體的例子中,在步驟1042之后,上述遠程mock測試方法還可包括圖2中未示出的步驟105:
105、測試程序刪除用于mock對象的程序文件。
上述實施例中的遠程mock測試方法,將用于mock對象的程序文件刪除就不會影響接口服務的其他調用結果。測試中對于測試程序而言,mock的動作和單元測試相同,不需要關心接口服務如何調用。接口服務也不需要了解測試程序的執行情況,只要按照mock文件的邏輯執行就可以。
在一個具體的例子中,步驟102,包括:
測試程序通過http請求調用部署在本地服務器的虛擬機上的遠程服務程序。
上述實施例中的遠程mock測試方法,雖然雙方是通過http請求的 方式進行調用服務,但是通過底層文件系統實現了控制。
舉例來說,遠程服務程序為接口服務程序A,A的功能是返回員工的詳細信息,當測試程序B發送A的接口請求時,B需要將員工x的ID作為參數,A收到請求時,會調用代碼的一個方法getInfoByID去查詢數據庫,將查出的員工x的詳細信息返回給B。
舉例來說,測試程序B需要測試一個異常情況,即當數據庫連接有問題時,接口服務程序A返回一個錯誤消息,比如“connect database fail”。則B在發送請求前,生成一個mock的代碼文件到A指定的目錄下,B再發送請求,A收到請求加載mock的代碼文件執行,mock出新的方法getInfoByID讓它返回一個模擬的數據庫的連接錯誤。A返回“connect database fail”的錯誤信息給B,B收到結果后判斷符合預期,測試成功,刪除剛才生成的mock文件,結束測試。
如圖3所示,本實施例公開一種遠程mock測試裝置,所述裝置部署在本地服務器中,所述裝置可包括:創建單元31、調用單元32、接收單元33以及判斷單元34。
創建單元31,用于根據預設的測試內容,創建用于mock對象的程序文件;
調用單元32,用于調用部署在本地服務器的虛擬機上的遠程服務程序,以使遠程服務程序加載用于mock對象的程序文件;
接收單元33,用于接收遠程服務器程序返回的加載結果;
判斷單元34,用于判斷接收單元33接收到的加載結果是否滿足預期加載結果。
在一個具體的例子中,創建單元31,具體用于:
根據預設的測試內容,通過本地服務器的文件系統,在本地服務器的虛擬機的文件訪問路徑上或在指定路徑上,創建用于mock對象的程序文件,其中,指定路徑為所述遠程服務程序加載程序的路徑。
在一個具體的例子中,上述遠程mock測試裝置還可包括圖3中未示出的提示單元35;
所述提示單元35,用于在判斷單元34判定加載結果滿足預期加載結果之后,提示測試成功以及在判斷單元34判定加載結果不滿足預期加載結果之后,提示測試失敗。
在一個具體的例子中,上述遠程mock測試裝置還可包括圖3中未示出的刪除單元36,用于在提示單元35提示測試成功之后,刪除用于mock對象的程序文件。
在一個具體的例子中,調用單元32,具體用于:通過http請求調用部署在本地服務器的虛擬機上的遠程服務程序。
本領域技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是互相排斥之處,可以采用任何組合對本說明書中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本公開的范圍之內并且形成不同的實施例。
本公開的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本公開實施例的一種瀏覽器終端的設備 中的一些或者全部部件的一些或者全部功能。本公開還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本公開的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
雖然結合附圖描述了本公開的實施方式,但是本領域技術人員可以在不脫離本公開的精神和范圍的情況下做出各種修改和變型,這樣的修改和變型均落入由所附權利要求所限定的范圍之內。

關于本文
本文標題:一種遠程MOCK測試方法及裝置.pdf
鏈接地址:http://www.wwszu.club/p-6369476.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大