本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種參數(shù)替換測試方法及裝置。
背景技術(shù):
在廣告投放系統(tǒng)與第三方的DSP(Demand-Side Platform,需求方平臺)系統(tǒng)進行交互的過程中,為了便于統(tǒng)計數(shù)據(jù),DSP系統(tǒng)在收到廣告投放系統(tǒng)發(fā)送的廣告投放請求之后,向廣告投放系統(tǒng)發(fā)送包括待替換的宏參數(shù)的鏈接。廣告投放系統(tǒng)在對宏參數(shù)進行參數(shù)替換之后,將包括替換參數(shù)的鏈接發(fā)送給DSP系統(tǒng)。
目前,對參數(shù)替換邏輯的測試,通常采用人工測試的方法。由工作人員觸發(fā)第三方例如DSP系統(tǒng)發(fā)送包括待替換的宏參數(shù)的鏈接,并在完成參數(shù)替換之后,由工作人員檢查鏈接包括的替換參數(shù)是否正確。但人工測試參數(shù)替換邏輯比較耗時,不能保證測試的覆蓋率,回歸測試時間也比較長。
技術(shù)實現(xiàn)要素:
技術(shù)問題
有鑒于此,本發(fā)明要解決的技術(shù)問題是,如何提高參數(shù)替換邏輯的測試效率。
解決方案
為了解決上述技術(shù)問題,根據(jù)本發(fā)明的一實施例,提供了一種參數(shù)替換測試方法,包括:
獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接;
根據(jù)參數(shù)替換邏輯,分別對各參數(shù)請求鏈接包括的宏參數(shù)進行參數(shù)替換,得到包括替換參數(shù)的各參數(shù)返回鏈接;
將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,得到所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果;
根據(jù)所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行。
對于上述方法,在一種可能的實現(xiàn)方式中,根據(jù)參數(shù)替換邏輯,分別對各參數(shù)請求鏈接包括的宏參數(shù)進行參數(shù)替換,得到包括替換參數(shù)的各參數(shù)返回鏈接,包括:
分別查找到各參數(shù)請求鏈接包括的宏參數(shù)對應(yīng)的標(biāo)識信息;
根據(jù)參數(shù)替換邏輯和所述標(biāo)識信息,將各參數(shù)請求鏈接包括的宏參數(shù)替換為替換參數(shù),得到包括替換參數(shù)的各參數(shù)返回鏈接。
對于上述方法,在一種可能的實現(xiàn)方式中,將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,得到所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,包括:
將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)相同的情況下,所述替換結(jié)果為替換成功;或,
將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)不相同的情況下,所述替換結(jié)果為替換失敗。
對于上述方法,在一種可能的實現(xiàn)方式中,根據(jù)所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行,包括:
在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果為替換成功的情況下,所述參數(shù)替換邏輯能夠正常運行;或,
在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果存在替換失敗的情況下,所述參數(shù)替換邏輯不能夠正常運行。
對于上述方法,在一種可能的實現(xiàn)方式中,獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接,包括:
在發(fā)現(xiàn)待測試的系統(tǒng)的代碼進行更新的情況下,觸發(fā)各參數(shù)請求鏈接對應(yīng)的業(yè)務(wù)請求鏈接,以獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接。
為了解決上述技術(shù)問題,根據(jù)本發(fā)明的另一實施例,提供了一種參數(shù)替換測試裝置,包括:
獲取模塊,用于獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接;
替換模塊,與所述獲取模塊連接,用于根據(jù)參數(shù)替換邏輯,分別對各參數(shù)請求鏈接包括的宏參數(shù)進行參數(shù)替換,得到包括替換參數(shù)的各參數(shù)返回鏈接;
比較模塊,與所述替換模塊連接,用于將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,得到所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果;
確定模塊,與所述比較模塊連接,用于根據(jù)所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述替換模塊,包括:
查找單元,用于分別查找到各參數(shù)請求鏈接包括的宏參數(shù)對應(yīng)的標(biāo)識信息;
替換單元,與所述查找單元連接,用于根據(jù)參數(shù)替換邏輯和所述標(biāo)識信息,將各參數(shù)請求鏈接包括的宏參數(shù)替換為替換參數(shù),得到包括替換參數(shù)的各參數(shù)返回鏈接。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述比較模塊,包括:
第一比較單元,用于將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)相同的情況下,所述替換結(jié)果為替換成功;和/或,
第二比較單元,用于將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)不相同的情況下,所述替換結(jié)果為替換失敗。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述確定模塊,包括:
第一確定單元,用于在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果為替換成功的情況下,所述參數(shù)替換邏輯能夠正常運行;和/或,
第二確定單元,用于在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果存在替換失敗的情況下,所述參數(shù)替換邏輯不能夠正常運行。
對于上述裝置,在一種可能的實現(xiàn)方式中,所述獲取模塊,具體用于
在發(fā)現(xiàn)待測試的系統(tǒng)的代碼進行更新的情況下,觸發(fā)各參數(shù)請求鏈接對應(yīng)的業(yè)務(wù)請求鏈接,以獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接。
有益效果
本發(fā)明實施例的參數(shù)替換測試方法,根據(jù)參數(shù)替換邏輯對參數(shù)請求鏈接包括的待替換的宏參數(shù)進行參數(shù)替換,生成包括替換參數(shù)的參數(shù)返回鏈接,并根據(jù)各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行,能夠提高參數(shù)替換邏輯的測試效率。
進一步地,本發(fā)明實施例的參數(shù)替換測試方法,可以應(yīng)用于對各種類型的參數(shù)替換邏輯進行測試,能夠模擬大量的參數(shù)替換場景,增加了測試的覆蓋率,保證了參數(shù)替換邏輯的質(zhì)量。
進一步地,在系統(tǒng)的代碼進行更新的情況下,可以對與系統(tǒng)存在交互的各第三方發(fā)送的參數(shù)請求鏈接進行測試,能夠極大提高測試效率,縮短回歸測試時間,消除代碼更新對參數(shù)替換邏輯的影響。
根據(jù)下面參考附圖對示例性實施例的詳細說明,本發(fā)明的其它特征及方面將變得清楚。
附圖說明
包括在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實施例、特征和方面,并且用于解釋本發(fā)明的原理。
圖1示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的流程圖;
圖2示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的另一流程圖;
圖3示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的另一流程圖;
圖4示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的另一流程圖;
圖5示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的另一流程圖;
圖6示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的另一流程圖;
圖7示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的另一流程圖;
圖8示出根據(jù)本發(fā)明另一實施例的參數(shù)替換測試裝置的結(jié)構(gòu)框圖;
圖9示出根據(jù)本發(fā)明另一實施例的參數(shù)替換測試裝置的另一結(jié)構(gòu)框圖;
圖10示出根據(jù)本發(fā)明另一實施例的參數(shù)替換測試裝置的另一結(jié)構(gòu)框圖;
圖11示出根據(jù)本發(fā)明另一實施例的參數(shù)替換測試裝置的另一結(jié)構(gòu)框圖;
圖12示出根據(jù)本發(fā)明另一實施例的參數(shù)替換測試設(shè)備的結(jié)構(gòu)框圖。
具體實施方式
以下將參考附圖詳細說明本發(fā)明的各種示例性實施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優(yōu)于或好于其它實施例。
另外,為了更好的說明本發(fā)明,在下文的具體實施方式中給出了眾多的具體細節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細節(jié),本發(fā)明同樣可以實施。在一些實例中,對于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細描述,以便于凸顯本發(fā)明的主旨。
實施例1
圖1示出根據(jù)本發(fā)明一實施例的參數(shù)替換測試方法的流程圖。如圖1所示,該參數(shù)替換測試方法,主要包括:
步驟101、獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接;
步驟102、根據(jù)參數(shù)替換邏輯,分別對各參數(shù)請求鏈接包括的宏參數(shù)進行參數(shù)替換,得到包括替換參數(shù)的各參數(shù)返回鏈接;
步驟103、將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,得到所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果;
步驟104、根據(jù)所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行。
本發(fā)明實施例的宏參數(shù)可以包括需要替換的各種類型的批量參數(shù),替換參數(shù)可以包括根據(jù)參數(shù)替換邏輯獲取的用于將對應(yīng)的宏參數(shù)進行替換的參數(shù),本實施例不限定宏參數(shù)和替換參數(shù)的具體類型。其中,宏(Macro)可以是一種規(guī)則或模式,或稱語法替換,用于說明某一特定輸入(通常是字符串)如何根據(jù)預(yù)定義的規(guī)則轉(zhuǎn)換成對應(yīng)的輸出(通常也是字符串)。這種替換在預(yù)編譯時進行,稱作宏展開。
具體地,宏參數(shù)可以通過帶參數(shù)的宏定義實現(xiàn)。帶參數(shù)的宏定義的一般形式如下:#define<宏名>(<參數(shù)表>)<宏體>。其中,<宏名>是一個標(biāo)識符,<參數(shù)表>中的參數(shù)可以是一個,也可以是多個,視具體情況而定。<宏體>是被替換用的字符串,宏體中的字符串是由參數(shù)表中的各個參數(shù)組成的表達式。
參數(shù)請求鏈接可以包括在系統(tǒng)與第三方的交互過程中,第三方為了獲取所需要的統(tǒng)計數(shù)據(jù),例如,Mac(Medium Access Control,硬件地址)地址、IP(Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址等,而向系統(tǒng)發(fā)送的用于獲取各種類型的參數(shù)的鏈接。參數(shù)返回鏈接可以包括根據(jù)參數(shù)替換邏輯對參數(shù)請求鏈接包括的宏參數(shù)進行替換之后,生成的包括替換參數(shù)的用于返回給第三方的鏈接。其中,鏈接可以用來傳遞參數(shù)和控制命令,并把它們組成一個可執(zhí)行的整體過程。具體地,鏈接可以表示從一個網(wǎng)頁指向一個目標(biāo)的連接關(guān)系,所指向的目標(biāo)可以包括另一個網(wǎng)頁,也可以包括相同網(wǎng)頁上的不同位置,還可以包括圖片、電子郵件地址、文件、應(yīng)用程序等。
作為本發(fā)明的一個示例,廣告投放系統(tǒng)需要投一支第三方例如DSP系統(tǒng)的廣告。在用戶發(fā)來廣告投放請求的情況下,廣告投放系統(tǒng)向DSP系統(tǒng)發(fā)送請求信息,DSP系統(tǒng)在收到請求信息之后,返回應(yīng)答信息。應(yīng)答信息中包括DSP系統(tǒng)的參數(shù)請求鏈接。廣告投放系統(tǒng)在收到DSP系統(tǒng)的參數(shù)請求鏈接之后,將其包括的宏參數(shù)替換,生成參數(shù)返回鏈接并發(fā)送給DSP系統(tǒng)。其中,請求信息和應(yīng)答信息都可以通過例如JSON(JavaScript Object Notation)數(shù)據(jù)實現(xiàn)。
在一種可能的實現(xiàn)方式中,如圖2所示,根據(jù)參數(shù)替換邏輯,分別對各參數(shù)請求鏈接包括的宏參數(shù)進行參數(shù)替換,得到包括替換參數(shù)的各參數(shù)返回鏈接(步驟102),具體可以包括:
步驟201、分別查找到各參數(shù)請求鏈接包括的宏參數(shù)對應(yīng)的標(biāo)識信息;
步驟202、根據(jù)參數(shù)替換邏輯和所述標(biāo)識信息,將各參數(shù)請求鏈接包括的宏參數(shù)替換為替換參數(shù),得到包括替換參數(shù)的各參數(shù)返回鏈接。
本發(fā)明實施例不限定宏參數(shù)的具體個數(shù),例如,參數(shù)請求鏈接可以包括一個宏參數(shù),也可以包括多個宏參數(shù)。在參數(shù)請求鏈接包括多個宏參數(shù)的情況下,可以查找到各宏參數(shù)對應(yīng)的標(biāo)識信息,例如,宏參數(shù)的名稱、宏參數(shù)的地址、宏參數(shù)的編號等,在此不做限定。
作為本發(fā)明的一個示例,在廣告投放系統(tǒng)接收到參數(shù)請求鏈接的情況下,根據(jù)例如宏參數(shù)的名稱查找到宏參數(shù)。舉例而言,參數(shù)請求鏈接為:http://www.sina.com.cn/yes/90003?mac=MAC,其中,MAC就是宏參數(shù)。然后,廣告投放系統(tǒng)根據(jù)參數(shù)替換邏輯,將該宏參數(shù)替換為廣告投放的設(shè)備的Mac地址,例如40-A8-F0-45-90-0B,生成包括該Mac地址的參數(shù)返回鏈接,例如http://www.sina.com.cn/yes/90003?mac=40-A8-F0-45-90-0B。
在一種可能的實現(xiàn)方式中,如圖3所示,將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,得到所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果(步驟103),具體可以包括:
步驟301、將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)相同的情況下,所述替換結(jié)果為替換成功;或,
步驟302、將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)不相同的情況下,所述替換結(jié)果為替換失敗。
在一種可能的實現(xiàn)方式中,如圖4所示,根據(jù)所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行,包括:
步驟401、在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果為替換成功的情況下,所述參數(shù)替換邏輯能夠正常運行;或,
步驟402、在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果存在替換失敗的情況下,所述參數(shù)替換邏輯不能夠正常運行。
需要說明的是,參數(shù)替換邏輯可以是預(yù)先設(shè)計好的,因此生成的參數(shù)返回鏈接所包括的替換參數(shù)通常應(yīng)當(dāng)遵循參數(shù)替換邏輯。進一步地,將參數(shù)返回鏈接所包括的替換參數(shù)和預(yù)設(shè)參數(shù)進行比較,在替換參數(shù)與預(yù)設(shè)參數(shù)相同的情況下,說明生成的參數(shù)返回鏈接所包括的替換參數(shù)遵循參數(shù)替換邏輯,參數(shù)替換成功。在替換參數(shù)與預(yù)設(shè)參數(shù)不相同的情況下,說明生成的參數(shù)返回鏈接所包括的替換參數(shù)沒有遵循參數(shù)替換邏輯,參數(shù)替換失敗。
作為本發(fā)明的一個示例,如圖5和圖6所示,參數(shù)替換測試方法的具體流程如下:
S1、把不同的參數(shù)請求鏈接放在同一個數(shù)組中,例如數(shù)組A中。具體地,數(shù)組A中包括的各參數(shù)請求鏈接可以用于測試參數(shù)替換邏輯。本示例不限定數(shù)組A中包括的參數(shù)請求鏈接的個數(shù)和類型。一般而言,用于測試參數(shù)替換邏輯的參數(shù)請求鏈接的個數(shù)越多、類型越廣,參數(shù)替換邏輯的測試越準(zhǔn)確。
S2、本示例不限定每一個參數(shù)請求鏈接進行測試的具體順序,例如,可以是串行測試,依次讀取數(shù)組A中包括的參數(shù)請求鏈接,分別對每一個參數(shù)請求鏈接進行參數(shù)替換測試;也可以是并行測試,對數(shù)組A中包括的全部參數(shù)請求鏈接同時進行參數(shù)替換測試。其中,串行測試可以通過單線程的參數(shù)替換測試實現(xiàn),并行測試可以通過多線程的參數(shù)替換測試實現(xiàn)。
S3、檢查獲取的鏈接是否是數(shù)組A中包括的參數(shù)請求鏈接,在獲取的鏈接不屬于數(shù)組A的情況下,視為數(shù)組A中包括的參數(shù)請求鏈接已經(jīng)測試完畢。同時,這意味著在這之前的每一個參數(shù)返回鏈接對應(yīng)的替換結(jié)果都為替換成功,進一步地,參數(shù)替換邏輯能夠正常運行(步驟S6)。在獲取的鏈接屬于數(shù)組A的情況下,繼續(xù)對該獲取的鏈接執(zhí)行步驟S4。
S4、執(zhí)行參數(shù)替換測試。具體的,在步驟S4中,如圖6所示,還包括如下子步驟:
S41、對包括待替換的宏參數(shù)的參數(shù)請求鏈接,根據(jù)參數(shù)替換邏輯進行參數(shù)替換。例如,對于參數(shù)請求鏈接,廣告投放系統(tǒng)根據(jù)宏參數(shù)的名稱例如Mac地址查找到宏參數(shù)。然后,根據(jù)參數(shù)替換邏輯,將該宏參數(shù)替換為廣告投放的設(shè)備的Mac地址,例如40-A8-F0-45-90-0B,進一步地,生成包括該Mac地址的參數(shù)返回鏈接。
S42、檢查參數(shù)返回鏈接是否替換正確。例如,在步驟S41中,廣告投放系統(tǒng)將參數(shù)返還鏈接包括的Mac地址40-A8-F0-45-90-0B與實際投放的設(shè)備的Mac地址進行比較。
S43、若廣告實際投放的設(shè)備的Mac地址為40-A8-F0-45-90-0B,通過步驟S42的比較,發(fā)現(xiàn)參數(shù)返還鏈接包括的替換參數(shù)與預(yù)設(shè)參數(shù)相同,則參數(shù)替換成功。
S44、若廣告實際投放的設(shè)備的Mac地址為40-A8-F0-45-80-0A,通過步驟S42的比較,發(fā)現(xiàn)參數(shù)返還鏈接包括的替換參數(shù)與預(yù)設(shè)參數(shù)不相同,則參數(shù)替換失敗。
S5、判斷參數(shù)替換測試是否成功。在當(dāng)前測試的參數(shù)返回鏈接對應(yīng)的替換結(jié)果為替換成功的情況下,執(zhí)行步驟S2,獲取數(shù)組A中下一個待測試的參數(shù)請求鏈接。在當(dāng)前測試的參數(shù)返回鏈接對應(yīng)的替換結(jié)果為替換失敗的情況下,進一步地,參數(shù)替換邏輯不能夠正常運行(步驟S7)。
在一種可能的實現(xiàn)方式中,如圖7所示,獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接(步驟101),包括:
步驟701、在發(fā)現(xiàn)待測試的系統(tǒng)的代碼進行更新的情況下,觸發(fā)各參數(shù)請求鏈接對應(yīng)的業(yè)務(wù)請求鏈接,以獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接。
在本發(fā)明實施例中,通過觸發(fā)業(yè)務(wù)請求鏈接,可以向第三方發(fā)送業(yè)務(wù)請求,從而引起第三方返回參數(shù)請求鏈接。作為本發(fā)明的一個示例,通過觸發(fā)廣告投放系統(tǒng)的廣告投放請求鏈接(業(yè)務(wù)請求鏈接),廣告投放系統(tǒng)可以向第三方例如DSP系統(tǒng)發(fā)送廣告投放請求。進一步地,DSP系統(tǒng)在接收到廣告投放請求之后,向廣告投放系統(tǒng)發(fā)送替換Mac地址請求連接(參數(shù)請求鏈接)。
具體地,可以將本發(fā)明實施例的參數(shù)替換測試方法包裝成測試模塊。進一步地,可以通過例如Robot Framework框架編寫測試平臺,調(diào)用測試模塊對待測試的參數(shù)請求鏈接進行測試。其中,Robot Framework是一款Python編寫的功能自動化測試框架,其具備良好的可擴展性,支持關(guān)鍵字驅(qū)動,可以同時測試多種類型的客戶端或者接口,可以進行分布式測試執(zhí)行。
此外,還可以通過Jenkins監(jiān)控持續(xù)集成的情況。待測試的系統(tǒng)的代碼進行更新的情況下,觸發(fā)各參數(shù)請求鏈接對應(yīng)的業(yè)務(wù)請求鏈接,以獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接。在系統(tǒng)的修改比較頻繁的情況下,可以節(jié)省大量的測試時間。其中,Jenkins是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,功能可以包括持續(xù)的軟件版本發(fā)布/測試項目,以及監(jiān)控外部調(diào)用執(zhí)行的工作。
本發(fā)明實施例的參數(shù)替換測試方法,根據(jù)參數(shù)替換邏輯對參數(shù)請求鏈接包括的待替換的宏參數(shù)進行參數(shù)替換,生成包括替換參數(shù)的參數(shù)返回鏈接,并根據(jù)各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行,能夠提高參數(shù)替換邏輯的測試效率。
進一步地,本發(fā)明實施例的參數(shù)替換測試方法,可以應(yīng)用于對各種類型的參數(shù)替換邏輯進行測試,能夠模擬大量的參數(shù)替換場景,增加了測試的覆蓋率,保證了參數(shù)替換邏輯的質(zhì)量。
進一步地,在系統(tǒng)的代碼進行更新的情況下,可以對與系統(tǒng)存在交互的各第三方發(fā)送的參數(shù)請求鏈接進行測試,能夠極大提高測試效率,縮短回歸測試時間,消除代碼更新對參數(shù)替換邏輯的影響。
實施例2
圖8示出根據(jù)本發(fā)明另一實施例的參數(shù)替換測試裝置的結(jié)構(gòu)框圖。如圖8所示,該參數(shù)替換測試裝置,主要包括:獲取模塊11,用于獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接。替換模塊13,與所述獲取模塊11連接,用于根據(jù)參數(shù)替換邏輯,分別對各參數(shù)請求鏈接包括的宏參數(shù)進行參數(shù)替換,得到包括替換參數(shù)的各參數(shù)返回鏈接。比較模塊15,與所述替換模塊13連接,用于將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,得到所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果。確定模塊17,與所述比較模塊15連接,用于根據(jù)所述各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行。具體原理和示例可以參見實施例1以及圖1的相關(guān)描述。
在一種可能的實現(xiàn)方式中,如圖9所示,所述替換模塊13,包括:查找單元131,用于分別查找到各參數(shù)請求鏈接包括的宏參數(shù)對應(yīng)的標(biāo)識信息。替換單元133,與所述查找單元131連接,用于根據(jù)參數(shù)替換邏輯和所述標(biāo)識信息,將各參數(shù)請求鏈接包括的宏參數(shù)替換為替換參數(shù),得到包括替換參數(shù)的各參數(shù)返回鏈接。具體原理和示例可以參見實施例1以及圖2的相關(guān)描述。
在一種可能的實現(xiàn)方式中,如圖10所示,所述比較模塊15,包括:第一比較單元151,用于將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)相同的情況下,所述替換結(jié)果為替換成功;和/或,第二比較單元153,用于將所述各參數(shù)返回鏈接包括的替換參數(shù)與參數(shù)替換邏輯對應(yīng)的預(yù)設(shè)參數(shù)進行比較,在所述替換參數(shù)與所述預(yù)設(shè)參數(shù)不相同的情況下,所述替換結(jié)果為替換失敗。具體原理和示例可以參見實施例1以及圖3的相關(guān)描述。
在一種可能的實現(xiàn)方式中,如圖11所示,所述確定模塊17,包括:第一確定單元171,用于在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果為替換成功的情況下,所述參數(shù)替換邏輯能夠正常運行;和/或,第二確定單元173,用于在各參數(shù)返回鏈接對應(yīng)的替換結(jié)果存在替換失敗的情況下,所述參數(shù)替換邏輯不能夠正常運行。具體原理和示例可以參見實施例1以及圖4、圖5和圖6的相關(guān)描述。
在一種可能的實現(xiàn)方式中,所述獲取模塊,具體用于在發(fā)現(xiàn)待測試的系統(tǒng)的代碼進行更新的情況下,觸發(fā)各參數(shù)請求鏈接對應(yīng)的業(yè)務(wù)請求鏈接,以獲取至少一個包括待替換的宏參數(shù)的參數(shù)請求鏈接。具體原理和示例可以參見實施例1以及圖7的相關(guān)描述。
本發(fā)明實施例的參數(shù)替換測試裝置,根據(jù)參數(shù)替換邏輯對參數(shù)請求鏈接包括的待替換的宏參數(shù)進行參數(shù)替換,生成包括替換參數(shù)的參數(shù)返回鏈接,并根據(jù)各參數(shù)返回鏈接對應(yīng)的替換結(jié)果,確定所述參數(shù)替換邏輯是否能夠正常運行,能夠提高參數(shù)替換邏輯的測試效率。
進一步地,本發(fā)明實施例的參數(shù)替換測試裝置,可以應(yīng)用于對各種類型的參數(shù)替換邏輯進行測試,能夠模擬大量的參數(shù)替換場景,增加了測試的覆蓋率,保證了參數(shù)替換邏輯的質(zhì)量。
進一步地,在系統(tǒng)的代碼進行更新的情況下,可以對與系統(tǒng)存在交互的各第三方發(fā)送的參數(shù)請求鏈接進行測試,能夠極大提高測試效率,縮短回歸測試時間,消除代碼更新對參數(shù)替換邏輯的影響。
實施例3
圖12示出根據(jù)本發(fā)明另一實施例的參數(shù)替換測試設(shè)備的結(jié)構(gòu)框圖。所述參數(shù)替換測試設(shè)備1100可以是具備計算能力的主機服務(wù)器、個人計算機PC、或者可攜帶的便攜式計算機或終端等。本發(fā)明具體實施例并不對計算節(jié)點的具體實現(xiàn)做限定。
所述參數(shù)替換測試設(shè)備1100包括處理器(processor)1110、通信接口(Communications Interface)1120、存儲器(memory)1130和總線1140。其中,處理器1110、通信接口1120、以及存儲器1130通過總線1140完成相互間的通信。
通信接口1120用于與網(wǎng)絡(luò)設(shè)備通信,其中網(wǎng)絡(luò)設(shè)備包括例如虛擬機管理中心、共享存儲等。
處理器1110用于執(zhí)行程序。處理器1110可能是一個中央處理器CPU,或者是專用集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
存儲器1130用于存放文件。存儲器1130可能包括高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1130也可以是存儲器陣列。存儲器1130還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。
在一種可能的實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于:實現(xiàn)實施例1中的各步驟。
本領(lǐng)域普通技術(shù)人員可以意識到,本文所描述的實施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件形式來實現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以針對特定的應(yīng)用選擇不同的方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
如果以計算機軟件的形式來實現(xiàn)所述功能并作為獨立的產(chǎn)品銷售或使用時,則在一定程度上可認為本發(fā)明的技術(shù)方案的全部或部分(例如對現(xiàn)有技術(shù)做出貢獻的部分)是以計算機軟件產(chǎn)品的形式體現(xiàn)的。該計算機軟件產(chǎn)品通常存儲在計算機可讀取的非易失性存儲介質(zhì)中,包括若干指令用以使得計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各實施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準(zhǔn)。