欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

代碼測試方法、裝置和計(jì)算機(jī)設(shè)備與流程

文檔序號:11286166閱讀:270來源:國知局
代碼測試方法、裝置和計(jì)算機(jī)設(shè)備與流程

本申請涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種代碼測試方法、裝置和計(jì)算機(jī)設(shè)備。



背景技術(shù):

對于提供接口的服務(wù),接口的輸出相對穩(wěn)定,但由于代碼會(huì)頻繁改動(dòng),因此一般采用diffy來對代碼進(jìn)行測試,diffy是一種開源的自動(dòng)化測試工具,可以通過搭建自己的環(huán)境,對接收到的請求結(jié)果進(jìn)行分析。

特別是在代碼重構(gòu)中,diffy測試能快速通過返回結(jié)果的差異來推斷代碼存在問題,并且通過構(gòu)造大量請求串(query)可以覆蓋大部分業(yè)務(wù)邏輯,從而驗(yàn)證代碼的正確性。

但是,現(xiàn)有相關(guān)技術(shù)中,對于如何快速并直觀地發(fā)現(xiàn)上述返回結(jié)果的差異并未提供相應(yīng)的解決方案。



技術(shù)實(shí)現(xiàn)要素:

本申請的實(shí)施例提供一種代碼測試方法、裝置和計(jì)算機(jī)設(shè)備,可以實(shí)現(xiàn)在diffy界面中,快速直觀地發(fā)現(xiàn)同步線上環(huán)境和新代碼環(huán)境返回結(jié)果的差異,減少人工再次對比的重復(fù)勞動(dòng),在批量測試中更高效,并且可以避免人工對比存在的遺漏。

為達(dá)到上述目的,本申請的實(shí)施例采用如下技術(shù)方案:

第一方面,本申請實(shí)施例提供一種代碼測試方法,包括:

根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供所述同步線上環(huán)境和所述新代碼環(huán)境運(yùn)行所述至少兩個(gè)請求串;

獲取所述同步線上環(huán)境和所述新代碼環(huán)境運(yùn)行所述至少兩個(gè)請求串的結(jié)果;

將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供所述測試平臺(tái)運(yùn)行所述特定結(jié)果對應(yīng)的請求串;

在所述測試平臺(tái)的界面展示所述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,根據(jù)所述運(yùn)行結(jié)果確定所述新代碼存在的缺陷。

其中在一種實(shí)施方式中,所述根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址包括:

根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將所述測試腳本中攜帶的至少兩個(gè)請求串文件名所指示的至少兩個(gè)請求串,分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址。

其中在一種實(shí)施方式中,所述在所述測試平臺(tái)的界面展示所述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果包括:

在所述測試平臺(tái)的界面中,以特定的方式展示所述同步線上環(huán)境和所述新代碼環(huán)境運(yùn)行所述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,并且在所述測試平臺(tái)的界面中展示的所述差異是去噪聲后的。

其中在一種實(shí)施方式中,所述根據(jù)所述運(yùn)行結(jié)果確定所述新代碼存在的缺陷包括:根據(jù)展示的差異確定所述新代碼存在的缺陷。

第二方面,本申請實(shí)施例提供一種代碼測試裝置,包括:

發(fā)送模塊,用于根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供所述同步線上環(huán)境和所述新代碼環(huán)境運(yùn)行所述至少兩個(gè)請求串;

獲取模塊,用于獲取所述同步線上環(huán)境和所述新代碼環(huán)境運(yùn)行所述至少兩個(gè)請求串的結(jié)果;

所述發(fā)送模塊,還用于將所述獲取模塊獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供所述測試平臺(tái)運(yùn)行所述特定結(jié)果對應(yīng)的請求串;

展示模塊,用于在所述測試平臺(tái)的界面展示所述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果;

確定模塊,用于根據(jù)所述展示模塊展示的運(yùn)行結(jié)果確定所述新代碼存在的缺陷。

其中在一種實(shí)施方式中,還包括:

所述發(fā)送模塊,具體用于根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將所述測試腳本中攜帶的至少兩個(gè)請求串文件名所指示的至少兩個(gè)請求串,分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址。

其中在一種實(shí)施方式中,還包括:

