亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種混合接口性能測試方法和裝置的制造方法

文檔序號:10654413閱讀:233來源:國知局
一種混合接口性能測試方法和裝置的制造方法
【專利摘要】本發(fā)明公開了一種混合接口性能測試方法和裝置,包括接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中;根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中;當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息;根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù);讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。因此,所述混合接口性能測試方法和裝置解決現(xiàn)有性能測試工具無法實現(xiàn)對線上服務(wù)的各個接口按照實際訪問量占比壓測的問題。
【專利說明】
一種混合接口性能測試方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別是指一種混合接口性能測試方法和裝置。
【背景技術(shù)】
[0002]目前,性能測試小工具采用python的gevent網(wǎng)絡(luò)庫框架,實現(xiàn)了混合接口指定并發(fā)次數(shù)的性能測試。其中,gevent實現(xiàn)了的一種協(xié)線程機(jī)制,多個事物在一個線程完成,可以設(shè)置協(xié)程的切換點,協(xié)程也可以自行切換,不需要等待10。
[0003]但在現(xiàn)有技術(shù)中,針對線上接口服務(wù)在一時間段內(nèi)各個接口按照訪問量占比壓測需求,只能按照固定比例壓測混合接口服務(wù),測試結(jié)果接口壓測占比不能完全和線上真正壓測比例對應(yīng)。

【發(fā)明內(nèi)容】

