本發(fā)明涉及軟件測試技術(shù)領(lǐng)域,尤其涉及一種軟件壓力測試用數(shù)據(jù)提供方法及系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)軟件工業(yè)的發(fā)展,對軟件的進(jìn)行壓力測試越來越成為行內(nèi)普遍的做法,在進(jìn)行軟件的壓力測試時(shí),需要使用大量的數(shù)據(jù)來驅(qū)動(dòng)測試,但是目前普遍使用簡單的編碼為壓力測試系統(tǒng)提供測試用參數(shù),由于需要人工編碼產(chǎn)生測試用參數(shù)工作量大,而且由于測試時(shí)的局限性,所得的測試用參數(shù)與現(xiàn)實(shí)場景的參數(shù)不一致,而且生成的測試用參數(shù)質(zhì)量不高,不能幫助在測試時(shí)發(fā)現(xiàn)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種軟件壓力測試用數(shù)據(jù)提供方法及系統(tǒng),旨在減小為軟件壓力測試系統(tǒng)提供高質(zhì)量的參數(shù)的工作量。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種軟件壓力測試用數(shù)據(jù)提供方法,所述軟件壓力測試用數(shù)據(jù)提供方法包括以下步驟:
獲取生產(chǎn)機(jī)器運(yùn)行運(yùn)營程序時(shí)所產(chǎn)生的流量;
根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù);
根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)。
優(yōu)選地,所述根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù)包括:
獲取所述流量中的原始請求和原始響應(yīng);
屏蔽所述原始請求或所述原始響應(yīng)中的敏感信息;
根據(jù)所述原始請求或所述原始響應(yīng)生成所述測試用參數(shù);
保存所述測試用參數(shù)。
優(yōu)選地,所述保存所述測試用參數(shù)包括:
為所述測試用參數(shù)生成特征碼,所述特征碼用于區(qū)別所述測試用參數(shù)的類別;
存儲(chǔ)所述特征碼和所述測試用參數(shù)至數(shù)據(jù)庫。
優(yōu)選地,所述根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)包括:
接收到所述請求,所述請求包括所述特征碼;
在所述數(shù)據(jù)庫中查詢所有包括所述特征碼的測試用參數(shù);
發(fā)送所述查詢結(jié)果至所述測試系統(tǒng)。
優(yōu)選地,所述獲取生產(chǎn)機(jī)器運(yùn)行運(yùn)營程序時(shí)所產(chǎn)生的流量包括:
當(dāng)在第一預(yù)設(shè)時(shí)間時(shí),實(shí)時(shí)獲取構(gòu)成所述流量的流量包;
在一預(yù)設(shè)時(shí)間段后,停止獲取所述生產(chǎn)機(jī)的流量。
此外還提供一種軟件壓力測試用數(shù)據(jù)提供系統(tǒng),所述軟件壓力測試用數(shù)據(jù)提供系統(tǒng)包括:
獲取模塊,用于獲取生產(chǎn)機(jī)器運(yùn)行運(yùn)營程序時(shí)所產(chǎn)生的流量;
存儲(chǔ)模塊,用于根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù);
發(fā)送模塊,用于根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)。
優(yōu)選地,所述存儲(chǔ)模塊包括:
第一獲取單元,用于獲取所述流量中的原始請求和原始響應(yīng);
屏蔽單元,用于屏蔽所述原始請求或所述原始響應(yīng)中的敏感信息;
第一生成單元,用于根據(jù)所述原始請求或所述原始響應(yīng)生成所述測試用參數(shù);
保存模塊,用于保存所述測試用參數(shù)。
優(yōu)選地,所述保存模塊包括:
第二生成單元,用于為所述測試用參數(shù)生成特征碼,所述特征碼用于區(qū)別所述測試用參數(shù)的類別;
存儲(chǔ)單元,用于存儲(chǔ)所述特征碼和所述測試用參數(shù)至數(shù)據(jù)庫。
優(yōu)選地,所述發(fā)送模塊包括:
接收單元,用于接收到所述請求,所述請求包括所述特征碼;
查找單元,用于在所述數(shù)據(jù)庫中查詢所有包括所述特征碼的測試用參數(shù);
發(fā)送單元,用于發(fā)送所述查詢結(jié)果至所述測試系統(tǒng)。
優(yōu)選地,所述獲取模塊包括:
第二獲取單元,用于當(dāng)在第一預(yù)設(shè)時(shí)間時(shí),實(shí)時(shí)獲取構(gòu)成所述流量的流量包;
停止單元,用于在一預(yù)設(shè)時(shí)間段后,停止獲取所述生產(chǎn)機(jī)的流量。
本發(fā)明通過獲取生產(chǎn)機(jī)器運(yùn)行運(yùn)營程序時(shí)所產(chǎn)生的流量;根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù);根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)。通過把這些實(shí)際的流量的請求轉(zhuǎn)換為測試用參數(shù),使得可以得到最大化、合理轉(zhuǎn)換成高仿真的測試用參數(shù),用于壓力測試的數(shù)據(jù)樣本和后端系統(tǒng)的模擬數(shù)據(jù)返回,使得測試環(huán)境和生產(chǎn)真實(shí)場景高度一致,提高測試數(shù)據(jù)的質(zhì)量,保證功能上線后的穩(wěn)定性。解決了之前人工準(zhǔn)備用例工作量大、耗時(shí)長的問題。
附圖說明
圖1為本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第一實(shí)施例的流程示意圖;
圖2為本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第二實(shí)施例中根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù)步驟的細(xì)化流程示意圖;
圖3為本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第三實(shí)施例中保存所述測試用參數(shù)步驟的細(xì)化流程示意圖;
圖4為本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第四實(shí)施例中根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)步驟的細(xì)化流程示意圖;
圖5為本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第五實(shí)施例中獲取生產(chǎn)機(jī)器運(yùn)行運(yùn)營程序時(shí)所產(chǎn)生的流量步驟的細(xì)化流程示意圖;
圖6為本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第一實(shí)施例的功能模塊示意圖;
圖7為本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第二實(shí)施例中存儲(chǔ)模塊的細(xì)化功能模塊示意圖;
圖8為本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第三實(shí)施例中保存模塊的細(xì)化功能模塊示意圖;
圖9為本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第四實(shí)施例中發(fā)送模塊的細(xì)化功能模塊示意圖;
圖10為本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第五實(shí)施例中獲取模塊的細(xì)化功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種軟件壓力測試用數(shù)據(jù)提供方法,參照圖1,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第一實(shí)施例中,所述軟件壓力測試用數(shù)據(jù)提供方法包括以下步驟:
步驟S10,獲取生產(chǎn)機(jī)器運(yùn)行運(yùn)營程序時(shí)所產(chǎn)生的流量;
步驟S20,根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù);
步驟S30,根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)。
當(dāng)用戶使用運(yùn)營程序?qū)崿F(xiàn)業(yè)務(wù)時(shí),會(huì)在生產(chǎn)機(jī)器產(chǎn)生輸入和輸出響應(yīng),在本實(shí)施例中所述運(yùn)營程序?yàn)榫W(wǎng)絡(luò)應(yīng)用,所述生產(chǎn)機(jī)器為服務(wù)器,所述流量由http(超文本傳輸協(xié)議)請求和http響應(yīng)產(chǎn)生,所述流量在真實(shí)運(yùn)營場景中產(chǎn)生,數(shù)據(jù)流大。通過把這些實(shí)際的流量請求轉(zhuǎn)換為測試用參數(shù),使得可以得到最大化、合理轉(zhuǎn)換成高仿真的測試用參數(shù),這些測試試用參數(shù)用于壓力測試的數(shù)據(jù)樣本和后端系統(tǒng)的模擬數(shù)據(jù)返回,使得測試環(huán)境和生產(chǎn)真實(shí)場景高度一致,解決難以復(fù)現(xiàn)運(yùn)行時(shí)出現(xiàn)的程序問題或性能調(diào)優(yōu)的問題。提高測試數(shù)據(jù)的質(zhì)量,可有效幫助發(fā)現(xiàn)問題,保證功能上線后的穩(wěn)定性。解決了之前人工準(zhǔn)備用例工作量大、覆蓋率低、耗時(shí)長的問題。
具體地,在本實(shí)施例中,通過在所述服務(wù)器設(shè)置攔截器對所述運(yùn)營程序的所有http請求和http響應(yīng),解析所述流量重新獲取所有所述http請求的文本內(nèi)容,獲取所述請求中地址,請求方法,請求參數(shù),組成多個(gè)測試用參數(shù),并存儲(chǔ)為測試用參數(shù)。在測試時(shí)測試系統(tǒng)發(fā)來獲取測試用參數(shù)的請求后,返回所述測試系統(tǒng)所述測試用參數(shù)。減輕了為測試系統(tǒng)準(zhǔn)備測試用參數(shù)的工作量,提高測試數(shù)據(jù)的質(zhì)量,幫助發(fā)現(xiàn)問題,保證功能上線后的穩(wěn)定性。
需要說明的是,在有些實(shí)施例中所獲取的流量為其他協(xié)議的流量,比如桌面程序時(shí),獲取的是機(jī)器IO端口的輸入輸出信息或者thrift協(xié)議(一種跨語言的服務(wù)協(xié)議)。
請參照圖2,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第一實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第二實(shí)施例中,所述根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù)包括:
步驟S21,獲取所述流量中的原始請求和原始響應(yīng);
在本實(shí)施例中,所述測試用參數(shù)不只用于作為測試系統(tǒng)的輸入?yún)?shù),還用于使用所述原始響應(yīng)的信息為所述測試系統(tǒng)提供虛擬的業(yè)務(wù)驅(qū)動(dòng)數(shù)據(jù),例如MOCK數(shù)據(jù),所以在本實(shí)施例中還獲取原始響應(yīng)作模擬的支持?jǐn)?shù)據(jù)源。
步驟S22,屏蔽所述原始請求或所述原始響應(yīng)中的敏感信息;
在原始請求或響應(yīng)中可能會(huì)存在像密碼,用戶住址等敏感信息,為了防止測試人員得到,在本實(shí)施例中,使用掩碼代替所述原始請求或響應(yīng)中的敏感信息。
步驟S23,根據(jù)所述原始請求或所述原始響應(yīng)生成所述測試用參數(shù);
步驟S24,保存所述測試用參數(shù)。
具體地,在獲取到原始請求或所述原始響應(yīng)后,檢查所述原始請求或所述原始響應(yīng)中是否包括密碼,如果包括密碼,則統(tǒng)一使用字符串“******”進(jìn)行替換,把所述原始請求或所述原始響應(yīng)轉(zhuǎn)化為測試用參數(shù),并保存所述已經(jīng)使用“******”代替原有密碼的測試用參數(shù)。通過屏蔽所述原始請求或所述原始響應(yīng)中的敏感信息,避免了用戶信息泄露的可能性,增加為測試系統(tǒng)提供數(shù)據(jù)的安全性。
請參照圖3,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第二實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第三實(shí)施例中,所述保存所述測試用參數(shù)包括:
步驟S241,為所述測試用參數(shù)生成特征碼,所述特征碼用于區(qū)別所述測試用參數(shù)的類別;
步驟S242,存儲(chǔ)所述特征碼和所述測試用參數(shù)至數(shù)據(jù)庫。
通過在存儲(chǔ)時(shí)根據(jù)原有的原始請求或原始響應(yīng)原始響應(yīng)為所述測試用參數(shù)設(shè)置類別,使得所述測試用參數(shù)為多個(gè)時(shí),不需要一個(gè)個(gè)判斷所述測試用參數(shù)是哪種參數(shù),方便測試系統(tǒng)一次進(jìn)行多個(gè)數(shù)據(jù)的調(diào)取,加快為所述測試系統(tǒng)提供數(shù)據(jù)的速度。
具體在本實(shí)施例中,當(dāng)所述測試用參數(shù)為原始請求時(shí),獲取所述原始請求的網(wǎng)絡(luò)請求的地址部分文本,并使用所述地址部分文本的hash值作為所述測試用參數(shù)的特征碼,并存儲(chǔ)所述測試用參數(shù)和所述特征碼,及其對應(yīng)關(guān)系,使得訪問所述網(wǎng)絡(luò)請求的地址的所有參數(shù)擁有一個(gè)唯一的標(biāo)簽。
請參照圖4,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第三實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第四實(shí)施例中,所述根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)包括:
步驟S31,接收到所述請求,所述請求包括所述特征碼;
步驟S32,在所述數(shù)據(jù)庫中查詢所有包括所述特征碼的測試用參數(shù);
步驟S33,發(fā)送所述查詢結(jié)果至所述測試系統(tǒng)。
在測試時(shí),測試系統(tǒng)發(fā)送含有特征碼的獲取請求,在收取到所述獲取請求后根據(jù)所述特征碼在數(shù)據(jù)庫中查詢,根據(jù)所述特征碼查詢到所述測試用參數(shù)后為所述測試系統(tǒng)返回所述測試用參數(shù),所述測試用參數(shù)為所有特征碼為所述獲取請求中的特征碼。通過設(shè)置所述特征碼使得測試系統(tǒng)在返回測試用參數(shù)時(shí),可以一次請求獲取全部的參數(shù),提高了為測試系統(tǒng)提供測試參數(shù)的效率。
請參照圖5,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第一實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供方法第五實(shí)施例中,所述獲取生產(chǎn)機(jī)器運(yùn)行運(yùn)營程序時(shí)所產(chǎn)生的流量包括:
步驟S11,當(dāng)在第一預(yù)設(shè)時(shí)間時(shí),實(shí)時(shí)獲取構(gòu)成所述流量的流量包;
步驟S12,在一預(yù)設(shè)時(shí)間段后,停止獲取所述生產(chǎn)機(jī)的流量。
在本實(shí)施例中,在每天晚上八點(diǎn)開始,通過對所述生產(chǎn)機(jī)器使用tcpdump(一種可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包完全截獲下來提供分析的技術(shù))操作獲取數(shù)據(jù)包,并獲取cap文件,實(shí)時(shí)傳送回指定位置,再根據(jù)所述運(yùn)營程序所是使用的協(xié)議,對所述cap文件進(jìn)行解析,獲取真實(shí)的訪問請求和返回響應(yīng),因?yàn)槭菍?shí)時(shí)進(jìn)行數(shù)據(jù)的獲取和傳送,避免了因?yàn)閷iT對原有響應(yīng)的訪問或等待導(dǎo)致對業(yè)務(wù)線的影響;在三十分鐘后停止tcpdump操作。通過在指定的第一時(shí)間進(jìn)行預(yù)設(shè)時(shí)間段的獲取所述生產(chǎn)機(jī)器的流量,也避免了長時(shí)間對所述運(yùn)營程序正常業(yè)務(wù)的影響,提高了獲取測試用參數(shù)的安全性。
本發(fā)明提供一種軟件壓力測試用數(shù)據(jù)提供系統(tǒng),參照圖6,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第一實(shí)施例中,所述軟件壓力測試用數(shù)據(jù)提供系統(tǒng)包括:
獲取模塊10,用于獲取生產(chǎn)機(jī)器的流量,所述生產(chǎn)機(jī)器為運(yùn)行運(yùn)營程序的機(jī)器,所述流量為所述運(yùn)營程序真實(shí)運(yùn)行時(shí)所產(chǎn)生的流量;
存儲(chǔ)模塊20,用于根據(jù)所述流量生成測試用參數(shù),并存儲(chǔ)所述測試用參數(shù);
發(fā)送模塊30,用于根據(jù)接收到的由測試系統(tǒng)發(fā)送的獲取所述測試用參數(shù)的請求,發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)。
當(dāng)用戶使用運(yùn)營程序?qū)崿F(xiàn)業(yè)務(wù)時(shí),會(huì)在生產(chǎn)機(jī)器產(chǎn)生輸入和輸出響應(yīng),在本實(shí)施例中所述運(yùn)營程序?yàn)榫W(wǎng)絡(luò)應(yīng)用,所述生產(chǎn)機(jī)器為服務(wù)器,所述流量由http(超文本傳輸協(xié)議)請求和http響應(yīng)產(chǎn)生,所述流量在真實(shí)運(yùn)營場景中產(chǎn)生,數(shù)據(jù)流大。通過把這些實(shí)際的流量請求轉(zhuǎn)換為測試用參數(shù),使得可以得到最大化、合理轉(zhuǎn)換成高仿真的測試用參數(shù),這些測試試用參數(shù)用于壓力測試的數(shù)據(jù)樣本和后端系統(tǒng)的模擬數(shù)據(jù)返回,使得測試環(huán)境和生產(chǎn)真實(shí)場景高度一致,解決難以復(fù)現(xiàn)運(yùn)行時(shí)出現(xiàn)的程序問題或性能調(diào)優(yōu)的問題。提高測試數(shù)據(jù)的質(zhì)量,,可有效幫助發(fā)現(xiàn)問題,保證功能上線后的穩(wěn)定性。解決了之前人工準(zhǔn)備用例工作量大、覆蓋率低、耗時(shí)長的問題。
具體地,在本實(shí)施例中,獲取模塊10通過在所述服務(wù)器設(shè)置攔截器對所述運(yùn)營程序的所有http請求和http響應(yīng),解析所述流量重新獲取所有所述http請求的文本內(nèi)容,獲取所述請求中地址,請求方法,請求參數(shù),組成多個(gè)測試用參數(shù),模塊20存儲(chǔ)存儲(chǔ)為測試用參數(shù)。在測試時(shí)測試系統(tǒng)發(fā)來獲取測試用參數(shù)的請求后,發(fā)送模塊30返回所述測試系統(tǒng)所述測試用參數(shù)。減輕了為測試系統(tǒng)準(zhǔn)備測試用參數(shù)的工作量,提高測試數(shù)據(jù)的質(zhì)量,幫助發(fā)現(xiàn)問題,保證功能上線后的穩(wěn)定性。
需要說明的是,在有些實(shí)施例中所獲取的流量為其他協(xié)議的流量,比如桌面程序時(shí),獲取的是機(jī)器IO端口的輸入輸出信息或者thrift協(xié)議(一種跨語言的服務(wù)協(xié)議)。
請參照圖7,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第一實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第二實(shí)施例中,所述存儲(chǔ)模塊包括:
第一獲取單元21,用于獲取所述流量中的原始請求和原始響應(yīng);
在本實(shí)施例中,所述測試用參數(shù)不只用于作為測試系統(tǒng)的輸入?yún)?shù),還用于使用所述原始響應(yīng)的信息為所述測試系統(tǒng)提供虛擬的業(yè)務(wù)驅(qū)動(dòng)數(shù)據(jù),例如MOCK數(shù)據(jù),所以在本實(shí)施例中還獲取原始響應(yīng)作模擬的支持?jǐn)?shù)據(jù)源。
屏蔽單元22,用于屏蔽所述原始請求或所述原始響應(yīng)中的敏感信息;
在原始請求或響應(yīng)中可能會(huì)存在像密碼,用戶住址等敏感信息,為了防止測試人員得到,在本實(shí)施例中,使用掩碼代替所述原始請求或響應(yīng)中的敏感信息。
第一生成單元23,用于根據(jù)所述原始請求或所述原始響應(yīng)生成所述測試用參數(shù);
保存模塊24,用于保存所述測試用參數(shù)。
具體地,在第一獲取單元21獲取到原始請求或所述原始響應(yīng)后,屏蔽單元22檢查所述原始請求或所述原始響應(yīng)中是否包括密碼,如果包括密碼,則統(tǒng)一使用字符串“******”進(jìn)行替換,第一生成單元23把所述原始請求或所述原始響應(yīng)轉(zhuǎn)化為測試用參數(shù),保存模塊24保存所述已經(jīng)使用“******”代替原有密碼的測試用參數(shù)。通過屏蔽所述原始請求或所述原始響應(yīng)中的敏感信息,避免了用戶信息泄露的可能性,增加為測試系統(tǒng)提供數(shù)據(jù)的安全性。
請參照圖8,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第二實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第三實(shí)施例中,所述存儲(chǔ)模塊包括:
第二生成單元241,用于為所述測試用參數(shù)生成特征碼測試用參數(shù)生成特征碼,所述特征碼用于區(qū)別所述測試用參數(shù)的類別;
存儲(chǔ)單元242,用于存儲(chǔ)所述特征碼和所述測試用參數(shù)至數(shù)據(jù)庫。
通過在存儲(chǔ)時(shí)根據(jù)原有的原始請求或原始響應(yīng)原始響應(yīng)為所述測試用參數(shù)設(shè)置類別,使得所述測試用參數(shù)為多個(gè)時(shí),不需要一個(gè)個(gè)判斷所述測試用參數(shù)是哪種參數(shù),方便測試系統(tǒng)一次進(jìn)行多個(gè)數(shù)據(jù)的調(diào)取,加快為所述測試系統(tǒng)提供數(shù)據(jù)的速度。
具體在本實(shí)施例中,當(dāng)所述測試用參數(shù)為原始請求時(shí),第二生成單元241獲取所述原始請求的網(wǎng)絡(luò)請求的地址部分文本,并使用所述地址部分文本的hash值作為所述測試用參數(shù)的特征碼,存儲(chǔ)單元242存儲(chǔ)所述測試用參數(shù)和所述特征碼,及其對應(yīng)關(guān)系,使得訪問所述網(wǎng)絡(luò)請求的地址的所有參數(shù)擁有一個(gè)唯一的標(biāo)簽。
請參照圖9,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第三實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第四實(shí)施例中,所述發(fā)送模塊包括:
接收單元31,用于接收到來自所述測試系統(tǒng)的獲取請求,所述獲取請求包括所述測試用參數(shù)的特征碼;
查找單元32,用于在數(shù)據(jù)庫中通過所述測試用參數(shù)的特征碼查找所述測試用參數(shù);
發(fā)送單元33,用于根據(jù)查找的結(jié)果發(fā)送所述測試用參數(shù)至所述測試系統(tǒng)所述測試系統(tǒng)。
在測試時(shí),測試系統(tǒng)發(fā)送含有特征碼的獲取請求,在收取到所述獲取請求后接收單元31根據(jù)所述特征碼在數(shù)據(jù)庫中查詢,查找單元32根據(jù)所述特征碼查詢到所述測試用參數(shù)后,發(fā)送單元33為所述測試系統(tǒng)返回所述測試用參數(shù),所述測試用參數(shù)為所有特征碼為所述獲取請求中的特征碼。通過設(shè)置所述特征碼使得測試系統(tǒng)在返回測試用參數(shù)時(shí),可以一次請求獲取全部的參數(shù),提高了為測試系統(tǒng)提供測試參數(shù)的效率。
請參照圖10,基于本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第一實(shí)施例,在本發(fā)明軟件壓力測試用數(shù)據(jù)提供系統(tǒng)第五實(shí)施例中,所所述獲取模塊包括:
第二獲取單元11,當(dāng)在第一預(yù)設(shè)時(shí)間時(shí),實(shí)時(shí)獲取所述流量,所述流量為所述生產(chǎn)機(jī)器指定端口中傳送的數(shù)據(jù)包;
停止單元12,在一預(yù)設(shè)時(shí)間段后,停止獲取所述生產(chǎn)機(jī)的流量。
在本實(shí)施例中,第二獲取單元11在每天晚上八點(diǎn)開始,通過對所述生產(chǎn)機(jī)器使用tcpdump(一種可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包完全截獲下來提供分析的技術(shù))操作獲取數(shù)據(jù)包,并獲取cap文件,實(shí)時(shí)傳送回指定位置,再根據(jù)所述運(yùn)營程序所是使用的協(xié)議,對所述cap文件進(jìn)行解析,獲取真實(shí)的訪問請求和返回響應(yīng);停止單元12在三十分鐘后停止tcpdump操作。通過在指定的第一時(shí)間進(jìn)行預(yù)設(shè)時(shí)間段的獲取所述生產(chǎn)機(jī)器的流量,避免了長時(shí)間對所述運(yùn)營程序正常業(yè)務(wù)的影響,提高了獲取測試用參數(shù)的安全性。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。