所述展示模塊,具體用于在所述測試平臺(tái)的界面中,以特定的方式展示所述同步線上環(huán)境和所述新代碼環(huán)境運(yùn)行所述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,并且在所述測試平臺(tái)的界面中展示的所述差異是去噪聲后的。

其中在一種實(shí)施方式中,還包括:

所述確定模塊,具體用于根據(jù)所述展示模塊展示的差異確定所述新代碼存在的缺陷。

第三方面,本申請實(shí)施例提供一種計(jì)算機(jī)設(shè)備,包括:

一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序;當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如上所述的方法。

第四方面,本申請實(shí)施例提供一種包含計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)用于執(zhí)行如上所述的方法。

本申請實(shí)施例提供的代碼測試方法、裝置和計(jì)算機(jī)設(shè)備中,根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串,獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果,然后將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串,最后在上述測試平臺(tái)的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,根據(jù)上述運(yùn)行結(jié)果確定上述新代碼存在的缺陷,從而可以實(shí)現(xiàn)在diffy界面中,快速直觀地發(fā)現(xiàn)同步線上環(huán)境和新代碼環(huán)境返回結(jié)果的差異,減少人工再次對比的重復(fù)勞動(dòng),在批量測試中更高效,并且可以避免人工對比存在的遺漏。

附圖說明

為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本申請代碼測試方法一個(gè)實(shí)施例的流程圖;

圖2為本申請代碼測試方法另一個(gè)實(shí)施例的流程圖;

圖3為本申請代碼測試方法再一個(gè)實(shí)施例的流程圖;

圖4為本申請代碼測試方法再一個(gè)實(shí)施例的流程圖;

圖5為本申請代碼測試裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;

圖6為本申請計(jì)算機(jī)設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。

本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨(dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。

圖1為本申請代碼測試方法一個(gè)實(shí)施例的流程圖,如圖1所示,上述代碼測試方法可以包括:

步驟101,根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串。

本實(shí)施例中,在服務(wù)器端的功能測試中,首先,部署兩套環(huán)境,一套是同步線上環(huán)境,即與線上環(huán)境同步的環(huán)境,另一套是新代碼環(huán)境。

上述兩套環(huán)境的統(tǒng)一資源定位符(uniformresourcelocator;以下簡稱:url)地址攜帶在測試腳本中,在運(yùn)行上述測試腳本的時(shí)候,就可以根據(jù)上述測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,分別將至少兩個(gè)請求串發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址。

本實(shí)施例中,發(fā)送到同步線上環(huán)境的至少兩個(gè)請求串所請求的內(nèi)容與發(fā)送到新代碼環(huán)境的至少兩個(gè)請求串所請求的內(nèi)容是相同的。

步驟102,獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果。

本實(shí)施例中,在上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串之后,服務(wù)器可以獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果。

步驟103,將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串。

本實(shí)施例中,服務(wù)器獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果之后,遍歷獲取的結(jié)果,然后將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),再由上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串。

在本實(shí)施例中,服務(wù)器可以在將獲取的結(jié)果遍歷完畢之后,將上述獲取的結(jié)果中所有特定結(jié)果對應(yīng)的請求串一并發(fā)送到上述測試平臺(tái);或者服務(wù)器可以在遍歷獲取的結(jié)果的過程中,每發(fā)現(xiàn)一個(gè)特定結(jié)果,就將上述特定結(jié)果對應(yīng)的請求串發(fā)送到上述測試平臺(tái);或者,服務(wù)器還可以在遍歷獲取的結(jié)果的過程中,發(fā)現(xiàn)預(yù)定數(shù)量的特定結(jié)果之后,將上述預(yù)定數(shù)量的特定結(jié)果對應(yīng)的請求串發(fā)送到上述測試平臺(tái),其中,上述預(yù)定數(shù)量可以自行設(shè)定,本實(shí)施例對此不作限定;當(dāng)然,服務(wù)器還可以采用其他的方式將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),本實(shí)施例對此不作限定。

其中,上述特定結(jié)果可以為單一廣告(advertisements;以下簡稱:ads)結(jié)果,也可以為多個(gè)ads結(jié)果,或者廣告優(yōu)先級的結(jié)果,也可以為其他的結(jié)果,本實(shí)施例對此不作限定,本實(shí)施例以上述特定結(jié)果為單一ads結(jié)果為例進(jìn)行說明。