[0004]有鑒于此,本發(fā)明的目的在于提出一種混合接口性能測試方法和裝置,解決現(xiàn)有性能測試工具無法實現(xiàn)對線上服務(wù)的各個接口按照實際訪問量占比壓測的問題。
[0005]基于上述目的本發(fā)明提供混合接口性能測試方法,包括步驟:
[0006]接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中;根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中;其中,所述測試指令包括向至少兩個接口的測試數(shù)據(jù);
[0007]當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息;
[0008]根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù);
[0009]讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。
[0010]在一些實施例中,讀取所述測試數(shù)據(jù)之后,還包括:
[0011]將所述測試數(shù)據(jù)進(jìn)行拆分,獲得至少兩個接口的測試請求,并且每個接口的測試請求包括接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù);
[0012]根據(jù)所述至少兩個接口的測試請求,分別向指定的接口發(fā)送測試請求。
[0013]在一些實施例中,根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)之后,還包括:
[0014]根據(jù)測試數(shù)據(jù)的字段,判斷所述測試數(shù)據(jù)是否完整;
[0015]根據(jù)判斷結(jié)果,若完整則讀取所述測試數(shù)據(jù);若不完整則將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為無法測試,不執(zhí)行所述測試指令。
[0016]在一些實施例中,獲取所述指定接口返回的數(shù)據(jù)之后,還包括:
[0017]將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為完成測試;
[0018]將所述返回的數(shù)據(jù)存儲到預(yù)設(shè)的結(jié)果數(shù)據(jù)庫中;其中,所述結(jié)果數(shù)據(jù)庫中存儲有測試指令信息與執(zhí)行所述測試指令返回的數(shù)據(jù)的對應(yīng)關(guān)系。
[0019]在一些實施例中,所述測試消息包括測試指令名稱、開始時間以及完成時間;提取所述測試消息之后,還包括:
[0020]獲取所述測試消息中的開始時間,啟動監(jiān)測進(jìn)程;
[0021]當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,獲取完成時間,并按照所述完成時間執(zhí)行所述測試消息。
[0022]在另一方面,本發(fā)明還提供了一種混合接口性能測試裝置,包括:
[0023]消息生成單元,用于接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中;根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中;其中,所述測試指令包括向至少兩個接口的測試數(shù)據(jù);
[0024]測試數(shù)據(jù)獲取單元,用于當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息;根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù);
[0025]測試執(zhí)行單元,用于讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。
[0026]在一些實施例中,所述測試執(zhí)行單元讀取所述測試數(shù)據(jù)之后,還用于:
[0027]將所述測試數(shù)據(jù)進(jìn)行拆分,獲得至少兩個接口的測試請求,并且每個接口的測試請求包括接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù);
[0028]根據(jù)所述至少兩個接口的測試請求,分別向指定的接口發(fā)送測試請求。
[0029]在一些實施例中,所述測試執(zhí)行單元根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)之后,還用于:
[0030]根據(jù)測試數(shù)據(jù)的字段,判斷所述測試數(shù)據(jù)是否完整;
[0031]根據(jù)判斷結(jié)果,若完整則讀取所述測試數(shù)據(jù);若不完整則將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為無法測試,不執(zhí)行所述測試指令。
[0032]在一些實施例中,所述測試執(zhí)行單元獲取所述指定接口返回的數(shù)據(jù)之后,還用于:
[0033]將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為完成測試;
[0034]將所述返回的數(shù)據(jù)存儲到預(yù)設(shè)的結(jié)果數(shù)據(jù)庫中;其中,所述結(jié)果數(shù)據(jù)庫中存儲有測試指令信息與執(zhí)行所述測試指令返回的數(shù)據(jù)的對應(yīng)關(guān)系。
[0035]在一些實施例中,所述測試消息包括測試指令名稱、開始時間以及完成時間;所述測試執(zhí)行單元提取所述測試消息之后,還用于:
[0036]獲取所述測試消息中的開始時間,啟動監(jiān)測進(jìn)程;
[0037]當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,獲取完成時間,并按照所述完成時間執(zhí)行所述測試消息。
[0038]從上面所述可以看出,本發(fā)明提供的混合接口性能測試方法和裝置,通過接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中;根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中。當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)。之后,讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。從而,本發(fā)明能夠?qū)崿F(xiàn)按照實際線上接口服務(wù)的需求進(jìn)行測試,做到混合接口的壓測占比基本符合線上服務(wù)真實請求比例。
【附圖說明】
[0039]圖1為本發(fā)明第一實施例中混合接口性能測試方法流程示意圖;
[0040]圖2為本發(fā)明可參考實施例中混合接口性能測試方法流程示意圖;
[0041]圖3為本發(fā)明實施例中混合接口性能測試裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0042]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
[0043]需要說明的是,本發(fā)明實施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個相同名稱非相同的實體或者非相同的參量,可見“第一” “第二”僅為了表述的方便,不應(yīng)理解為對本發(fā)明實施例的限定,后續(xù)實施例對此不再一一說明。
[0044]參閱圖1所示,為本發(fā)明第一實施例中混合接口性能測試方法流程示意圖,可以應(yīng)用于服務(wù)器端,所述混合接口性能測試方法包括:
[0045]步驟101,接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中。
[0046]在實施例中,可以接收各個終端發(fā)送的測試指令。其中,所述的測試指令包括向至少兩個接口的測試數(shù)據(jù),即一個測試指令可以包括混合接口的測試任務(wù)。較佳地,通過解析測試指令可以獲得注冊成功的用戶通過終端設(shè)置的測試數(shù)據(jù)??梢钥闯?,在實施例中的測試數(shù)據(jù)是由用戶動態(tài)設(shè)置的,不是預(yù)設(shè)、固有的。因此,根據(jù)接口的不同服務(wù)情況,可以動態(tài)設(shè)置其測試的數(shù)據(jù)。
[0047]優(yōu)選地,可以將所述測試指令的名稱以及解析得到的測試數(shù)據(jù)一起存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中。其中,所述的測試數(shù)據(jù)庫為預(yù)先設(shè)置,并專門存儲每個測試指令的測試數(shù)據(jù)。
[0048]步驟102,根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中。
[0049]作為一個實施例,可以根據(jù)所述的測試指令生成測試消息,而所述的測試消息可以包括測試指令名稱、開始時間以及完成時間。其中,所述測試指令具有唯一的測試指令名稱。所述的開始時間為執(zhí)行所述測試消息的開始時間,而所述的完成時間是規(guī)定了必須在到達(dá)該完成時間點之前執(zhí)行完所述測試指令。較佳地,所述的開始時間和完成時間從測試指令中獲得,即可以由用戶自己設(shè)置。當(dāng)然,也可以預(yù)先設(shè)置好的,例如:所述開始時間可以為獲得測試指令的時間點延時兩分鐘之后的時間點,所述結(jié)束時間可以為開始時間延時三分鐘之后的時間點。因此,本發(fā)明可以設(shè)置測試數(shù)據(jù)的執(zhí)行情況,使得整個測試過程更具靈活性。
[0050]另外,所述的測試消息還可以包括該測試指令是第幾次運(yùn)行。也就是說,所述的測試指令還可以多次反復(fù)運(yùn)行,而次數(shù)可以根據(jù)實際需要任意設(shè)置。
[0051 ]步驟103,當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息。
[0052]在一個較佳地實施例中,提取所述測試消息之后,可以獲取所述測試消息中的開始時間,然后啟動監(jiān)測進(jìn)程。當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,則獲取完成時間,并按照所述完成時間執(zhí)行所述測試消息。因此,該實施例可以嚴(yán)格執(zhí)行設(shè)置的測試過程,保證測試的準(zhǔn)確性。
[0053]其中,可以當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,按照所述完成時間執(zhí)行步驟104和步驟105。另外,也可以先執(zhí)行步驟104,當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,按照所述完成時間執(zhí)行步驟105。即,一種是將為測試做準(zhǔn)備的步驟104包括到從開始時間到完成時間內(nèi),一種是將為測試做準(zhǔn)備的步驟104不包括到從開始時間到完成時間內(nèi)。兩種方式在實施該方法時都可以,根據(jù)實際需要選擇其一。
[0054]步驟104,根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)。
[0055]在一個實施例中,可以通過所述測試消息中的測試指令名稱在所述測試數(shù)據(jù)庫中查找對應(yīng)的測試數(shù)據(jù)。較佳地,可以對獲得的測試數(shù)據(jù)進(jìn)行檢測,判斷是否符合測試規(guī)則,通過這種方式可以將惡意降低測試效果的測試指令排出之外,且提高本發(fā)明測試方法的效率。具體的實施過程包括:
[0056]獲取測試數(shù)據(jù)的字段,然后判斷所述測試數(shù)據(jù)的字段是否完整。根據(jù)判斷結(jié)果,若所述測試數(shù)據(jù)的字段完整,則執(zhí)行步驟105。若所述測試數(shù)據(jù)的字段不完整,則將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為無法測試(其中,為了標(biāo)記簡便,可以將無法測試標(biāo)記為“O”),并且退出該流程。
[0057]優(yōu)選地,所述的測試數(shù)據(jù)包括至少兩個接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù),字段設(shè)置規(guī)則為接口的地址、并發(fā)數(shù)、循環(huán)次數(shù)、接口的地址、并發(fā)數(shù)、循環(huán)次數(shù)等等連續(xù)排列。例如:www.1e.com、3、100、www.tv.1e.com、5、100。而判斷所述測試數(shù)據(jù)的字段是否完整時,只要判斷字段的數(shù)量是否是3的倍數(shù)即可。
[0058]步驟105,讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。
[0059]在實施例中,由于所述測試數(shù)據(jù)中包括至少兩個接口的測試數(shù)據(jù),所以可以對讀取的所述測試數(shù)據(jù)進(jìn)行拆分,獲得至少兩個接口的測試請求。其中,每個接口的測試請求包括該接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù)。然后,根據(jù)每個測試請求,分別向指定的接口發(fā)送測試請求,即實現(xiàn)了同時可以執(zhí)行該測試指令中的至少兩個接口(混合接口)的測試請求。
[0060]較佳地,當(dāng)接收到所述指定接口返回的數(shù)據(jù)之后,可以將所述測試數(shù)據(jù)庫中的對應(yīng)的測試數(shù)據(jù)標(biāo)記為完成測試。其中,為了標(biāo)記簡便,可以將完成測試標(biāo)記為“I”。因此,在執(zhí)行完一個本發(fā)明的流程之后可以對所述測試數(shù)據(jù)庫中的一個測試數(shù)據(jù)進(jìn)行標(biāo)記(無論是標(biāo)記“O”還是“I” ),從而可以記錄該條測試數(shù)據(jù)已經(jīng)被執(zhí)行,以防重復(fù)讀取測試數(shù)據(jù)進(jìn)行測試。
[0061]另外,還可以將所述返回的數(shù)據(jù)存儲到預(yù)設(shè)的結(jié)果數(shù)據(jù)庫中,以便調(diào)取所述返回數(shù)據(jù)進(jìn)行展示或進(jìn)一步分析處理。其中,所述的結(jié)果數(shù)據(jù)庫可以存儲有測試指令信息與執(zhí)行所述測試指令返回的數(shù)據(jù)的對應(yīng)關(guān)系。優(yōu)選地,所述的測試指令信息可以為測試指令的名稱,即一個測試指令名稱對應(yīng)有至少兩組返回數(shù)據(jù)。
[0062]還需要說明的是,為了使返回的數(shù)據(jù)可以更為直接的展示給用戶,可以針對返回的數(shù)據(jù)進(jìn)行分析,并制作成圖表等等容易理解的形式。
[0063]作為一個可參考的實施例,參閱圖2所示,所述混合接口性能測試方法具體可采用如下步驟:
[0064]步驟201,接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中。其中,所述測試指令包括向至少兩個接口的測試數(shù)據(jù)。
[0065]步驟202,根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中。
[0066]步驟203,當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息。
[0067]步驟204,根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)。
[0068]步驟205,根據(jù)測試數(shù)據(jù)的字段,判斷所述測試數(shù)據(jù)是否完整,若完整則進(jìn)行步驟207,否則進(jìn)行步驟206。
[0069 ]步驟206,將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為無法測試,退出該流程。
[0070]步驟207,讀取所述測試數(shù)據(jù),進(jìn)行步驟208。
[0071]步驟208,將所述測試數(shù)據(jù)進(jìn)行拆分,獲得至少兩個接口的測試請求。其中,每個接口的測試請求包括接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù)。
[0072]步驟209,根據(jù)所述至少兩個接口的測試請求,分別向指定的接口發(fā)送測試請求。
[0073]步驟210,獲取所述指定接口返回的數(shù)據(jù)。
[0074]步驟211,將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為完成測試,并將所述返回的數(shù)據(jù)存儲到預(yù)設(shè)的結(jié)果數(shù)據(jù)庫中。
[0075]其中,所述結(jié)果數(shù)據(jù)庫中存儲有測試指令信息與執(zhí)行所述測試指令返回的數(shù)據(jù)的對應(yīng)關(guān)系。
[0076]作為另一個可參考的實施例,所述的測試消息可以包括測試指令名稱、開始時間以及完成時間。而為了嚴(yán)格執(zhí)行設(shè)置的測試過程,保證測試的準(zhǔn)確性。在執(zhí)行步驟203之后還可以獲取所述測試消息中的開始時間,啟動監(jiān)測進(jìn)程。然后,當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,獲取完成時間,并按照所述完成時間執(zhí)行所述測試消息。其中,執(zhí)行所述測試消息的過程可以包括步驟204至步驟211。還可以在監(jiān)測到當(dāng)前時間為所述的開始時間之前完成步驟204至步驟208,當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間之后執(zhí)行步驟209至步驟211。還可以在監(jiān)測到當(dāng)前時間為所述的開始時間之前完成步驟204至步驟206,當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間之后執(zhí)行步驟207至步驟211。因此,可以根據(jù)實際測試情況,進(jìn)行設(shè)置。
[0077]在本發(fā)明的另一方面,還提供了一種混合接口性能測試裝置,如圖3所示,所述混合接口性能測試裝置包括依次連接的消息生成單元301、測試數(shù)據(jù)獲取單元302和測試執(zhí)行單元303。其中,消息生成單元301接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中。根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中。測試數(shù)據(jù)獲取單元302當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息,根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)。然后,測試執(zhí)行單元303讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。
[0078]在一個較佳地實施例中,由于所述測試數(shù)據(jù)中包括至少兩個接口的測試數(shù)據(jù),所述測試執(zhí)行單元303可以對讀取的所述測試數(shù)據(jù)進(jìn)行拆分,獲得至少兩個接口的測試請求。其中,每個接口的測試請求包括該接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù)。然后,根據(jù)每個測試請求,分別向指定的接口發(fā)送測試請求,即實現(xiàn)了同時可以執(zhí)行該測試指令中的至少兩個接口(混合接口)的測試請求。
[0079]在一個優(yōu)選地實施例中,所述測試執(zhí)行單元303可以對獲得的測試數(shù)據(jù)進(jìn)行檢測,判斷是否符合測試規(guī)則,通過這種方式可以將惡意降低測試效果的測試指令排出之外,且提高本發(fā)明測試方法的效率。具體的實施過程包括:
[0080]獲取測試數(shù)據(jù)的字段,然后判斷所述測試數(shù)據(jù)的字段是否完整。根據(jù)判斷結(jié)果,若所述測試數(shù)據(jù)的字段完整,則繼續(xù)進(jìn)行測試任務(wù)。若所述測試數(shù)據(jù)的字段不完整,則將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為無法測試(其中,為了標(biāo)記簡便,可以將無法測試標(biāo)記為“O”),不再進(jìn)行測試任務(wù)。
[0081]更進(jìn)一步地,所述的測試數(shù)據(jù)包括至少兩個接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù),字段設(shè)置規(guī)則為接口的地址、并發(fā)數(shù)、循環(huán)次數(shù)、接口的地址、并發(fā)數(shù)、循環(huán)次數(shù)等等連續(xù)排列。例如:www.le.com、3、100、www.tv.1e.com、5、100。而判斷所述測試數(shù)據(jù)的字段是否完整時,只要判斷字段的數(shù)量是否是3的倍數(shù)即可。
[0082]另外,所述測試執(zhí)行單元303當(dāng)接收到所述指定接口返回的數(shù)據(jù)之后,可以將所述測試數(shù)據(jù)庫中的對應(yīng)的測試數(shù)據(jù)標(biāo)記為完成測試。其中,為了標(biāo)記簡便,可以將完成測試標(biāo)記為“I”。因此,在執(zhí)行完一個本發(fā)明的流程之后可以對所述測試數(shù)據(jù)庫中的一個測試數(shù)據(jù)進(jìn)行標(biāo)記(無論是標(biāo)記“O”還是“I”),從而可以記錄該條測試數(shù)據(jù)已經(jīng)被執(zhí)行,以防重復(fù)讀取測試數(shù)據(jù)進(jìn)行測試。
[0083]作為本裝置的另一個實施例,所述測試消息可以包括測試指令名稱、開始時間以及完成時間。其中,所述測試指令具有唯一的測試指令名稱。所述的開始時間為執(zhí)行所述測試消息的開始時間,而所述的完成時間是規(guī)定了必須在到達(dá)該完成時間點之前執(zhí)行完所述測試指令。較佳地,所述的開始時間和完成時間從測試指令中獲得,即可以由用戶自己設(shè)置。當(dāng)然,也可以預(yù)先設(shè)置好的。
[0084]另外,所述的測試消息還可以包括該測試指令是第幾次運(yùn)行。也就是說,所述的測試指令還可以多次反復(fù)運(yùn)行,而次數(shù)可以根據(jù)實際需要任意設(shè)置。
[0085]較佳地,所述測試執(zhí)行單元303提取所述測試消息之后,可以獲取所述測試消息中的開始時間,然后啟動監(jiān)測進(jìn)程。當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,則獲取完成時間,并按照所述完成時間執(zhí)行所述測試消息。因此,該實施例可以嚴(yán)格執(zhí)行設(shè)置的測試過程,保證測試的準(zhǔn)確性。
[0086]需要說明的是,在本發(fā)明所述的混合接口性能測試裝置的具體實施內(nèi)容,在上面所述的混合接口性能測試方法中已經(jīng)詳細(xì)說明了,故在此重復(fù)內(nèi)容不再說明。
[0087]綜上所述,本發(fā)明提供的混合接口性能測試方法和裝置,創(chuàng)造性地提供了根據(jù)線上接口服務(wù)的實際情況,獲得接口的壓測占比;同時,接口的壓測占比更接近線上真實服務(wù)接收的請求比例;而且,能同時完成混合接口的壓測任務(wù);從而,本發(fā)明具有廣泛、重大的推廣意義;最后,整個所述混合接口性能測試方法和裝置緊湊,易于控制。
[0088]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實施例或者不同實施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。
[0089]另外,為簡化說明和討論,并且為了不會使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實,即關(guān)于這些框圖裝置的實施方式的細(xì)節(jié)是高度取決于將要實施本發(fā)明的平臺的(即,這些細(xì)節(jié)應(yīng)當(dāng)完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細(xì)節(jié)(例如,電路)以描述本發(fā)明的示例性實施例的情況下,對本領(lǐng)域技術(shù)人員來說顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下或者這些具體細(xì)節(jié)有變化的情況下實施本發(fā)明。因此,這些描述應(yīng)被認(rèn)為是說明性的而不是限制性的。
[0090]盡管已經(jīng)結(jié)合了本發(fā)明的具體實施例對本發(fā)明進(jìn)行了描述,但是根據(jù)前面的描述,這些實施例的很多替換、修改和變型對本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。例如,其它存儲器架構(gòu)(例如,動態(tài)RAM(DRAM))可以使用所討論的實施例。
[0091]本發(fā)明的實施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1.一種混合接口性能測試方法,其特征在于,包括步驟: 接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中;根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中;其中,所述測試指令包括向至少兩個接口的測試數(shù)據(jù); 當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息; 根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù); 讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,讀取所述測試數(shù)據(jù)之后,還包括: 將所述測試數(shù)據(jù)進(jìn)行拆分,獲得至少兩個接口的測試請求,并且每個接口的測試請求包括接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù); 根據(jù)所述至少兩個接口的測試請求,分別向指定的接口發(fā)送測試請求。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)之后,還包括: 根據(jù)測試數(shù)據(jù)的字段,判斷所述測試數(shù)據(jù)是否完整; 根據(jù)判斷結(jié)果,若完整則讀取所述測試數(shù)據(jù);若不完整則將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為無法測試,不執(zhí)行所述測試指令。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,獲取所述指定接口返回的數(shù)據(jù)之后,還包括: 將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為完成測試; 將所述返回的數(shù)據(jù)存儲到預(yù)設(shè)的結(jié)果數(shù)據(jù)庫中;其中,所述結(jié)果數(shù)據(jù)庫中存儲有測試指令信息與執(zhí)行所述測試指令返回的數(shù)據(jù)的對應(yīng)關(guān)系。5.根據(jù)權(quán)利要求1至4任意一項所述的方法,其特征在于,所述測試消息包括測試指令名稱、開始時間以及完成時間;提取所述測試消息之后,還包括: 獲取所述測試消息中的開始時間,啟動監(jiān)測進(jìn)程; 當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,獲取完成時間,并按照所述完成時間執(zhí)行所述測試消息。6.一種混合接口性能測試裝置,其特征在于,包括: 消息生成單元,用于接收測試指令,將從所述測試指令中解析的測試數(shù)據(jù)存儲到預(yù)設(shè)的測試數(shù)據(jù)庫中;根據(jù)所述測試指令生成測試消息,將所述測試消息添加到預(yù)設(shè)的消息隊列中;其中,所述測試指令包括向至少兩個接口的測試數(shù)據(jù); 測試數(shù)據(jù)獲取單元,用于當(dāng)監(jiān)聽到所述消息隊列中的所述測試消息時,提取所述測試消息;根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù); 測試執(zhí)行單元,用于讀取所述測試數(shù)據(jù)生成測試請求,向所述測試請求指定的接口發(fā)送所述測試請求,獲取所述指定接口返回的數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述測試執(zhí)行單元讀取所述測試數(shù)據(jù)之后,還用于: 將所述測試數(shù)據(jù)進(jìn)行拆分,獲得至少兩個接口的測試請求,并且每個接口的測試請求包括接口的地址、并發(fā)數(shù)以及循環(huán)次數(shù); 根據(jù)所述至少兩個接口的測試請求,分別向指定的接口發(fā)送測試請求。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述測試執(zhí)行單元根據(jù)所述測試消息在所述測試數(shù)據(jù)庫中查找到對應(yīng)的測試數(shù)據(jù)之后,還用于: 根據(jù)測試數(shù)據(jù)的字段,判斷所述測試數(shù)據(jù)是否完整; 根據(jù)判斷結(jié)果,若完整則讀取所述測試數(shù)據(jù);若不完整則將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為無法測試,不執(zhí)行所述測試指令。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述測試執(zhí)行單元獲取所述指定接口返回的數(shù)據(jù)之后,還用于: 將所述測試數(shù)據(jù)庫中的所述測試數(shù)據(jù)標(biāo)記為完成測試; 將所述返回的數(shù)據(jù)存儲到預(yù)設(shè)的結(jié)果數(shù)據(jù)庫中;其中,所述結(jié)果數(shù)據(jù)庫中存儲有測試指令信息與執(zhí)行所述測試指令返回的數(shù)據(jù)的對應(yīng)關(guān)系。10.根據(jù)權(quán)利要求6至9任意一項所述的裝置,其特征在于,所述測試消息包括測試指令名稱、開始時間以及完成時間;所述測試執(zhí)行單元提取所述測試消息之后,還用于: 獲取所述測試消息中的開始時間,啟動監(jiān)測進(jìn)程; 當(dāng)監(jiān)測到當(dāng)前時間為所述的開始時間時,獲取完成時間,并按照所述完成時間執(zhí)行所述測試消息。
【文檔編號】G06F11/26GK106021055SQ201610352942
【公開日】2016年10月12日
【申請日】2016年5月25日
【發(fā)明人】康麗敏
【申請人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(shù)(北京)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1