午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種測(cè)試方法、裝置和計(jì)算設(shè)備的制造方法

文檔序號(hào):10555467閱讀:554來(lái)源:國(guó)知局
一種測(cè)試方法、裝置和計(jì)算設(shè)備的制造方法
【專利摘要】本發(fā)明公開(kāi)了一種測(cè)試方法,該方法包括:捕獲網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù)據(jù);解析捕獲的流量數(shù)據(jù);從解析后的流量數(shù)據(jù)中提取請(qǐng)求信息,該請(qǐng)求信息包括請(qǐng)求類型和請(qǐng)求地址;根據(jù)待測(cè)系統(tǒng)的測(cè)試目標(biāo),從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng)求;設(shè)置每秒發(fā)送請(qǐng)求數(shù)目;根據(jù)該每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送測(cè)試請(qǐng)求至待測(cè)系統(tǒng),以獲取測(cè)試結(jié)果。本發(fā)明還公開(kāi)了一種測(cè)試裝置和相應(yīng)的計(jì)算設(shè)備。
【專利說(shuō)明】
一種測(cè)試方法、裝置和計(jì)算設(shè)備
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種測(cè)試方法、裝置和計(jì)算設(shè)備。
【背景技術(shù)】
[0002] 壓力測(cè)試是通過(guò)確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統(tǒng)能提供 的最大的服務(wù)級(jí)別的測(cè)試。通常為了保證服務(wù)器能夠安全穩(wěn)定運(yùn)行,服務(wù)器在上線之前,都 需要進(jìn)行壓力測(cè)試。現(xiàn)有地,測(cè)試人員通常通過(guò)Apache ab,JMeter,LoadRunner等壓力測(cè)試 工具來(lái)對(duì)服務(wù)器進(jìn)行壓力測(cè)試時(shí),通過(guò)人為構(gòu)造不同類型的請(qǐng)求,來(lái)模擬線上客戶端向服 務(wù)器發(fā)送的請(qǐng)求,并使用這些構(gòu)造的請(qǐng)求對(duì)服務(wù)器進(jìn)行壓力測(cè)試。但是由于實(shí)際情況下,線 上客戶端向服務(wù)器發(fā)送的請(qǐng)求的類型復(fù)雜多樣,人為構(gòu)造的請(qǐng)求無(wú)法完全覆蓋,無(wú)法與線 上的實(shí)際情況保持一致,從而導(dǎo)致測(cè)試的功能不夠全面。
[0003] 因此,需要一種新型的測(cè)試方案。

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