上述測試平臺(tái)可以為開源測試平臺(tái),例如:diffy,也可以為其他的測試平臺(tái),本實(shí)施例對此不作限定,但本實(shí)施例以上述測試平臺(tái)為diffy為例進(jìn)行說明。

步驟104,在上述測試平臺(tái)的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,根據(jù)上述運(yùn)行結(jié)果確定上述新代碼存在的缺陷。

本實(shí)施例中,在diffy運(yùn)行上述特定結(jié)果對應(yīng)的請求串之后,可以在diffy的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,這樣,根據(jù)上述運(yùn)行結(jié)果就可以確定上述新代碼存在的缺陷。

上述代碼測試方法中,根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串,獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果,然后將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串,最后在上述測試平臺(tái)的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,根據(jù)上述運(yùn)行結(jié)果確定上述新代碼存在的缺陷,從而可以實(shí)現(xiàn)在diffy界面中,快速直觀地發(fā)現(xiàn)同步線上環(huán)境和新代碼環(huán)境返回結(jié)果的差異,減少人工再次對比的重復(fù)勞動(dòng),在批量測試中更高效,并且可以避免人工對比存在的遺漏。

圖2為本申請代碼測試方法另一個(gè)實(shí)施例的流程圖,如圖2所示,本申請圖1所示實(shí)施例,步驟101可以為:

步驟201,根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將上述測試腳本中攜帶的至少兩個(gè)請求串文件名所指示的至少兩個(gè)請求串,分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串。

也就是說,本實(shí)施例中,將上述至少兩個(gè)請求串文件名作為一個(gè)參數(shù)“query.info”攜帶在上述測試腳本中,這樣在運(yùn)行測試腳本的過程中,就可以將上述參數(shù)“query.info”所指示的至少兩個(gè)請求串,分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址。

圖3為本申請代碼測試方法再一個(gè)實(shí)施例的流程圖,如圖3所示,本申請圖1所示實(shí)施例步驟104中,在上述測試平臺(tái)的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果可以為:

步驟301,在上述測試平臺(tái)的界面中,以特定的方式展示上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,并且在上述測試平臺(tái)的界面中展示的上述差異是去噪聲后的。

本實(shí)施例中,上述測試平臺(tái)將上述特定結(jié)果對應(yīng)的請求串運(yùn)行兩次,如果兩次獲得的運(yùn)行結(jié)果不一致,則可以確定上述運(yùn)行結(jié)果中存在噪聲,于是上述測試平臺(tái)可以在展示上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異時(shí),去除上述運(yùn)行結(jié)果中的噪聲。

其中,上述特定的方式可以為高亮顯示,也可以使用特定的顏色標(biāo)出顯示(例如:標(biāo)黃顯示),本實(shí)施例對展示差異的方式不作限定,本實(shí)施例以高亮顯示為例進(jìn)行說明。

本實(shí)施例中,在diffy運(yùn)行上述特定結(jié)果對應(yīng)的請求串之后,可以在diffy界面中展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,并高亮展示上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,并且在上述測試平臺(tái)的界面中展示的上述差異是去噪聲后的,這樣,測試人員就可以很明顯看出上述同步線上環(huán)境和上述新代碼環(huán)境對于上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果的差異。

這樣,步驟104中,根據(jù)上述運(yùn)行結(jié)果確定上述新代碼存在的缺陷可以為:

步驟302,根據(jù)展示的差異確定上述新代碼存在的缺陷。

由于上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,在diffy界面中被高亮展示出來,并且在上述測試平臺(tái)的界面中展示的上述差異是去噪聲后的,測試人員可以快速直觀地發(fā)現(xiàn)這些差異,進(jìn)一步可以根據(jù)上述差異確定上述新代碼存在的缺陷(bug),在發(fā)現(xiàn)問題的同時(shí)可以減少人工再次對比的重復(fù)勞動(dòng),在批量測試中更高效,并且可以避免人工對比存在的遺漏。

結(jié)合上述描述,本申請可以提供一種代碼測試方法,圖4為本申請代碼測試方法再一個(gè)實(shí)施例的流程圖,如圖4所示,可以包括:

步驟401,根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將上述測試腳本中攜帶的至少兩個(gè)請求串文件名所指示的至少兩個(gè)請求串,分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串。

