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