[0004] 鑒于此,本發(fā)明提供了一種新的測(cè)試方案,以力圖解決或至少緩解上面存在的問(wèn) 題。
[0005] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種測(cè)試方法,包括:捕獲網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù) 據(jù);解析捕獲的流量數(shù)據(jù);從解析后的流量數(shù)據(jù)中提取請(qǐng)求信息,請(qǐng)求信息包括請(qǐng)求類型和 請(qǐng)求地址;根據(jù)待測(cè)系統(tǒng)的測(cè)試目標(biāo),從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng) 求;設(shè)置每秒發(fā)送請(qǐng)求數(shù)目;根據(jù)每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送所述測(cè)試請(qǐng)求至待測(cè)系統(tǒng),以 獲取測(cè)試結(jié)果。
[0006] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo) 的測(cè)試請(qǐng)求的步驟包括:從提取的請(qǐng)求信息中篩選出具有特定請(qǐng)求地址的請(qǐng)求信息;根據(jù) 篩選出的請(qǐng)求信息生成對(duì)特定請(qǐng)求地址的測(cè)試請(qǐng)求。
[0007] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo) 的測(cè)試請(qǐng)求的步驟包括:將提取的請(qǐng)求信息中請(qǐng)求地址替換成待測(cè)系統(tǒng)地址;根據(jù)替換后 的請(qǐng)求信息生成對(duì)待測(cè)系統(tǒng)的測(cè)試請(qǐng)求。
[0008] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo) 的測(cè)試請(qǐng)求的步驟包括:根據(jù)提取的請(qǐng)求信息生成預(yù)定數(shù)目的測(cè)試請(qǐng)求。
[0009] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,根據(jù)每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送測(cè)試請(qǐng)求 至待測(cè)系統(tǒng)的步驟包括:發(fā)送一個(gè)測(cè)試請(qǐng)求之后,等待預(yù)定時(shí)間;發(fā)送下一個(gè)測(cè)試請(qǐng)求;其 中預(yù)定時(shí)間根據(jù)設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目和發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間計(jì)算而得。
[0010] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,預(yù)定時(shí)間為1秒除以每秒發(fā)送請(qǐng)求數(shù)目后減 去發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間。
[0011] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,還包括:基于機(jī)器時(shí)間的變化,調(diào)整預(yù)定時(shí) 間。
[0012] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,基于機(jī)器時(shí)間的變化調(diào)整預(yù)定時(shí)間的步驟 包括:獲取前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí);根據(jù)獲取的實(shí)際用時(shí)和 當(dāng)前設(shè)置的預(yù)定時(shí)間計(jì)算變化后發(fā)送一個(gè)測(cè)試請(qǐng)求的平均機(jī)器時(shí)間;根據(jù)計(jì)算的平均機(jī)器 時(shí)間和設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目計(jì)算新的預(yù)定時(shí)間。
[0013] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,還包括:在基于機(jī)器時(shí)間的變化調(diào)整預(yù)定時(shí) 間之前,根據(jù)前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí)計(jì)算實(shí)際的每秒發(fā)送請(qǐng) 求數(shù)目;計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差;當(dāng)實(shí)際的每秒 發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差大于誤差閾值時(shí),調(diào)整預(yù)定時(shí)間。
[0014] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,其中誤差閾值為5%。
[00?5] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,其中請(qǐng)求為http請(qǐng)求,請(qǐng)求類型包括GET請(qǐng) 求和POST請(qǐng)求,請(qǐng)求地址為頁(yè)面入口統(tǒng)一資源定位符(URL)地址。
[0016] 可選地,在根據(jù)本發(fā)明的測(cè)試方法中,測(cè)試請(qǐng)求的異步發(fā)送通過(guò)基于twisted框架 下的treq網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn)。
[0017]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種測(cè)試裝置,包括:流量捕獲模塊,適于捕獲 網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù)據(jù);流量解析模塊,適于解析捕獲的流量數(shù)據(jù);請(qǐng)求篩選模塊,適于 從解析后的流量數(shù)據(jù)中提取請(qǐng)求信息,請(qǐng)求信息包括請(qǐng)求類型和請(qǐng)求地址,還適于根據(jù)待 測(cè)系統(tǒng)的測(cè)試目標(biāo),從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng)求;以及請(qǐng)求發(fā)送 模塊,適于設(shè)置每秒發(fā)送請(qǐng)求數(shù)目,根據(jù)每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送測(cè)試請(qǐng)求至待測(cè)系統(tǒng), 以獲取測(cè)試結(jié)果。
[0018] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,請(qǐng)求篩選模塊還適于從提取的請(qǐng)求信息中 篩選出具有特定請(qǐng)求地址的請(qǐng)求信息,根據(jù)篩選出的請(qǐng)求信息生成對(duì)特定請(qǐng)求地址的測(cè)試 請(qǐng)求。
[0019] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,請(qǐng)求篩選模塊還適于將提取的請(qǐng)求信息中 請(qǐng)求地址替換成待測(cè)系統(tǒng)地址,根據(jù)替換后的請(qǐng)求信息生成對(duì)待測(cè)系統(tǒng)的測(cè)試請(qǐng)求。
[0020] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,請(qǐng)求篩選模塊還適于根據(jù)提取的請(qǐng)求信息 生成預(yù)定數(shù)目的測(cè)試請(qǐng)求。
[0021 ]可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,請(qǐng)求發(fā)送模塊還適于發(fā)送一個(gè)測(cè)試請(qǐng)求之 后,等待預(yù)定時(shí)間后發(fā)送下一個(gè)測(cè)試請(qǐng)求,其中預(yù)定時(shí)間根據(jù)設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目和 發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間計(jì)算而得。
[0022] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,預(yù)定時(shí)間為1秒除以每秒發(fā)送請(qǐng)求數(shù)目后減 去發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間。
[0023] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,請(qǐng)求發(fā)送模塊還包括時(shí)間調(diào)整模塊,適于基 于機(jī)器時(shí)間的變化,調(diào)整預(yù)定時(shí)間。
[0024] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,時(shí)間調(diào)整模塊還適于獲取前一次發(fā)送每秒 發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí);根據(jù)獲取的實(shí)際用時(shí)和當(dāng)前設(shè)置的預(yù)定時(shí)間計(jì)算變 化后發(fā)送一個(gè)測(cè)試請(qǐng)求的平均機(jī)器時(shí)間;根據(jù)計(jì)算的平均機(jī)器時(shí)間和設(shè)置的每秒發(fā)送請(qǐng)求 數(shù)目計(jì)算新的預(yù)定時(shí)間。
[0025] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,時(shí)間調(diào)整模塊還適于在基于機(jī)器時(shí)間的變 化調(diào)整預(yù)定時(shí)間之前,根據(jù)前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí)計(jì)算實(shí)際 的每秒發(fā)送請(qǐng)求數(shù)目;計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差; 當(dāng)實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差大于誤差閾值時(shí),調(diào)整預(yù)定 時(shí)間。
[0026] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,其中誤差閾值為5%。
[0027] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,其中請(qǐng)求為http請(qǐng)求,請(qǐng)求類型包括GET請(qǐng) 求和POST請(qǐng)求,請(qǐng)求地址為頁(yè)面入口統(tǒng)一資源定位符(URL)地址。
[0028] 可選地,在根據(jù)本發(fā)明的測(cè)試裝置中,測(cè)試請(qǐng)求的異步發(fā)送通過(guò)基于twisted框架 下的treq網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn)。
[0029] 根據(jù)本發(fā)明的還有一個(gè)方面,還提供了一種計(jì)算設(shè)備,包括根據(jù)本發(fā)明的測(cè)試裝 置。
[0030] 根據(jù)本發(fā)明的測(cè)試方案,通過(guò)對(duì)捕獲的網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù)據(jù)篩選而得到需要 的測(cè)試請(qǐng)求,可以將生產(chǎn)環(huán)境的真實(shí)流量應(yīng)用于測(cè)試系統(tǒng)中,其中根據(jù)特定規(guī)則對(duì)流量數(shù) 據(jù)進(jìn)行篩選,滿足了不同測(cè)試場(chǎng)景下的測(cè)試需求。此外,通過(guò)設(shè)置每秒發(fā)送請(qǐng)求數(shù)目,并按 照設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送篩選出的測(cè)試請(qǐng)求,實(shí)現(xiàn)了對(duì)發(fā)送請(qǐng)求的定量控制。
【附圖說(shuō)明】
[0031] 為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來(lái)描述某些說(shuō)明性方 面,這些方面指示了可以實(shí)踐本文所公開(kāi)的原理的各種方式,并且所有方面及其等效方面 旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過(guò)結(jié)合附圖閱讀下面的詳細(xì)描述,本公開(kāi)的上述 以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。遍及本公開(kāi),相同的附圖標(biāo)記通常指代相同的 部件或元素。
[0032] 圖1示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的計(jì)算設(shè)備100的結(jié)構(gòu)示意圖;
[0033]圖2示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的測(cè)試方法200的示意圖;
[0034]圖3示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的用于用戶設(shè)置每秒發(fā)送請(qǐng)求數(shù)目的圖 形用戶界面的截圖;以及
[0035]圖4示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的測(cè)試裝置300的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0036] 下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi) 的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例 所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍 完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0037] 圖1示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的計(jì)算設(shè)備100的結(jié)構(gòu)示意圖。參照?qǐng)D 1,在基本的配置102中,計(jì)算設(shè)備100典型地包括系統(tǒng)存儲(chǔ)器106和一個(gè)或者多個(gè)處理器 104。存儲(chǔ)器總線108可以用于在處理器104和系統(tǒng)存儲(chǔ)器106之間的通信。
[0038] 取決于期望的配置,處理器104可以是任何類型的處理,包括但不限于:微處理器 ((此)、微控制器(yC)、數(shù)字信息處理器(DSP)或者它們的任何組合。處理器104可以包括諸 如一級(jí)高速緩存110和二級(jí)高速緩存112之類的一個(gè)或者多個(gè)級(jí)別的高速緩存、處理器核心 114和寄存器116。示例的處理器核心114可以包括運(yùn)算邏輯單元(ALU)、浮點(diǎn)數(shù)單元(FPU)、 數(shù)字信號(hào)處理核心(DSP核心)或者它們的任何組合。示例的存儲(chǔ)器控制器118可以與處理器 104-起使用,或者在一些實(shí)現(xiàn)中,存儲(chǔ)器控制器118可以是處理器104的一個(gè)內(nèi)部部分。
[0039] 取決于期望的配置,系統(tǒng)存儲(chǔ)器106可以是任意類型的存儲(chǔ)器,包括但不限于:易 失性存儲(chǔ)器(諸如RAM)、非易失性存儲(chǔ)器(諸如R0M、閃存等)或者它們的任何組合。系統(tǒng)存儲(chǔ) 器106可以包括操作系統(tǒng)120、一個(gè)或者多個(gè)應(yīng)用122以及程序數(shù)據(jù)124。在一些實(shí)施方式中, 應(yīng)用122可以布置為在操作系統(tǒng)上利用程序數(shù)據(jù)124進(jìn)行操作。
[0040] 計(jì)算設(shè)備100還可以包括有助于從各種接口設(shè)備(例如,輸出設(shè)備142、外設(shè)接口 144和通信設(shè)備146)到基本配置102經(jīng)由總線/接口控制器130的通信的接口總線140。示例 的輸出設(shè)備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經(jīng)由 一個(gè)或者多個(gè)A/V端口 152與諸如顯示器或者揚(yáng)聲器之類的各種外部設(shè)備進(jìn)行通信。示例外 設(shè)接口 144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于 經(jīng)由一個(gè)或者多個(gè)I/O端口 158和諸如輸入設(shè)備(例如,鍵盤(pán)、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸 輸入設(shè)備)或者其他外設(shè)(例如打印機(jī)、掃描儀等)之類的外部設(shè)備進(jìn)行通信。示例的通信設(shè) 備146可以包括網(wǎng)絡(luò)控制器160,其可以被布置為便于經(jīng)由一個(gè)或者多個(gè)通信端口 164與一 個(gè)或者多個(gè)其他計(jì)算設(shè)備162通過(guò)網(wǎng)絡(luò)通信鏈路的通信。
[0041] 網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通??梢泽w現(xiàn)為在諸如載波 或者其他傳輸機(jī)制之類的調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,并且可 以包括任何信息遞送介質(zhì)。"調(diào)制數(shù)據(jù)信號(hào)"可以這樣的信號(hào),它的數(shù)據(jù)集中的一個(gè)或者多 個(gè)或者它的改變可以在信號(hào)中編碼信息的方式進(jìn)行。作為非限制性的示例,通信介質(zhì)可以 包括諸如有線網(wǎng)絡(luò)或者專線網(wǎng)絡(luò)之類的有線介質(zhì),以及諸如聲音、射頻(RF)、微波、紅外 (IR)或者其它無(wú)線介質(zhì)在內(nèi)的各種無(wú)線介質(zhì)。這里使用的術(shù)語(yǔ)計(jì)算機(jī)可讀介質(zhì)可以包括存 儲(chǔ)介質(zhì)和通信介質(zhì)二者。
[0042] 計(jì)算設(shè)備100可以實(shí)現(xiàn)為小尺寸便攜(或者移動(dòng))電子設(shè)備的一部分,這些電子設(shè) 備可以是諸如蜂窩電話、個(gè)人數(shù)字助理(PDA)、個(gè)人媒體播放器設(shè)備、無(wú)線網(wǎng)絡(luò)瀏覽設(shè)備、個(gè) 人頭戴設(shè)備、應(yīng)用專用設(shè)備、或者可以包括上面任何功能的混合設(shè)備。計(jì)算設(shè)備100還可以 實(shí)現(xiàn)為包括桌面計(jì)算機(jī)和筆記本計(jì)算機(jī)配置的個(gè)人計(jì)算機(jī)。在一些實(shí)施例中,計(jì)算設(shè)備100 被配置為執(zhí)行根據(jù)本發(fā)明的測(cè)試方法200,其中應(yīng)用122包括根據(jù)本發(fā)明的測(cè)試裝置300。
[0043] 為了解決現(xiàn)有技術(shù)測(cè)試功能不夠全面這一問(wèn)題,本發(fā)明采用現(xiàn)網(wǎng)引流工具,對(duì)線 上服務(wù)器接收到的線上客戶端發(fā)送的請(qǐng)求進(jìn)行復(fù)制,并將復(fù)制的請(qǐng)求引流至待測(cè)系統(tǒng),由 待測(cè)系統(tǒng)根據(jù)該請(qǐng)求進(jìn)行功能測(cè)試。由于引流至待測(cè)系統(tǒng)的請(qǐng)求是線上客戶端實(shí)際發(fā)送的 請(qǐng)求,請(qǐng)求類型多樣,所以測(cè)試的功能較為全面。然而將線上服務(wù)器接收到的所有請(qǐng)求引流 到測(cè)試服務(wù)器,只能實(shí)現(xiàn)對(duì)測(cè)試服務(wù)器整體性能的評(píng)估,無(wú)法實(shí)現(xiàn)對(duì)測(cè)試服務(wù)器中具體功 能的測(cè)試,也無(wú)法對(duì)回放的流量進(jìn)行靈活的定量控制。因此本發(fā)明進(jìn)一步設(shè)置了每秒發(fā)送 請(qǐng)求數(shù)目,以此來(lái)實(shí)現(xiàn)對(duì)回放流量的定量控制。
[0044] 圖2示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的測(cè)試方法200的流程圖。
[0045] 如圖2所示,方法200始于步驟S210,在步驟S210中,捕獲網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù) 據(jù)。具體地,可使用工具TcpDump捕獲生產(chǎn)環(huán)境的流量數(shù)據(jù),捕獲的流量數(shù)據(jù)通常為pcap格 式數(shù)據(jù)包。TcpDump是捕獲網(wǎng)絡(luò)層數(shù)據(jù)包的工具,它可以用來(lái)捕獲特定端口的數(shù)據(jù)包,這樣 就可以獲取通過(guò)本機(jī)80端口,即使用了http連接的數(shù)據(jù)包。一個(gè)或者多個(gè)數(shù)據(jù)包組成一個(gè) http請(qǐng)求報(bào)文,數(shù)據(jù)包的內(nèi)容是二進(jìn)制格式,不可讀,所以需要解析工具來(lái)將http請(qǐng)求解析 出來(lái)。
[0046]在步驟S220中,解析捕獲的流量數(shù)據(jù)。具體地,可以使用開(kāi)源工具pcap-parser解 析捕獲的流量包,得到http請(qǐng)求的具體內(nèi)容。例如解析出來(lái)的一個(gè)完整的http請(qǐng)求的報(bào)文 可以如下:
[0047] "[10.168.39.32:59981]------>[123.125.115.164:80]
[0048] GET
[0049] /a.js?tu = 639889&jk = c7944b9bcb44albe&word = http%3A%2F% 2Fzhidao.baidu.com%2Flink%3Furl%3DbsIYeUNZ9wY0t3Pux7R9bUgBUX27T-5aYqqalzsL2ewq6wzeZPdABfvAB0zBqMffsljXRG5ffnQUJMj_F-k6gd9ReSYHdYCnvcpqtLEUmpkl0&if = l&aw = 0&ah = 0&pt = 18500&it = 18500&vt= 18124& csp = 1280,796&bcl = 250,250&pof = 250,252&top = 845&lef t = 875&total = l&rdm = 1456220115114HTTP/1.1
[0050] Host:eel ick.baidu.com
[0051] Connection: keep-alive
[0052] Cache-Control:max-age = 0
[0053] User-Agent:Mozilla/5.0(Macintosh;Intel Mac OS X 10_10_5)
[0054] AppleffebKit/537.36(KHTML,like Gecko)Chrome/48.0.2564.109Safari/537.36
[0055] Accept:*/*
[0056] Referer:
[0057] http ://zhidao.baidu.com/1ink?url = bsIYeUNZ9wY0t3Pux7R9bUgBUX27T-5aYqqalzsL2ewq6wzeZPdABfvAB0zBqMffsljXRG5ffnQUJMj_F-k6gd9ReSYHdYCnvcpqtLEUmpkl0
[0058] Accept-Encoding:gzip, deflate,sdch
[0059 ] Accept-Language: zh~CN ,zh;q = 0.8,en;q = 0.6
[0060] Cookie :BAIDUID = 8E4A0F24C6EF0E03480F5FA9E2B2288E: FG = 1;
[0061] PSTM= 1440148522 ;BIDUPSID = 28C8AD848DC7335030BACC09CD28AAB4;MCITY = -207 %3A;
[0062] BDUSS=E9xbjQ2U2xFZzdyemw4c29weTRFN2R3dffFlRDdjMGowSFdLUGhrVE5HV3ZnffffR XQVFBQUFBJCQAAAAAAAAAAAEAAACNgzI3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK~0Xlav9F9WV;BDSFRCVID= 140sJeC67GbPnNR419DV-_F8EeK5g_rTH6aP_AcC0Mz3Z70VhNdMEG0Pt01QpYD-VCGHogKK0g0TH65P;
[0063] H_BDCLCKID_SF = JJKtoKLhJIvbfP0kbJ0oh4-0-fuX5-RLfb7nKP0F510TJh0Rj-vq060BybAJBqLfLI5Bffp0S-q-bDnT0e5bke6cffjGDetTDsb5vfstbaaJThKR0vhjRJqj0yyxomtjD85CDeopF2tl7S0PbS-PRTDRIAjx8tLUkqKC0LffnTIWP5AVnbMhnbvMU-nQttjQUT9aN6jhl-E5njHfR7TyU42hf47yboqQTIqJb-qoDKbfb0SjJ0cq4QSMJF0hmT22-usffJuJQhcH0h0ffsI8mQ5jKj5_lQtjeKn3a-Jndslce2qbzE10RDUC0DjjBDHOetjnfb5kXQbjob4oHj4tk-PnVq4tHeNLJJnJZ5mAq_ h3tLnrFVC-lef04qq4ze-〇-B5QMX5rnaIQqLU7NHp8xXJC5W6bQ3x7wKUr43bRTLp7sL4JZs56KLUJlhP-UyN3Mffh37JJTTVJ0-KKCKMC-⑶x5;
[0064] BDRCVFR[feffjIVr5u3D]=I67x6TjHwwYfO;
[0065] H_PS_PSSID = 19140_1434_18241_17942_18205_18134_17001_17073_15724_ 12174_18087
[0066] HTTP/1.1 200 OK
[0067] Server:nginx
[0068] Date:Tue,23 Feb 2016 09:35:15 GMT
[0069] Content-Type: application/x-javascript
[0070] Content-Length :0
[0071] Last-Modified:Mon,22Feb 2016 12:58:06GMT
[0072] Connection: keep-alive
[0073] ETag:"56cb05de_0〃
[0074] Expires:Tue,23Feb 2016 10:35:15GMT
[0075] Cache-Control:max-age = 3600
[0076] Accept-Ranges: bytes"。
[0077] 而后在步驟S230中,從解析后的流量數(shù)據(jù)中提取請(qǐng)求信息,所述請(qǐng)求信息包括請(qǐng) 求類型和請(qǐng)求地址。其中請(qǐng)求類型包括GET請(qǐng)求和POST請(qǐng)求,請(qǐng)求地址為URL地址。具體地, 上述解析后的報(bào)文包括請(qǐng)求的起始行、請(qǐng)求首部和請(qǐng)求主體。根據(jù)測(cè)試目標(biāo),對(duì)于GET請(qǐng)求, 提取請(qǐng)求起始行和HOST信息,對(duì)于POST請(qǐng)求,提取請(qǐng)求起始行、HOST信息和請(qǐng)求主題,這樣 可以重新組合得到URL地址。例如根據(jù)上述解析后的報(bào)文提取的請(qǐng)求信息可以如下:
[0078] "{'GET',
[0079] (http://eclick.baidu. com/a. js?tu = 639889&jk = c7944b9bcb44albe&word = http % 3A% 2F% 2Fzhidao · baidu · com% 2F1 ink% 3Furl % 3DbsIYeUNZ9wY0t3Pux7R9bUgBUX27T-5aYqqalzsL2ewq6wzeZPdABfvAB0zBqMffsljXRG5ffnQUJMj_F-k6gd9ReSYHdYCnvcpqtLEUmpkl0&if = l&aw = 0&ah = 0&pt = 18500&it = 18500&vt= 18124& csp = 1280,796&bcl = 250,250&pof = 250,252&top = 845&lef t = 875&total = l&rdm = 1456220115114'}"。
[0080] 提取請(qǐng)求信息后,在步驟S240中,根據(jù)待測(cè)系統(tǒng)的測(cè)試目標(biāo),從提取的請(qǐng)求信息中 篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng)求。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,可以從提取的請(qǐng)求信息中 篩選出具有特定請(qǐng)求地址的請(qǐng)求信息,根據(jù)篩選出的請(qǐng)求信息生成對(duì)特定請(qǐng)求地址的測(cè)試 請(qǐng)求。例如,網(wǎng)站的不同URL地址分別對(duì)應(yīng)了不同的模塊。以汽車之家為例,http:// car ·autohome · com. cn/pic表不圖片庫(kù)模塊,而http: //car · autohome · com. cn/video表不 視頻模塊,因此,通過(guò)對(duì)url的正則匹配,可以篩選出對(duì)特定功能模塊的請(qǐng)求,從而實(shí)現(xiàn)對(duì)特 定模塊的性能測(cè)試。
[0081] 根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,可以將提取的請(qǐng)求信息中請(qǐng)求地址替換成待測(cè)系 統(tǒng)地址,根據(jù)替換后的請(qǐng)求信息生成對(duì)待測(cè)服務(wù)器的測(cè)試請(qǐng)求。例如,在研發(fā)過(guò)程中,會(huì)有 將系統(tǒng)部署到測(cè)試環(huán)境的情況,并且可能會(huì)部署多個(gè)版本,此時(shí)可以將從線上生產(chǎn)環(huán)境導(dǎo) 下的實(shí)際流量進(jìn)行域名替換,例如
[0082] http: //car · autohome · com · cn/是線上生產(chǎn)環(huán)境,測(cè)試環(huán)境為
[0083] http://carl. autohome. com.cn/,http://car2. autohome. com.cn/,
[0084] http: //car 3 · autohome · com · cn/等等,因此可以將car替換為carN,就可以實(shí)現(xiàn)線 上到線下的引流。
[0085] 根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,可以根據(jù)提取的請(qǐng)求信息生成預(yù)定數(shù)目的測(cè)試請(qǐng) 求。
[0086] 篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng)求之后,在步驟S250中,可以設(shè)置每秒發(fā)送請(qǐng)求數(shù) 目,該數(shù)目指示了每一秒發(fā)送至待測(cè)系統(tǒng)的請(qǐng)求數(shù)目。該每秒發(fā)送請(qǐng)求數(shù)目(QPS)可以在向 用戶呈現(xiàn)的如圖3所示的圖形用戶界面進(jìn)行輸入,例如設(shè)置為500。
[0087] 而后在步驟S260中,根據(jù)每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送測(cè)試請(qǐng)求至待測(cè)系統(tǒng),以獲 取測(cè)試結(jié)果。具體地,測(cè)試請(qǐng)求的發(fā)送可以通過(guò)基于twisted框架下的treq網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn),具 有異步高并發(fā)的特點(diǎn)。下面是使用treq發(fā)送GET請(qǐng)求的一個(gè)例子: 4idef main(reactor, *args): d = treq.getChttpi/'/www.baiciu.eom')
[0088] d.addCallback(prim_response) return d "。
[0089] 其中reactor是twisted客戶端的一個(gè)單例,treq · get或者treq · post分別是發(fā)送 GET請(qǐng)求與POST請(qǐng)求的異步方法,調(diào)用該方法返回的變量d是一個(gè)def erred對(duì)象。twi sted框 架使用deferred對(duì)象來(lái)管理回調(diào)函數(shù)鏈,調(diào)用deferred的addCal Iback方法可以將回調(diào)函 數(shù)print_response注冊(cè)到回調(diào)函數(shù)鏈中。
[0090] 因?yàn)榘l(fā)送請(qǐng)求的方法是異步執(zhí)行,不必等待上一個(gè)請(qǐng)求的響應(yīng)回來(lái)就可以發(fā)送下 一個(gè)請(qǐng)求,因此本發(fā)明的測(cè)試方案通過(guò)在兩個(gè)發(fā)送動(dòng)作之間設(shè)置一個(gè)預(yù)定時(shí)間,用來(lái)使發(fā) 送請(qǐng)求的線程睡眠,因而實(shí)現(xiàn)了對(duì)發(fā)送測(cè)試請(qǐng)求的定量控制。具體地,發(fā)送一個(gè)測(cè)試請(qǐng)求之 后,等待預(yù)定時(shí)間后再發(fā)送下一個(gè)測(cè)試請(qǐng)求,其中該預(yù)定時(shí)間根據(jù)設(shè)置的每秒發(fā)送請(qǐng)求數(shù) 目和發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間計(jì)算而得,即:
[0091 ] machine_time + sleep_time = l/QPS,其中 sleep_time為等待的預(yù)定時(shí)間, machinejime為發(fā)送一個(gè)測(cè)試請(qǐng)求消耗的機(jī)器時(shí)間,QPS為用戶設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目。 [0092]此外,由于機(jī)器執(zhí)行發(fā)送請(qǐng)求的代碼會(huì)消耗一部分時(shí)間,并且當(dāng)設(shè)置的每秒發(fā)送 數(shù)目較大時(shí),注冊(cè)回調(diào)函數(shù)花費(fèi)的時(shí)間也隨之增大,發(fā)送一個(gè)請(qǐng)求所消耗的機(jī)器時(shí)間相應(yīng) 地增大,因此,根據(jù)本發(fā)明的一個(gè)實(shí)施方式,方法200還包括步驟:基于機(jī)器時(shí)間的變化,調(diào) 整預(yù)定時(shí)間。
[0093]具體地,可以先獲取前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí),而后 根據(jù)獲取的實(shí)際用時(shí)和當(dāng)前設(shè)置的預(yù)定時(shí)間計(jì)算變化后發(fā)送一個(gè)測(cè)試請(qǐng)求的平均機(jī)器時(shí) 間,再根據(jù)計(jì)算的平均機(jī)器時(shí)間和設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目計(jì)算新的預(yù)定時(shí)間。例如,當(dāng)前 的預(yù)定時(shí)間設(shè)置為0.1 s,每秒發(fā)送請(qǐng)求數(shù)目QPS設(shè)置為10,而發(fā)送之前的10個(gè)請(qǐng) 求共用了 I · ls,那么當(dāng)前的發(fā)送一個(gè)測(cè)試請(qǐng)求的平均機(jī)器時(shí)間machine_time = l · 1/10-0.1 =0 .Ols,所以新的預(yù)定時(shí)間sleep_time應(yīng)調(diào)整為1/10-0.01 = 0.09s。這樣動(dòng)態(tài)的調(diào)整預(yù)定 時(shí)間,可以防止實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目偏離用戶設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目。
[0094]根據(jù)本發(fā)明的還有一個(gè)實(shí)施方式,在基于機(jī)器時(shí)間的變化調(diào)整預(yù)定時(shí)間之前,根 據(jù)前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí)計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目,而 后計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差,當(dāng)實(shí)際的每秒發(fā)送請(qǐng) 求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差大于誤差閾值時(shí),則調(diào)整預(yù)定時(shí)間,其中誤差閾 值可以為5%。
[0095] 根據(jù)本發(fā)明的還有一個(gè)實(shí)施方式,方法200還可以包括步驟:同時(shí)測(cè)試請(qǐng)求的響應(yīng) 時(shí)間、響應(yīng)內(nèi)容和狀態(tài)碼。
[0096] 圖4示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的測(cè)試裝置300的結(jié)構(gòu)圖。如圖4所示,裝 置300可以包括流量捕獲模塊310、流量解析模塊320、請(qǐng)求篩選模塊330和請(qǐng)求發(fā)送模塊 340 〇
[0097] 流量捕獲模塊310適于捕獲網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù)據(jù)。流量解析模塊320與流量捕 獲模塊310連接,適于解析捕獲的流量數(shù)據(jù)。
[0098] 請(qǐng)求篩選模塊330與流量解析模塊320連接,適于從解析后的流量數(shù)據(jù)中提取請(qǐng)求 信息,所述請(qǐng)求信息包括請(qǐng)求類型和請(qǐng)求地址,還適于根據(jù)待測(cè)系統(tǒng)的測(cè)試目標(biāo),從提取的 請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng)求。該請(qǐng)求一般為http請(qǐng)求,請(qǐng)求類型包括GET請(qǐng) 求和POST請(qǐng)求,請(qǐng)求地址為頁(yè)面入口統(tǒng)一資源定位符(URL)地址。
[0099]具體地,根據(jù)本發(fā)明的一個(gè)實(shí)施方式,請(qǐng)求篩選模塊330適于從提取的請(qǐng)求信息中 篩選出具有特定請(qǐng)求地址的請(qǐng)求信息,根據(jù)篩選出的請(qǐng)求信息生成對(duì)特定請(qǐng)求地址的測(cè)試 請(qǐng)求。
[0100]根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,請(qǐng)求篩選模塊330還適于將提取的請(qǐng)求信息中請(qǐng) 求地址替換成待測(cè)系統(tǒng)地址,根據(jù)替換后的請(qǐng)求信息生成對(duì)待測(cè)系統(tǒng)的測(cè)試請(qǐng)求。
[0101] 根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,請(qǐng)求篩選模塊330還適于根據(jù)提取的請(qǐng)求信息生 成預(yù)定數(shù)目的測(cè)試請(qǐng)求。
[0102] 請(qǐng)求發(fā)送模塊340與請(qǐng)求篩選模塊330連接,適于設(shè)置每秒發(fā)送請(qǐng)求數(shù)目,根據(jù)該 每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送測(cè)試請(qǐng)求至待測(cè)系統(tǒng),以獲取測(cè)試結(jié)果。這里測(cè)試請(qǐng)求的異步 發(fā)送可以通過(guò)基于twisted框架下的treq網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn)。
[0103] 具體地,請(qǐng)求發(fā)送模塊340適于發(fā)送一個(gè)測(cè)試請(qǐng)求之后,等待預(yù)定時(shí)間后發(fā)送下一 個(gè)測(cè)試請(qǐng)求,其中預(yù)定時(shí)間根據(jù)設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目和發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間 計(jì)算而得。
[0104] 根據(jù)本發(fā)明的一個(gè)實(shí)施方式,預(yù)定時(shí)間為1秒除以每秒發(fā)送請(qǐng)求數(shù)目后減去發(fā)送 一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間。
[0105] 根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,請(qǐng)求發(fā)送模塊340還包括時(shí)間調(diào)整模塊341,適于 基于發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間的變化,調(diào)整上述預(yù)定時(shí)間。具體地,時(shí)間調(diào)整模塊341 適于獲取前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí),根據(jù)獲取的實(shí)際用時(shí)和當(dāng) 前設(shè)置的預(yù)定時(shí)間計(jì)算變化后發(fā)送一個(gè)測(cè)試請(qǐng)求的平均機(jī)器時(shí)間,根據(jù)計(jì)算的平均機(jī)器時(shí) 間和設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目計(jì)算新的預(yù)定時(shí)間。
[0106] 其中,根據(jù)本發(fā)明的另一個(gè)實(shí)施方式,時(shí)間調(diào)整模塊341還適于在基于機(jī)器時(shí)間的 變化調(diào)整預(yù)定時(shí)間之前,根據(jù)前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí)計(jì)算實(shí) 際的每秒發(fā)送請(qǐng)求數(shù)目,計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤 差,當(dāng)實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差大于誤差閾值時(shí),則調(diào) 整預(yù)定時(shí)間。通常誤差閾值為5%。
[0107] 以上在結(jié)合圖2和圖3說(shuō)明測(cè)試方法200的具體描述中已經(jīng)對(duì)各模塊中的相應(yīng)處理 進(jìn)行了詳細(xì)解釋,這里不再對(duì)重復(fù)內(nèi)容進(jìn)行贅述。
[0108] 在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施 例可以在沒(méi)有這些具體細(xì)節(jié)的情況下被實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié) 構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0109] 類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在 上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施 例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保 護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說(shuō),如下面的 權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵 循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都 作為本發(fā)明的單獨(dú)實(shí)施例。
[0110] 本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開(kāi)的示例中的設(shè)備的模塊或單元或組 件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備 不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè) 子模塊。 Com]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地 改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單 元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或 子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何 組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任 何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán) 利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代 替。
[0112]本發(fā)明還包括:A6、如A5所述的方法,所述預(yù)定時(shí)間為1秒除以每秒發(fā)送請(qǐng)求數(shù)目 后減去所述發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間。A7、如A6所述的方法,還包括:基于所述機(jī)器時(shí) 間的變化,調(diào)整所述預(yù)定時(shí)間。A8、如A7所述的方法,基于機(jī)器時(shí)間的變化調(diào)整預(yù)定時(shí)間的 步驟包括:獲取前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí);根據(jù)獲取的實(shí)際用 時(shí)和當(dāng)前設(shè)置的預(yù)定時(shí)間計(jì)算變化后發(fā)送一個(gè)測(cè)試請(qǐng)求的平均機(jī)器時(shí)間;根據(jù)計(jì)算的平均 機(jī)器時(shí)間和設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目計(jì)算新的預(yù)定時(shí)間。A9、如A8所述的方法,還包括:在 基于機(jī)器時(shí)間的變化調(diào)整預(yù)定時(shí)間之前,根據(jù)所述前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng) 求的實(shí)際用時(shí)計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目;計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒 發(fā)送請(qǐng)求數(shù)目的誤差;當(dāng)實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差大于 誤差閾值時(shí),調(diào)整所述預(yù)定時(shí)間。A10、如A9所述的方法,其中所述誤差閾值為5% Jll、如 Al-IO中任一項(xiàng)所述的方法,其中所述請(qǐng)求為http請(qǐng)求,所述請(qǐng)求類型包括GET請(qǐng)求和POST 請(qǐng)求,請(qǐng)求地址為頁(yè)面入口統(tǒng)一資源定位符(URL)地址。A12、如All所述的方法,所述測(cè)試請(qǐng) 求的異步發(fā)送通過(guò)基于twisted框架下的treq網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn)。
[0113] B17、如B13所述的裝置,所述請(qǐng)求發(fā)送模塊還適于發(fā)送一個(gè)測(cè)試請(qǐng)求之后,等待預(yù) 定時(shí)間后發(fā)送下一個(gè)測(cè)試請(qǐng)求,其中所述預(yù)定時(shí)間根據(jù)設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目和發(fā)送一 個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間計(jì)算而得。B18、如B17所述的裝置,所述預(yù)定時(shí)間為1秒除以每秒發(fā) 送請(qǐng)求數(shù)目后減去所述發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間。B19、如B18所述的裝置,所述請(qǐng)求發(fā) 送模塊還包括時(shí)間調(diào)整模塊,適于基于所述機(jī)器時(shí)間的變化,調(diào)整所述預(yù)定時(shí)間。B20、如 B19所述的裝置,所述時(shí)間調(diào)整模塊還適于獲取前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求 的實(shí)際用時(shí);根據(jù)獲取的實(shí)際用時(shí)和當(dāng)前設(shè)置的預(yù)定時(shí)間計(jì)算變化后發(fā)送一個(gè)測(cè)試請(qǐng)求的 平均機(jī)器時(shí)間;根據(jù)計(jì)算的平均機(jī)器時(shí)間和設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目計(jì)算新的預(yù)定時(shí)間。 B21、如B19所述的裝置,所述時(shí)間調(diào)整模塊還適于在基于機(jī)器時(shí)間的變化調(diào)整預(yù)定時(shí)間之 前,根據(jù)所述前一次發(fā)送每秒發(fā)送請(qǐng)求數(shù)目個(gè)測(cè)試請(qǐng)求的實(shí)際用時(shí)計(jì)算實(shí)際的每秒發(fā)送請(qǐng) 求數(shù)目;計(jì)算實(shí)際的每秒發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差;當(dāng)實(shí)際的每秒 發(fā)送請(qǐng)求數(shù)目與設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目的誤差大于誤差閾值時(shí),調(diào)整所述預(yù)定時(shí)間。 B22、如B21所述的裝置,其中所述誤差閾值為5%』23、如B13-22中任一項(xiàng)所述的裝置,其中 所述請(qǐng)求為http請(qǐng)求,所述請(qǐng)求類型包括GET請(qǐng)求和POST請(qǐng)求,請(qǐng)求地址為頁(yè)面入口統(tǒng)一資 源定位符(URL)地址。B24、如B23所述的裝置,所述測(cè)試請(qǐng)求的異步發(fā)送通過(guò)基于twisted框 架下的treq網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn)。
[0114] 此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例 中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的 范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任 意之一都可以以任意的組合方式來(lái)使用。
[0115] 此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行 所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法 元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在 此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行 的功能。
[0116] 如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞"第一"、"第二"、"第三"等等來(lái) 描述普通對(duì)象僅僅表示涉及類似對(duì)象的不同實(shí)例,并且并不意圖暗示這樣被描述的對(duì)象必 須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。
[0117] 盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域 內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意, 本說(shuō)明書(shū)中使用的語(yǔ)言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限 定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書(shū)的范圍和精神的情況下,對(duì)于本 技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。對(duì)于本發(fā)明的范圍,對(duì)本 發(fā)明所做的公開(kāi)是說(shuō)明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書(shū)限定。
【主權(quán)項(xiàng)】
1. 一種測(cè)試方法,包括: 捕獲網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù)據(jù); 解析捕獲的流量數(shù)據(jù); 從解析后的流量數(shù)據(jù)中提取請(qǐng)求信息,所述請(qǐng)求信息包括請(qǐng)求類型和請(qǐng)求地址; 根據(jù)待測(cè)系統(tǒng)的測(cè)試目標(biāo),從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng)求; 設(shè)置每秒發(fā)送請(qǐng)求數(shù)目; 根據(jù)所述每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送所述測(cè)試請(qǐng)求至待測(cè)系統(tǒng),以獲取測(cè)試結(jié)果。2. 如權(quán)利要求1所述的方法,所述從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng) 求的步驟包括: 從提取的請(qǐng)求信息中篩選出具有特定請(qǐng)求地址的請(qǐng)求信息; 根據(jù)篩選出的請(qǐng)求信息生成對(duì)特定請(qǐng)求地址的測(cè)試請(qǐng)求。3. 如權(quán)利要求1所述的方法,所述從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng) 求的步驟包括: 將提取的請(qǐng)求信息中請(qǐng)求地址替換成待測(cè)系統(tǒng)地址; 根據(jù)替換后的請(qǐng)求信息生成對(duì)待測(cè)系統(tǒng)的測(cè)試請(qǐng)求。4. 如權(quán)利要求1所述的方法,所述從提取的請(qǐng)求信息中篩選出符合測(cè)試目標(biāo)的測(cè)試請(qǐng) 求的步驟包括: 根據(jù)提取的請(qǐng)求信息生成預(yù)定數(shù)目的測(cè)試請(qǐng)求。5. 如權(quán)利要求1所述的方法,所述根據(jù)每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送測(cè)試請(qǐng)求至待測(cè)系 統(tǒng)的步驟包括: 發(fā)送一個(gè)測(cè)試請(qǐng)求之后,等待預(yù)定時(shí)間; 發(fā)送下一個(gè)測(cè)試請(qǐng)求; 其中所述預(yù)定時(shí)間根據(jù)設(shè)置的每秒發(fā)送請(qǐng)求數(shù)目和發(fā)送一個(gè)測(cè)試請(qǐng)求的機(jī)器時(shí)間計(jì) 算而得。6. -種測(cè)試裝置,包括: 流量捕獲模塊,適于捕獲網(wǎng)絡(luò)訪問(wèn)產(chǎn)生的流量數(shù)據(jù); 流量解析模塊,適于解析捕獲的流量數(shù)據(jù); 請(qǐng)求篩選模塊,適于從解析后的流量數(shù)據(jù)中提取請(qǐng)求信息,所述請(qǐng)求信息包括請(qǐng)求類 型和請(qǐng)求地址,還適于根據(jù)待測(cè)系統(tǒng)的測(cè)試目標(biāo),從提取的請(qǐng)求信息中篩選出符合測(cè)試目 標(biāo)的測(cè)試請(qǐng)求;以及 請(qǐng)求發(fā)送模塊,適于設(shè)置每秒發(fā)送請(qǐng)求數(shù)目,根據(jù)所述每秒發(fā)送請(qǐng)求數(shù)目異步發(fā)送所 述測(cè)試請(qǐng)求至待測(cè)系統(tǒng),以獲取測(cè)試結(jié)果。7. 如權(quán)利要求6所述的裝置,所述請(qǐng)求篩選模塊還適于從提取的請(qǐng)求信息中篩選出具 有特定請(qǐng)求地址的請(qǐng)求信息,根據(jù)篩選出的請(qǐng)求信息生成對(duì)特定請(qǐng)求地址的測(cè)試請(qǐng)求。8. 如權(quán)利要求13所述的裝置,所述請(qǐng)求篩選模塊還適于將提取的請(qǐng)求信息中請(qǐng)求地址 替換成待測(cè)系統(tǒng)地址,根據(jù)替換后的請(qǐng)求信息生成對(duì)待測(cè)系統(tǒng)的測(cè)試請(qǐng)求。9. 如權(quán)利要求13所述的裝置,所述請(qǐng)求篩選模塊還適于根據(jù)提取的請(qǐng)求信息生成預(yù)定 數(shù)目的測(cè)試請(qǐng)求。10. -種計(jì)算設(shè)備,包括如權(quán)利要求6-9中任一項(xiàng)所述的測(cè)試裝置。
【文檔編號(hào)】H04L12/26GK105915406SQ201610225289
【公開(kāi)日】2016年8月31日
【申請(qǐng)日】2016年4月12日
【發(fā)明人】宋昊
【申請(qǐng)人】北京齊爾布萊特科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1