步驟402,獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果。

步驟403,將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串。

步驟404,在上述測試平臺(tái)的界面中,以特定的方式展示上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異。

步驟405,根據(jù)展示的差異確定上述新代碼存在的缺陷。

上述代碼測試方法可以實(shí)現(xiàn)在diffy界面中,快速直觀地發(fā)現(xiàn)同步線上環(huán)境和新代碼環(huán)境返回結(jié)果的差異,減少人工再次對比的重復(fù)勞動(dòng),在批量測試中更高效,并且可以避免人工對比存在的遺漏。

圖5為本申請代碼測試裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例中的代碼測試裝置可以作為服務(wù)器,或者服務(wù)器的一部分實(shí)現(xiàn)本申請實(shí)施例提供的代碼測試方法,如圖5所示,上述代碼測試裝置可以包括:發(fā)送模塊51、獲取模塊52、展示模塊53和確定模塊54;

其中,發(fā)送模塊51,用于根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串;

本實(shí)施例中,在服務(wù)器端的功能測試中,首先,部署兩套環(huán)境,一套是同步線上環(huán)境,即與線上環(huán)境同步的環(huán)境,另一套是新代碼環(huán)境。

上述兩套環(huán)境的url地址攜帶在測試腳本中,在運(yùn)行上述測試腳本的時(shí)候,發(fā)送模塊51就可以根據(jù)上述測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,分別將至少兩個(gè)請求串發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址。

本實(shí)施例中,發(fā)送模塊51發(fā)送到同步線上環(huán)境的至少兩個(gè)請求串所請求的內(nèi)容與發(fā)送到新代碼環(huán)境的至少兩個(gè)請求串所請求的內(nèi)容是相同的。

獲取模塊52,用于獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果;本實(shí)施例中,在上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串之后,獲取模塊52可以獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果。

發(fā)送模塊51,還用于將獲取模塊52獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串;本實(shí)施例,獲取模塊52獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果之后,發(fā)送模塊51遍歷獲取的結(jié)果,然后將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),再由上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串。

在本實(shí)施例中,發(fā)送模塊51可以在將獲取的結(jié)果遍歷完畢之后,將上述獲取的結(jié)果中所有特定結(jié)果對應(yīng)的請求串一并發(fā)送到上述測試平臺(tái);或者發(fā)送模塊51可以在遍歷獲取的結(jié)果的過程中,每發(fā)現(xiàn)一個(gè)特定結(jié)果,就將上述特定結(jié)果對應(yīng)的請求串發(fā)送到上述測試平臺(tái);或者,發(fā)送模塊51還可以在遍歷獲取的結(jié)果的過程中,發(fā)現(xiàn)預(yù)定數(shù)量的特定結(jié)果之后,將上述預(yù)定數(shù)量的特定結(jié)果對應(yīng)的請求串發(fā)送到上述測試平臺(tái),其中,上述預(yù)定數(shù)量可以自行設(shè)定,本實(shí)施例對此不作限定;當(dāng)然,發(fā)送模塊51還可以采用其他的方式將獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),本實(shí)施例對此不作限定。

其中,上述特定結(jié)果可以為單一ads結(jié)果,也可以為其他的結(jié)果,例如:上述特定結(jié)果也可以為多個(gè)ads結(jié)果,或者廣告優(yōu)先級的結(jié)果,本實(shí)施例對此不作限定,本實(shí)施例以上述特定結(jié)果為單一ads結(jié)果為例進(jìn)行說明。

上述測試平臺(tái)可以為開源測試平臺(tái),例如:diffy,也可以為其他的測試平臺(tái),本實(shí)施例對此不作限定,但本實(shí)施例以上述測試平臺(tái)為diffy為例進(jìn)行說明。

本實(shí)施例中,發(fā)送模塊51,具體用于根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將上述測試腳本中攜帶的至少兩個(gè)請求串文件名所指示的至少兩個(gè)請求串,分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址。

也就是說,本實(shí)施例中,將上述至少兩個(gè)請求串文件名作為一個(gè)參數(shù)“query.info”攜帶在上述測試腳本中,這樣在運(yùn)行測試腳本的過程中,發(fā)送模塊51就可以將上述參數(shù)“query.info”所指示的至少兩個(gè)請求串,分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址。

展示模塊53,用于在上述測試平臺(tái)的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果;本實(shí)施例中,展示模塊53,具體用于在上述測試平臺(tái)的界面中,以特定的方式展示上述同步線上環(huán)境和所述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,并且在上述測試平臺(tái)的界面中展示的上述差異是去噪聲后的。

具體地,上述測試平臺(tái)將上述特定結(jié)果對應(yīng)的請求串運(yùn)行兩次,如果兩次獲得的運(yùn)行結(jié)果不一致,則可以確定上述運(yùn)行結(jié)果中存在噪聲,于是展示模塊53可以在展示上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異時(shí),去除上述運(yùn)行結(jié)果中的噪聲。

其中,上述特定的方式可以為高亮顯示,也可以使用特定的顏色標(biāo)出顯示(例如:標(biāo)黃顯示),本實(shí)施例對展示差異的方式不作限定,本實(shí)施例以高亮顯示為例進(jìn)行說明。

本實(shí)施例中,在diffy運(yùn)行上述特定結(jié)果對應(yīng)的請求串之后,展示模塊53可以在diffy界面中展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,并高亮展示上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,并且在上述測試平臺(tái)的界面中展示的上述差異是去噪聲后的,這樣,測試人員就可以很明顯看出上述同步線上環(huán)境和上述新代碼環(huán)境對于上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果的差異。

確定模塊54,用于根據(jù)展示模塊53展示的運(yùn)行結(jié)果確定上述新代碼存在的缺陷。本實(shí)施例中,確定模塊54,具體用于根據(jù)展示模塊53展示的差異確定上述新代碼存在的缺陷。

具體地,在diffy運(yùn)行上述特定結(jié)果對應(yīng)的請求串之后,可以在diffy的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,這樣,根據(jù)上述運(yùn)行結(jié)果就可以確定上述新代碼存在的缺陷。

由于上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述特定結(jié)果對應(yīng)的請求串的結(jié)果的差異,在diffy界面中被高亮展示出來,并且在上述測試平臺(tái)的界面中展示的上述差異是去噪聲后的,測試人員可以快速直觀地發(fā)現(xiàn)這些差異,進(jìn)一步可以根據(jù)上述差異確定上述新代碼存在的缺陷(bug),在發(fā)現(xiàn)問題的同時(shí)可以減少人工再次對比的重復(fù)勞動(dòng),在批量測試中更高效,并且可以避免人工對比存在的遺漏。

上述代碼測試裝置中,發(fā)送模塊51根據(jù)測試腳本中同步線上環(huán)境的地址和新代碼環(huán)境的地址,將至少兩個(gè)請求串分別發(fā)送到同步線上環(huán)境的地址和新代碼環(huán)境的地址,以供上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串,獲取模塊52獲取上述同步線上環(huán)境和上述新代碼環(huán)境運(yùn)行上述至少兩個(gè)請求串的結(jié)果,然后發(fā)送模塊51將獲取模塊52獲取的結(jié)果中特定結(jié)果對應(yīng)的請求串發(fā)送到測試平臺(tái),以供上述測試平臺(tái)運(yùn)行上述特定結(jié)果對應(yīng)的請求串,最后展示模塊53在上述測試平臺(tái)的界面展示上述特定結(jié)果對應(yīng)的請求串的運(yùn)行結(jié)果,確定模塊54根據(jù)上述運(yùn)行結(jié)果確定上述新代碼存在的缺陷,從而可以實(shí)現(xiàn)在diffy界面中,快速直觀地發(fā)現(xiàn)同步線上環(huán)境和新代碼環(huán)境返回結(jié)果的差異,減少人工再次對比的重復(fù)勞動(dòng),在批量測試中更高效,并且可以避免人工對比存在的遺漏。

圖6為本申請計(jì)算機(jī)設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例中的計(jì)算機(jī)設(shè)備可以作為服務(wù)器實(shí)現(xiàn)本申請實(shí)施例提供的代碼測試方法,上述計(jì)算機(jī)設(shè)備可以包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序;當(dāng)上述一個(gè)或多個(gè)程序被上述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得上述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本申請實(shí)施例提供的代碼測試方法。

圖6示出了適于用來實(shí)現(xiàn)本申請實(shí)施方式的示例性計(jì)算機(jī)設(shè)備12的框圖。圖6顯示的計(jì)算機(jī)設(shè)備12僅僅是一個(gè)示例,不應(yīng)對本申請實(shí)施例的功能和使用范圍帶來任何限制。

如圖6所示,計(jì)算機(jī)設(shè)備12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)設(shè)備12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18。

總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(industrystandardarchitecture;以下簡稱:isa)總線,微通道體系結(jié)構(gòu)(microchannelarchitecture;以下簡稱:mac)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(videoelectronicsstandardsassociation;以下簡稱:vesa)局域總線以及外圍組件互連(peripheralcomponentinterconnection;以下簡稱:pci)總線。

計(jì)算機(jī)設(shè)備12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)設(shè)備12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。

系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(randomaccessmemory;以下簡稱:ram)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)設(shè)備12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖6未顯示,通常稱為“硬盤驅(qū)動(dòng)器”)。盡管圖6中未示出,可以提供用于對可移動(dòng)非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動(dòng)器,以及對可移動(dòng)非易失性光盤(例如:光盤只讀存儲(chǔ)器(compactdiscreadonlymemory;以下簡稱:cd-rom)、數(shù)字多功能只讀光盤(digitalvideodiscreadonlymemory;以下簡稱:dvd-rom)或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本申請各實(shí)施例的功能。

具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本申請所描述的實(shí)施例中的功能和/或方法。

計(jì)算機(jī)設(shè)備12也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)設(shè)備12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)設(shè)備12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口22進(jìn)行。并且,計(jì)算機(jī)設(shè)備12還可以通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖6所示,網(wǎng)絡(luò)適配器20通過總線18與計(jì)算機(jī)設(shè)備12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖6中未示出,可以結(jié)合計(jì)算機(jī)設(shè)備12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、raid系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。

處理單元16通過運(yùn)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實(shí)現(xiàn)本申請實(shí)施例提供的代碼測試方法。

本申請還提供一種包含計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì),上述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)用于執(zhí)行本申請圖1~圖4所示實(shí)施例提供的代碼測試方法。

上述計(jì)算機(jī)可執(zhí)行指令的存儲(chǔ)介質(zhì)可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(readonlymemory;以下簡稱:rom)、可擦式可編程只讀存儲(chǔ)器(erasableprogrammablereadonlymemory;以下簡稱:eprom)或閃存、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(cd-rom)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。

計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。

計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、rf等等,或者上述的任意合適的組合。

可以以一種或多種程序設(shè)計(jì)語言或其組合來編寫用于執(zhí)行本申請操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設(shè)計(jì)語言—諸如“c”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(localareanetwork;以下簡稱:lan)或廣域網(wǎng)(wideareanetwork;以下簡稱:wan)連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。

在本申請實(shí)施例中使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請。在本申請實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本申請實(shí)施例中可能采用術(shù)語“第一”、“第二”、“第三”等來描述各種連接端口和標(biāo)識(shí)信息等,但這些連接端口和標(biāo)識(shí)信息等不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將連接端口和標(biāo)識(shí)信息等彼此區(qū)分開。例如,在不脫離本申請實(shí)施例范圍的情況下,第一連接端口也可以被稱為第二連接端口,類似地,第二連接端口也可以被稱為第一連接端口。

取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(陳述的條件或事件)”。

通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。

在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本申請各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(readonlymemory;以下簡稱:rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory;以下簡稱:ram)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述,僅為本申請的具體實(shí)施方式,但本申請的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本申請揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本申請的保護(hù)范圍之內(nèi)。因此,本申請的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
珠海市| 抚松县| 扎鲁特旗| 新兴县| 松潘县| 平原县| 寿阳县| 仙桃市| 崇州市| 勃利县| 蓬溪县| 张掖市| 娱乐| 西昌市| 杭锦旗| 屏东市| 渝中区| 遵义市| 巢湖市| 新野县| 宁阳县| 荣成市| 浦东新区| 祁连县| 拉萨市| 临城县| 嘉义县| 奎屯市| 阜平县| 沙湾县| 宁化县| 黔南| 兴和县| 武义县| 和林格尔县| 禄劝| 通许县| 化州市| 交城县| 平塘县| 阿拉善盟|