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

測(cè)試系統(tǒng)及方法與流程

文檔序號(hào):12905991閱讀:362來(lái)源:國(guó)知局
測(cè)試系統(tǒng)及方法與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種測(cè)試系統(tǒng)及方法。



背景技術(shù):

目前,測(cè)試系統(tǒng)得到了越來(lái)越廣泛的應(yīng)用。例如,在游戲正式上線(xiàn)之前,需要通過(guò)測(cè)試系統(tǒng)對(duì)游戲服務(wù)器的性能進(jìn)行測(cè)試,以確保游戲正式上線(xiàn)后,該游戲服務(wù)器能夠?yàn)橛脩?hù)提供穩(wěn)定的服務(wù)。

傳統(tǒng)的測(cè)試系統(tǒng)通常包括控制裝置以及測(cè)試裝置兩部分,其中,控制裝置用于向測(cè)試裝置發(fā)送測(cè)試任務(wù),以控制測(cè)試裝置的測(cè)試過(guò)程,測(cè)試裝置用于根據(jù)接收到的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試,并將獲得的測(cè)試數(shù)據(jù)提供給控制裝置處理。另外,為了提高測(cè)試過(guò)程的并發(fā)性,通常會(huì)布署多臺(tái)測(cè)試裝置并行進(jìn)行測(cè)試。各臺(tái)測(cè)試裝置分別將與其對(duì)應(yīng)的測(cè)試數(shù)據(jù)提供給控制裝置處理。

但是,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),現(xiàn)有技術(shù)中的上述方式至少存在下述缺陷:由于每臺(tái)測(cè)試裝置產(chǎn)生的測(cè)試數(shù)據(jù)都要提供給控制裝置,由控制裝置針對(duì)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,以確定測(cè)試結(jié)果,因此,控制裝置進(jìn)行統(tǒng)計(jì)分析時(shí)勢(shì)必要處理海量的測(cè)試數(shù)據(jù),而海量數(shù)據(jù)的處理過(guò)程通常耗時(shí)較長(zhǎng)、因而處理效率低下。另外,控制裝置在處理海量數(shù)據(jù)的過(guò)程中將占用較多的系統(tǒng)資源,由于整個(gè)測(cè)試系統(tǒng)內(nèi)部的資源總量是有限的,因而勢(shì)必會(huì)導(dǎo)致各臺(tái)測(cè)試裝置所能享用的系統(tǒng)資源量降低,進(jìn)而影響各臺(tái)測(cè)試裝置的測(cè)試性能。例如,在壓力測(cè)試場(chǎng)景中,各臺(tái)測(cè)試裝置所能享用的系統(tǒng)資源量降低后,勢(shì)必會(huì)降低整個(gè)測(cè)試系統(tǒng)針對(duì)被測(cè)對(duì)象施加的最大壓力,從而無(wú)法準(zhǔn)確測(cè)試被測(cè)對(duì)象的性能極限。



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

鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的測(cè)試系統(tǒng)及方法。

根據(jù)本發(fā)明的一個(gè)方面,提供了一種測(cè)試系統(tǒng),包括:控制裝置以及多個(gè)與控制裝置分別相連的測(cè)試裝置;其中,控制裝置用于向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù),各個(gè)測(cè)試裝置用于根據(jù)接收到的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;其中,每個(gè)測(cè)試裝置進(jìn)一步用于:對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果,將局部統(tǒng)計(jì)結(jié)果提供給控制裝置;控制裝置進(jìn)一步用于:對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總,根據(jù)匯總結(jié)果確定被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

根據(jù)本發(fā)明的另一方面,提供了一種測(cè)試方法,該方法包括:各個(gè)測(cè)試裝置根據(jù)接收到的來(lái)自控制裝置的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;每個(gè)測(cè)試裝置對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果;每個(gè)測(cè)試裝置將與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果提供給控制裝置,以供控制裝置對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總后得到被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

根據(jù)本發(fā)明的又一方面,提供了一種電子設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線(xiàn),所述處理器、所述存儲(chǔ)器和所述通信接口通過(guò)所述通信總線(xiàn)完成相互間的通信;所述存儲(chǔ)器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行上述測(cè)試方法對(duì)應(yīng)的操作。

根據(jù)本發(fā)明的再一方面,提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一可執(zhí)行指令,所述可執(zhí)行指令使處理器執(zhí)行如上述測(cè)試方法對(duì)應(yīng)的操作。

在本發(fā)明提供的測(cè)試系統(tǒng)及方法中,每個(gè)測(cè)試裝置進(jìn)一步用于對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果,將局部統(tǒng)計(jì)結(jié)果提供給控制裝置。由此可見(jiàn),各個(gè)測(cè)試裝置不僅負(fù)責(zé)執(zhí)行測(cè)試,還負(fù)責(zé)針對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),并將統(tǒng)計(jì)后得到的局部統(tǒng)計(jì)結(jié)果提供給控制裝置。由于全部的測(cè)試數(shù)據(jù)被拆分為與各個(gè)測(cè)試裝置相對(duì)應(yīng)的多個(gè)部分,且各部分測(cè)試數(shù)據(jù)經(jīng)過(guò)對(duì)應(yīng)的測(cè)試裝置的統(tǒng)計(jì)后,降低了數(shù)據(jù)量、簡(jiǎn)化了后續(xù)的統(tǒng)計(jì)工作量,因此,控制裝置只需對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總即可得到被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù),無(wú)需處理海量的測(cè)試數(shù)據(jù)。該方式不僅提升了控制裝置的處理效率,還降低了控制裝置的系統(tǒng)資源占用量,因而各個(gè)測(cè)試裝置所能享用的系統(tǒng)資源量不受影響,進(jìn)而可以針對(duì)被測(cè)對(duì)象施加的更大的壓力,從而準(zhǔn)確地測(cè)試被測(cè)對(duì)象的性能極限。

上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

附圖說(shuō)明

通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例提供的一種測(cè)試系統(tǒng)的結(jié)構(gòu)框圖;

圖2示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例提供的一種測(cè)試系統(tǒng)的結(jié)構(gòu)圖;

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例提供的一種測(cè)試方法的流程圖;

圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將參照附圖更詳細(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ù)人員。

圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例提供的一種測(cè)試系統(tǒng)的結(jié)構(gòu)圖。如圖1所示,該系統(tǒng)包括:控制裝置11以及多個(gè)與控制裝置11分別相連的測(cè)試裝置12。其中,控制裝置11用于向各個(gè)測(cè)試裝置12發(fā)送測(cè)試任務(wù),各個(gè)測(cè)試裝置12用于根據(jù)接收到的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試。其中,每個(gè)測(cè)試裝置12進(jìn)一步用于:對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果,將局部統(tǒng)計(jì)結(jié)果提供給控制裝置11;并且,控制裝置11進(jìn)一步用于:對(duì)各個(gè)測(cè)試裝置12提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總,根據(jù)匯總結(jié)果確定被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

其中,該測(cè)試系統(tǒng)可廣泛應(yīng)用于對(duì)各類(lèi)被測(cè)對(duì)象進(jìn)行測(cè)試,例如,既可以針對(duì)被測(cè)服務(wù)器進(jìn)行測(cè)試,也可以針對(duì)被測(cè)終端進(jìn)行測(cè)試。測(cè)試裝置的具體數(shù)量可根據(jù)測(cè)試需求靈活調(diào)整。

另外,測(cè)試任務(wù)可以包括各種類(lèi)型的測(cè)試任務(wù),本發(fā)明對(duì)此不做限定。例如,可以是用于對(duì)被測(cè)服務(wù)器的系統(tǒng)資源(包括內(nèi)存、cpu、網(wǎng)絡(luò)帶寬等)進(jìn)行測(cè)試的測(cè)試任務(wù),也可以是用于對(duì)被測(cè)服務(wù)器所能服務(wù)的最大用戶(hù)數(shù)量進(jìn)行測(cè)試的測(cè)試任務(wù)等。相應(yīng)地,與每個(gè)測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)的具體內(nèi)容是由該測(cè)試裝置執(zhí)行的測(cè)試任務(wù)決定的,例如,當(dāng)測(cè)試任務(wù)為用于對(duì)被測(cè)服務(wù)器的系統(tǒng)資源進(jìn)行測(cè)試的測(cè)試任務(wù)時(shí),與每個(gè)測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)為該測(cè)試裝置執(zhí)行測(cè)試任務(wù)后測(cè)得的被測(cè)服務(wù)器的系統(tǒng)資源值。另外,與每個(gè)測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果是指:針對(duì)該測(cè)試裝置執(zhí)行測(cè)試任務(wù)后得到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)的結(jié)果。例如,若測(cè)試裝置的數(shù)量為三個(gè),則每個(gè)測(cè)試裝置分別得到一份局部統(tǒng)計(jì)結(jié)果,控制裝置針對(duì)三份局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總后得到被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

由此可見(jiàn),在本發(fā)明提供的測(cè)試系統(tǒng)中,由于全部的測(cè)試數(shù)據(jù)被拆分為與各個(gè)測(cè)試裝置相對(duì)應(yīng)的多個(gè)部分,且各部分測(cè)試數(shù)據(jù)經(jīng)過(guò)對(duì)應(yīng)的測(cè)試裝置的統(tǒng)計(jì)后,降低了數(shù)據(jù)量、簡(jiǎn)化了后續(xù)的統(tǒng)計(jì)工作量,因此,控制裝置只需對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總即可得到被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù),無(wú)需處理海量的測(cè)試數(shù)據(jù)。該方式不僅提升了控制裝置的處理效率,還降低了控制裝置的系統(tǒng)資源占用量,因而各個(gè)測(cè)試裝置所能享用的系統(tǒng)資源量不受影響,進(jìn)而可以針對(duì)被測(cè)對(duì)象施加的更大的壓力,從而準(zhǔn)確地測(cè)試被測(cè)對(duì)象的性能極限。

圖2示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例提供的一種測(cè)試系統(tǒng)的結(jié)構(gòu)圖。本實(shí)施例用于針對(duì)被測(cè)服務(wù)器進(jìn)行壓力測(cè)試,以確定被測(cè)服務(wù)器的性能數(shù)據(jù)。如圖2所示,該系統(tǒng)包括:控制裝置21以及三個(gè)與控制裝置21分別相連的測(cè)試裝置22。其中,控制裝置21進(jìn)一步包括:控制服務(wù)器211、第一數(shù)據(jù)庫(kù)212、以及第二數(shù)據(jù)庫(kù)213。相應(yīng)地,各個(gè)測(cè)試裝置22分別與控制服務(wù)器211、第一數(shù)據(jù)庫(kù)212、以及第二數(shù)據(jù)庫(kù)213相連。并且,各個(gè)測(cè)試裝置22進(jìn)一步與被測(cè)服務(wù)器20相連。

其中,控制裝置21主要用于向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù),并對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總,根據(jù)匯總結(jié)果確定被測(cè)服務(wù)器的測(cè)試結(jié)果數(shù)據(jù)。下面詳細(xì)介紹控制裝置21中包含的控制服務(wù)器211、第一數(shù)據(jù)庫(kù)212、以及第二數(shù)據(jù)庫(kù)213的具體功能:

控制服務(wù)器211(也叫server)作為中控節(jié)點(diǎn),負(fù)責(zé)控制整個(gè)測(cè)試系統(tǒng)的運(yùn)行。通常情況下,用戶(hù)終端預(yù)先通過(guò)web端向控制服務(wù)器錄入測(cè)試用例,控制服務(wù)器將用戶(hù)終端錄入的測(cè)試用例保存到第一數(shù)據(jù)庫(kù)212中,以供后續(xù)的測(cè)試過(guò)程使用。

首先,當(dāng)控制服務(wù)器211接收到來(lái)自用戶(hù)終端的測(cè)試任務(wù)時(shí),確定該測(cè)試任務(wù)的任務(wù)分配信息,具體包括負(fù)責(zé)運(yùn)行該任務(wù)的測(cè)試裝置、和/或任務(wù)并發(fā)數(shù)等。其中,確定測(cè)試任務(wù)的任務(wù)分配信息的方式包括多種,例如,在一種實(shí)現(xiàn)方式中,可以由用戶(hù)終端將測(cè)試任務(wù)中包含的任務(wù)分配信息直接發(fā)送給控制服務(wù)器,由控制服務(wù)器解析得到該測(cè)試任務(wù)的任務(wù)分配信息后,將該測(cè)試任務(wù)的任務(wù)分配信息進(jìn)一步存儲(chǔ)到第一數(shù)據(jù)庫(kù)中,以供后續(xù)查詢(xún);在另一種實(shí)現(xiàn)方式中,可以預(yù)先將測(cè)試任務(wù)中包含的任務(wù)分配信息錄入到第一數(shù)據(jù)庫(kù)中,由控制服務(wù)器從第一數(shù)據(jù)庫(kù)中查詢(xún)?cè)摐y(cè)試任務(wù)的任務(wù)分配信息。

然后,控制服務(wù)器根據(jù)該測(cè)試任務(wù)的任務(wù)分配信息,為該測(cè)試任務(wù)分配對(duì)應(yīng)的測(cè)試裝置,并向相應(yīng)的測(cè)試裝置發(fā)送該測(cè)試任務(wù)。例如,若測(cè)試任務(wù)的任務(wù)分配信息中指定了負(fù)責(zé)運(yùn)行該任務(wù)的測(cè)試裝置,則直接將該測(cè)試任務(wù)發(fā)送給對(duì)應(yīng)的測(cè)試裝置;若測(cè)試任務(wù)的任務(wù)分配信息中未指定負(fù)責(zé)運(yùn)行該任務(wù)的測(cè)試裝置,則控制服務(wù)器查詢(xún)各個(gè)測(cè)試裝置22的狀態(tài)信息,根據(jù)各個(gè)測(cè)試裝置22的狀態(tài)信息確定各個(gè)測(cè)試裝置22的當(dāng)前承載能力,并將該測(cè)試任務(wù)發(fā)送給相對(duì)較為空閑的測(cè)試裝置,以實(shí)現(xiàn)負(fù)載均衡。另外,若測(cè)試任務(wù)的任務(wù)分配信息中還指定了該任務(wù)的任務(wù)并發(fā)數(shù),則需要根據(jù)任務(wù)并發(fā)數(shù)的大小確定執(zhí)行該測(cè)試任務(wù)的測(cè)試裝置的數(shù)量。例如,若任務(wù)并發(fā)數(shù)較小,可以將該任務(wù)發(fā)送給一臺(tái)測(cè)試裝置執(zhí)行;反之,可以將該任務(wù)發(fā)送給多臺(tái)測(cè)試裝置并行執(zhí)行。

另外,在本實(shí)施例中,控制服務(wù)器需要同時(shí)控制多臺(tái)測(cè)試裝置,因此,為了提高控制服務(wù)器的運(yùn)行效率,當(dāng)控制服務(wù)器向各臺(tái)測(cè)試裝置發(fā)送測(cè)試任務(wù)時(shí),通過(guò)向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)標(biāo)識(shí)的方式實(shí)現(xiàn),相應(yīng)地,各個(gè)測(cè)試裝置具體用于:根據(jù)接收到的測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)標(biāo)識(shí),從第一數(shù)據(jù)庫(kù)212存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)中獲取與該任務(wù)標(biāo)識(shí)相對(duì)應(yīng)的任務(wù)信息,根據(jù)獲取到的任務(wù)信息對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試。其中,任務(wù)標(biāo)識(shí)用于唯一地標(biāo)識(shí)一個(gè)測(cè)試任務(wù),例如可以是任務(wù)id。任務(wù)信息包括運(yùn)行該測(cè)試任務(wù)時(shí)所需的全部數(shù)據(jù)信息。例如,任務(wù)信息可以包括以下中的至少一個(gè):任務(wù)發(fā)起者、負(fù)責(zé)運(yùn)行該任務(wù)的測(cè)試裝置、任務(wù)并發(fā)數(shù)、任務(wù)開(kāi)始時(shí)間、任務(wù)結(jié)束時(shí)間、以及任務(wù)結(jié)束條件等。任務(wù)信息既可以由用戶(hù)終端預(yù)先錄入,也可以在設(shè)計(jì)測(cè)試用例時(shí)直接生成。由此可見(jiàn),任務(wù)的任務(wù)分配信息與任務(wù)信息的具體內(nèi)涵不同,任務(wù)的任務(wù)分配信息通常僅限于用于分配測(cè)試裝置的信息,信息數(shù)據(jù)量通常較少。而任務(wù)信息則包括運(yùn)行測(cè)試任務(wù)時(shí)所需的全部信息,信息數(shù)據(jù)量通常較大。正是由于任務(wù)信息的數(shù)據(jù)量較大,因此,為了避免由控制服務(wù)器分別向各個(gè)測(cè)試裝置發(fā)送任務(wù)信息所帶來(lái)的時(shí)間延遲和資源占用,因此,本方案中的控制服務(wù)器只需向測(cè)試裝置發(fā)送數(shù)據(jù)量較小的任務(wù)標(biāo)識(shí)即可,然后由各個(gè)測(cè)試裝置直接訪問(wèn)第一數(shù)據(jù)庫(kù),以獲取與任務(wù)標(biāo)識(shí)對(duì)應(yīng)的任務(wù)信息,由于各個(gè)測(cè)試裝置可以并行地訪問(wèn)第一數(shù)據(jù)庫(kù),因而提高了處理效率。

另外,在某些測(cè)試場(chǎng)景中,除了任務(wù)信息外,還需要任務(wù)動(dòng)作來(lái)控制測(cè)試任務(wù)的運(yùn)行過(guò)程。此時(shí),控制服務(wù)器進(jìn)一步用于:向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)動(dòng)作,則各個(gè)測(cè)試裝置具體用于:結(jié)合任務(wù)動(dòng)作對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;其中,任務(wù)動(dòng)作包括以下中的至少一個(gè):運(yùn)行、停止、以及暫停。換言之,第一數(shù)據(jù)庫(kù)中存儲(chǔ)的各個(gè)測(cè)試任務(wù)的任務(wù)信息主要是指靜態(tài)的數(shù)據(jù)信息,而任務(wù)動(dòng)作則定義了任務(wù)運(yùn)行過(guò)程中的動(dòng)態(tài)信息,例如,何時(shí)開(kāi)始運(yùn)行、何時(shí)停止、何時(shí)暫停以及暫停次數(shù)等。

由此可見(jiàn),在本實(shí)施例中,通過(guò)第一數(shù)據(jù)庫(kù)212存儲(chǔ)與測(cè)試任務(wù)相關(guān)的各種業(yè)務(wù)數(shù)據(jù),其中包含運(yùn)行測(cè)試任務(wù)時(shí)所需的任務(wù)信息。另外,為了提升業(yè)務(wù)數(shù)據(jù)的訪問(wèn)效率,第一數(shù)據(jù)庫(kù)優(yōu)選采用redis數(shù)據(jù)庫(kù)實(shí)現(xiàn),該數(shù)據(jù)庫(kù)通過(guò)內(nèi)存訪問(wèn),能夠大幅加快訪問(wèn)速度,從而為測(cè)試任務(wù)的快速執(zhí)行提供了有利保障。并且,由于本實(shí)施例中的各個(gè)測(cè)試裝置能夠直接根據(jù)任務(wù)標(biāo)識(shí)訪問(wèn)第一數(shù)據(jù)庫(kù)并獲取對(duì)應(yīng)的任務(wù)信息,因此,與傳統(tǒng)方式中,由控制服務(wù)器從第一數(shù)據(jù)庫(kù)中獲取各個(gè)測(cè)試任務(wù)的任務(wù)信息并逐一將各個(gè)任務(wù)信息發(fā)送給各個(gè)測(cè)試裝置的方式相比,省去了大量的中間環(huán)節(jié),既提升了處理效率,又降低了控制服務(wù)器的資源消耗和性能壓力,從而為各個(gè)測(cè)試裝置的測(cè)試過(guò)程節(jié)省出了足夠的系統(tǒng)資源。

各個(gè)測(cè)試裝置22用于根據(jù)接收到的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試,并進(jìn)一步對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果,將該局部統(tǒng)計(jì)結(jié)果提供給第二數(shù)據(jù)庫(kù)213。

具體地,各個(gè)測(cè)試裝置能夠并行實(shí)現(xiàn)多個(gè)測(cè)試任務(wù)的測(cè)試過(guò)程??蛇x的,為了進(jìn)一步提升并發(fā)效果,每個(gè)測(cè)試裝置具體用于:通過(guò)多個(gè)并行執(zhí)行的協(xié)程對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試,其中,每個(gè)協(xié)程用于模擬至少一個(gè)用戶(hù)終端。具體實(shí)現(xiàn)時(shí),本發(fā)明中的每個(gè)測(cè)試裝置可以同時(shí)開(kāi)啟多個(gè)協(xié)程,分別模擬不同的用戶(hù)終端和/或執(zhí)行不同類(lèi)型的測(cè)試任務(wù)。由于協(xié)程較于線(xiàn)程而言,資源消耗更少,因而能夠?qū)⒂邢薜南到y(tǒng)資源更好地用于壓力測(cè)試中,以便對(duì)被測(cè)服務(wù)器施加最大壓力,從而更準(zhǔn)確地測(cè)試出被測(cè)服務(wù)器的極限性能。

另外,為了進(jìn)一步降低控制服務(wù)器的處理壓力,以防止控制服務(wù)器消耗過(guò)多的系統(tǒng)資源,在本實(shí)施例中,每個(gè)測(cè)試裝置具體用于:將與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)緩存在預(yù)設(shè)的緩存區(qū)域中,從緩存區(qū)域中獲取與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),并對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。優(yōu)選地,該緩存區(qū)域可以為內(nèi)存區(qū)域。通過(guò)每個(gè)測(cè)試裝置分別負(fù)責(zé)統(tǒng)計(jì)與自身相關(guān)的測(cè)試數(shù)據(jù)的方式,能夠大幅降低控制服務(wù)器的處理壓力。

并且,為了防止內(nèi)存中緩存的測(cè)試數(shù)據(jù)量呈現(xiàn)線(xiàn)性增長(zhǎng)的趨勢(shì),每個(gè)測(cè)試裝置具體用于:每隔預(yù)設(shè)的時(shí)間周期從緩存區(qū)域中獲取本時(shí)間周期內(nèi)產(chǎn)生的與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。例如,時(shí)間周期可以以小時(shí)為單位,每個(gè)測(cè)試裝置每隔一小時(shí)對(duì)本小時(shí)內(nèi)產(chǎn)生的相關(guān)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),因此,內(nèi)存中僅存儲(chǔ)最近的一小時(shí)之內(nèi)產(chǎn)生的測(cè)試數(shù)據(jù),因此,在各個(gè)時(shí)間段內(nèi),內(nèi)存中存儲(chǔ)的數(shù)據(jù)總量近似不變,不會(huì)在某一瞬間對(duì)系統(tǒng)資源造成過(guò)大的消耗,進(jìn)而為各個(gè)測(cè)試裝置向被測(cè)服務(wù)器施加最大壓力提供了資源保障。

另外,在各個(gè)測(cè)試裝置進(jìn)行初步統(tǒng)計(jì)后得到的局部統(tǒng)計(jì)結(jié)果中,包含了與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)的統(tǒng)計(jì)內(nèi)容,例如,若測(cè)試數(shù)據(jù)中包含被測(cè)服務(wù)器在大量時(shí)間點(diǎn)的內(nèi)存占用情況,則局部統(tǒng)計(jì)結(jié)果中包含上述時(shí)間點(diǎn)對(duì)應(yīng)的內(nèi)存平均占用情況等統(tǒng)計(jì)信息,因此,通過(guò)局部統(tǒng)計(jì)的方式,還降低了原始的測(cè)試數(shù)據(jù)的數(shù)據(jù)大小,節(jié)約了第二數(shù)據(jù)庫(kù)中的存儲(chǔ)空間,加快了后續(xù)的訪問(wèn)速度。

由此可見(jiàn),在本實(shí)施例中,第二數(shù)據(jù)庫(kù)213主要用于存儲(chǔ)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果,以及控制服務(wù)器211根據(jù)匯總結(jié)果確定的被測(cè)服務(wù)器的測(cè)試結(jié)果數(shù)據(jù)。另外,為了降低內(nèi)存消耗,提升存儲(chǔ)容量,第二數(shù)據(jù)庫(kù)213優(yōu)選采用mongodb數(shù)據(jù)庫(kù)實(shí)現(xiàn)。相應(yīng)地,控制服務(wù)器211從第二數(shù)據(jù)庫(kù)213中獲取各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果并進(jìn)行匯總。由于局部統(tǒng)計(jì)結(jié)果的數(shù)據(jù)量相較于原始測(cè)試數(shù)據(jù)大幅縮小,且局部統(tǒng)計(jì)結(jié)果為多個(gè)分別對(duì)應(yīng)于不同的測(cè)試裝置的數(shù)據(jù)子表,因而避免了控制服務(wù)器同時(shí)操作一張包含全部測(cè)試裝置對(duì)應(yīng)的原始測(cè)試數(shù)據(jù)的數(shù)據(jù)總表時(shí)所帶來(lái)的巨大資源開(kāi)銷(xiāo)。通過(guò)降低控制服務(wù)器的處理壓力,能夠大幅提升本系統(tǒng)測(cè)試的壓測(cè)效果。

另外,在本實(shí)施例中,根據(jù)各種數(shù)據(jù)的數(shù)據(jù)格式和存儲(chǔ)特點(diǎn),分別制定了多種存儲(chǔ)方式,相較于傳統(tǒng)的采用單一數(shù)據(jù)庫(kù)存儲(chǔ)的方式而言,能夠適應(yīng)實(shí)際業(yè)務(wù)的需求。例如,針對(duì)于原始的測(cè)試數(shù)據(jù),如果用redis數(shù)據(jù)庫(kù)存儲(chǔ)壓測(cè)結(jié)果數(shù)據(jù),會(huì)消耗redis數(shù)據(jù)庫(kù)很多內(nèi)存資源,其代價(jià)較高,并且redis數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)類(lèi)型簡(jiǎn)單,因此不便于進(jìn)行統(tǒng)計(jì);如果用mongodb數(shù)據(jù)庫(kù)存儲(chǔ)壓測(cè)結(jié)果數(shù)據(jù),則在存儲(chǔ)和實(shí)時(shí)統(tǒng)計(jì)測(cè)試數(shù)據(jù)時(shí)需要頻繁操作數(shù)據(jù)庫(kù),這不僅會(huì)降低對(duì)被測(cè)服務(wù)器施加的壓力,而且對(duì)于實(shí)時(shí)監(jiān)控的統(tǒng)計(jì)數(shù)據(jù),當(dāng)其并發(fā)數(shù)較高時(shí)會(huì)出現(xiàn)響應(yīng)時(shí)延,影響平臺(tái)的正常運(yùn)行。因此,通過(guò)將原始的測(cè)試數(shù)據(jù)緩存在內(nèi)存中并定期統(tǒng)計(jì),以加快訪問(wèn)速度,防止數(shù)據(jù)的大量堆積;針對(duì)于業(yè)務(wù)數(shù)據(jù),根據(jù)其數(shù)據(jù)特點(diǎn)將其存儲(chǔ)在redis數(shù)據(jù)庫(kù)中,從而加快了訪問(wèn)速度;針對(duì)于局部統(tǒng)計(jì)結(jié)果等結(jié)果數(shù)據(jù),根據(jù)其數(shù)據(jù)特點(diǎn)將其存儲(chǔ)在mongodb數(shù)據(jù)庫(kù)中,從而便于實(shí)現(xiàn)大數(shù)據(jù)量的長(zhǎng)期存儲(chǔ)。

綜上可知,本發(fā)明中的測(cè)試系統(tǒng)至少具備如下優(yōu)勢(shì):

在本發(fā)明中,一方面,通過(guò)在每個(gè)測(cè)試裝置中定時(shí)獲取和統(tǒng)計(jì)其緩存區(qū)域中的測(cè)試數(shù)據(jù),使各個(gè)緩存區(qū)域中的數(shù)據(jù)量近似固定不變,防止其呈線(xiàn)性增長(zhǎng),避免對(duì)系統(tǒng)資源造成過(guò)大的消耗,為各個(gè)測(cè)試裝置向被測(cè)服務(wù)器施加最大壓力提供了資源保障;另一方面,上述處理方式還能夠使測(cè)試服務(wù)器在存儲(chǔ)和實(shí)時(shí)統(tǒng)計(jì)測(cè)試數(shù)據(jù)時(shí)不再頻繁操作數(shù)據(jù)庫(kù),因此也不會(huì)與測(cè)試過(guò)程中的各個(gè)協(xié)程搶占系統(tǒng)資源,從而減輕了系統(tǒng)資源負(fù)載,提高了測(cè)試過(guò)程中各個(gè)協(xié)程的處理效率,從而進(jìn)一步保證對(duì)被測(cè)服務(wù)器上施加的壓力不會(huì)下降;并且,相較于傳統(tǒng)處理方式中通過(guò)控制裝置來(lái)統(tǒng)計(jì)全部的測(cè)試結(jié)果數(shù)據(jù)的統(tǒng)計(jì)方式,本發(fā)明能夠在每個(gè)測(cè)試裝置中對(duì)與該測(cè)試裝置對(duì)應(yīng)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),而控制裝置用于對(duì)每個(gè)測(cè)試裝置所得的局部統(tǒng)計(jì)結(jié)果進(jìn)行實(shí)時(shí)監(jiān)控、響應(yīng)以及匯總,從而大大降低控制裝置的處理壓力,大幅提升了測(cè)試系統(tǒng)的壓測(cè)效果。

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例提供的一種測(cè)試方法的流程圖。如圖3所示,該測(cè)試方法包括以下步驟:

步驟s310:各個(gè)測(cè)試裝置根據(jù)接收到的來(lái)自控制裝置的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試。

其中,各個(gè)測(cè)試裝置通過(guò)多個(gè)并行執(zhí)行的協(xié)程對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試,其中,每個(gè)協(xié)程用于模擬至少一個(gè)用戶(hù)終端。具體實(shí)現(xiàn)時(shí),每個(gè)測(cè)試裝置可以同時(shí)開(kāi)啟多個(gè)協(xié)程,分別模擬不同的用戶(hù)終端和/或執(zhí)行不同類(lèi)型的測(cè)試任務(wù)。由于協(xié)程較于線(xiàn)程而言,資源消耗更少,因而能夠?qū)⒂邢薜南到y(tǒng)資源更好地用于壓力測(cè)試中,以便對(duì)被測(cè)服務(wù)器施加最大壓力,從而更準(zhǔn)確地測(cè)試出被測(cè)服務(wù)器的極限性能。

控制裝置需要同時(shí)控制多臺(tái)測(cè)試裝置,因此,為了提高控制裝置的運(yùn)行效率,當(dāng)控制裝置向各臺(tái)測(cè)試裝置發(fā)送測(cè)試任務(wù)時(shí),通過(guò)向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)標(biāo)識(shí)的方式實(shí)現(xiàn),相應(yīng)地,各個(gè)測(cè)試裝置根據(jù)接收到的測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)標(biāo)識(shí),從控制裝置存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)中獲取與該任務(wù)標(biāo)識(shí)相對(duì)應(yīng)的任務(wù)信息,根據(jù)獲取到的任務(wù)信息對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試。其中,任務(wù)標(biāo)識(shí)用于唯一地標(biāo)識(shí)一個(gè)測(cè)試任務(wù),例如可以是任務(wù)id。任務(wù)信息包括運(yùn)行該測(cè)試任務(wù)時(shí)所需的全部數(shù)據(jù)信息。例如,任務(wù)信息可以包括以下中的至少一個(gè):任務(wù)發(fā)起者、負(fù)責(zé)運(yùn)行該任務(wù)的測(cè)試裝置、任務(wù)并發(fā)數(shù)、任務(wù)開(kāi)始時(shí)間、任務(wù)結(jié)束時(shí)間、以及任務(wù)結(jié)束條件等。任務(wù)信息既可以由用戶(hù)終端預(yù)先錄入,也可以在設(shè)計(jì)測(cè)試用例時(shí)直接生成。由此可見(jiàn),任務(wù)的任務(wù)分配信息與任務(wù)信息的具體內(nèi)涵不同,任務(wù)的任務(wù)分配信息通常僅限于用于分配測(cè)試裝置的信息,信息數(shù)據(jù)量通常較少。而任務(wù)信息則包括運(yùn)行測(cè)試任務(wù)時(shí)所需的全部信息,信息數(shù)據(jù)量通常較大。正是由于任務(wù)信息的數(shù)據(jù)量較大,因此,為了避免由控制服務(wù)器分別向各個(gè)測(cè)試裝置發(fā)送任務(wù)信息所帶來(lái)的時(shí)間延遲和資源占用,因此,本方案中的控制裝置只需向測(cè)試裝置發(fā)送數(shù)據(jù)量較小的任務(wù)標(biāo)識(shí)即可,然后由各個(gè)測(cè)試裝置直接訪問(wèn)第一數(shù)據(jù)庫(kù),以獲取與任務(wù)標(biāo)識(shí)對(duì)應(yīng)的任務(wù)信息,由于各個(gè)測(cè)試裝置可以并行地訪問(wèn)第一數(shù)據(jù)庫(kù),因而提高了處理效率。

另外,在某些測(cè)試場(chǎng)景中,除了任務(wù)信息外,還需要任務(wù)動(dòng)作來(lái)控制測(cè)試任務(wù)的運(yùn)行過(guò)程。此時(shí),控制裝置還可以向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)動(dòng)作,則各個(gè)測(cè)試裝置還可以通過(guò)結(jié)合任務(wù)動(dòng)作對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;其中,任務(wù)動(dòng)作包括以下中的至少一個(gè):運(yùn)行、停止、以及暫停。換言之,控制裝置中存儲(chǔ)的各個(gè)測(cè)試任務(wù)的任務(wù)信息主要是指靜態(tài)的數(shù)據(jù)信息,而任務(wù)動(dòng)作則定義了任務(wù)運(yùn)行過(guò)程中的動(dòng)態(tài)信息,例如,何時(shí)開(kāi)始運(yùn)行、何時(shí)停止、何時(shí)暫停以及暫停次數(shù)等。

步驟s320:每個(gè)測(cè)試裝置對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果。

具體地,為了進(jìn)一步降低控制服務(wù)器的處理壓力,以防止控制服務(wù)器消耗過(guò)多的系統(tǒng)資源,每個(gè)測(cè)試裝置將與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)緩存在預(yù)設(shè)的緩存區(qū)域中,從緩存區(qū)域中獲取與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),并對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。優(yōu)選地,該緩存區(qū)域可以為內(nèi)存區(qū)域。通過(guò)每個(gè)測(cè)試裝置分別負(fù)責(zé)統(tǒng)計(jì)與自身相關(guān)的測(cè)試數(shù)據(jù)的方式,能夠大幅降低控制服務(wù)器的處理壓力。

并且,為了防止內(nèi)存中緩存的測(cè)試數(shù)據(jù)量呈現(xiàn)線(xiàn)性增長(zhǎng)的趨勢(shì),在對(duì)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)時(shí),可以每隔預(yù)設(shè)的時(shí)間周期從緩存區(qū)域中獲取本時(shí)間周期內(nèi)產(chǎn)生的與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。例如,時(shí)間周期可以以小時(shí)為單位,每個(gè)測(cè)試裝置每隔一對(duì)本小時(shí)內(nèi)產(chǎn)生的相關(guān)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),因此,內(nèi)存中僅存儲(chǔ)最近的一小時(shí)之內(nèi)產(chǎn)生的測(cè)試數(shù)據(jù),因此,在各個(gè)時(shí)間段內(nèi),內(nèi)存中存儲(chǔ)的數(shù)據(jù)總量近似不變,不會(huì)在某一瞬間對(duì)系統(tǒng)資源造成過(guò)大的消耗,進(jìn)而為各個(gè)測(cè)試裝置向被測(cè)服務(wù)器施加最大壓力提供了資源保障。

另外,在各個(gè)測(cè)試裝置進(jìn)行初步統(tǒng)計(jì)后得到的局部統(tǒng)計(jì)結(jié)果中,包含了與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)的統(tǒng)計(jì)內(nèi)容,例如,若測(cè)試數(shù)據(jù)中包含被測(cè)服務(wù)器在大量時(shí)間點(diǎn)的內(nèi)存占用情況,則局部統(tǒng)計(jì)結(jié)果中包含上述時(shí)間點(diǎn)對(duì)應(yīng)的內(nèi)存平均占用情況等統(tǒng)計(jì)信息,因此,通過(guò)局部統(tǒng)計(jì)的方式,還降低了原始的測(cè)試數(shù)據(jù)的數(shù)據(jù)大小,節(jié)約了控制裝置的存儲(chǔ)空間,加快了后續(xù)的訪問(wèn)速度。

步驟s330:每個(gè)測(cè)試裝置將與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果提供給控制裝置,以供控制裝置對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總后得到被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

具體地,在本步驟中,控制裝置通過(guò)對(duì)每個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總處理來(lái)得到被測(cè)對(duì)象的最終的測(cè)試結(jié)果數(shù)據(jù)。由于局部統(tǒng)計(jì)結(jié)果的數(shù)據(jù)量相較于原始測(cè)試數(shù)據(jù)大幅縮小,且局部統(tǒng)計(jì)結(jié)果為多個(gè)分別對(duì)應(yīng)于不同的測(cè)試裝置的數(shù)據(jù)子表,因而避免了控制服務(wù)器同時(shí)操作一張包含全部測(cè)試裝置對(duì)應(yīng)的原始測(cè)試數(shù)據(jù)的數(shù)據(jù)總表時(shí)所帶來(lái)的巨大資源開(kāi)銷(xiāo)。通過(guò)降低控制服務(wù)器的處理壓力,能夠大幅提升本系統(tǒng)測(cè)試的壓測(cè)效果。

另外,在本實(shí)施例中,根據(jù)各種數(shù)據(jù)的數(shù)據(jù)格式和存儲(chǔ)特點(diǎn),分別制定了多種存儲(chǔ)方式,相較于傳統(tǒng)的采用單一數(shù)據(jù)庫(kù)存儲(chǔ)的方式而言,能夠適應(yīng)實(shí)際業(yè)務(wù)的需求。例如,針對(duì)于原始的測(cè)試數(shù)據(jù),將其緩存在內(nèi)存中并定期統(tǒng)計(jì),以加快訪問(wèn)速度,防止數(shù)據(jù)的大量堆積;針對(duì)于業(yè)務(wù)數(shù)據(jù),根據(jù)其數(shù)據(jù)特點(diǎn)將其存儲(chǔ)在redis數(shù)據(jù)庫(kù)中,從而加快了訪問(wèn)速度;針對(duì)于局部統(tǒng)計(jì)結(jié)果等結(jié)果數(shù)據(jù),根據(jù)其數(shù)據(jù)特點(diǎn)將其存儲(chǔ)在mongodb數(shù)據(jù)庫(kù)中,從而便于實(shí)現(xiàn)大數(shù)據(jù)量的長(zhǎng)期存儲(chǔ)。

最后,本實(shí)施例的控制模塊與測(cè)試模塊的具體結(jié)構(gòu)和工作原理可參照實(shí)施例一與實(shí)施例二中針對(duì)控制模塊與測(cè)試模塊的相應(yīng)描述,此處不再贅述。另外,該測(cè)試方法可以基于上述任一實(shí)施例提供的測(cè)試系統(tǒng)實(shí)現(xiàn),因此,測(cè)試方法的具體實(shí)現(xiàn)細(xì)節(jié)可參考測(cè)試系統(tǒng)中相應(yīng)部分的描述,此處不再贅述。

由此可見(jiàn),在本發(fā)明提供的測(cè)試方式中,通過(guò)定時(shí)獲取和統(tǒng)計(jì)每個(gè)測(cè)試裝置緩存區(qū)域中的測(cè)試數(shù)據(jù)來(lái)保證各個(gè)緩存區(qū)域中數(shù)據(jù)量近似固定不變,防止其呈線(xiàn)性增長(zhǎng),避免了上述數(shù)據(jù)量在某一瞬間對(duì)系統(tǒng)資源造成過(guò)大的消耗,為各個(gè)測(cè)試裝置向被測(cè)服務(wù)器施加最大壓力提供了資源保障。并且,通過(guò)定時(shí)獲取和統(tǒng)計(jì)每個(gè)測(cè)試裝置的緩存區(qū)域中的測(cè)試數(shù)據(jù)還能夠使測(cè)試服務(wù)器在存儲(chǔ)和實(shí)時(shí)統(tǒng)計(jì)測(cè)試數(shù)據(jù)時(shí)不再頻繁操作數(shù)據(jù)庫(kù),從而能夠有效避免系統(tǒng)資源被搶占,影響測(cè)試過(guò)程中各個(gè)協(xié)成的處理效率的問(wèn)題,從而保證對(duì)被測(cè)服務(wù)器上施加的壓力不會(huì)下降,大幅提升了系統(tǒng)測(cè)試的壓測(cè)效果;同時(shí),相較于傳統(tǒng)處理方式中通過(guò)控制裝置來(lái)統(tǒng)計(jì)全部的測(cè)試結(jié)果數(shù)據(jù),本發(fā)明能夠在每個(gè)測(cè)試裝置中對(duì)與該測(cè)試裝置對(duì)應(yīng)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),而控制裝置用于對(duì)每個(gè)測(cè)試裝置所得的局部統(tǒng)計(jì)結(jié)果進(jìn)行實(shí)時(shí)監(jiān)控、響應(yīng)以及匯總,從而大大降低控制裝置的處理壓力,大幅提升了測(cè)試系統(tǒng)的壓測(cè)效果。

圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖,本發(fā)明具體實(shí)施例并不對(duì)電子設(shè)備的具體實(shí)現(xiàn)做限定。

如圖4所示,該電子設(shè)備可以包括:處理器(processor)402、通信接口(communicationsinterface)404、存儲(chǔ)器(memory)406、以及通信總線(xiàn)408。

其中:處理器402、通信接口404、以及存儲(chǔ)器406通過(guò)通信總線(xiàn)408完成相互間的通信。通信接口404,用于與其它設(shè)備比如客戶(hù)端或其它服務(wù)器等的網(wǎng)元通信。處理器402,用于執(zhí)行程序410,具體可以執(zhí)行上述測(cè)試方法實(shí)施例中的相關(guān)步驟。

具體地,程序410可以包括程序代碼,該程序代碼包括計(jì)算機(jī)操作指令。

處理器402可能是中央處理器cpu,或者是特定集成電路asic(applicationspecificintegratedcircuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。電子設(shè)備包括的一個(gè)或多個(gè)處理器,可以是同一類(lèi)型的處理器,如一個(gè)或多個(gè)cpu;也可以是不同類(lèi)型的處理器,如一個(gè)或多個(gè)cpu以及一個(gè)或多個(gè)asic。

存儲(chǔ)器406,用于存放程序410。存儲(chǔ)器406可能包含高速ram存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。

程序410具體可以用于使得處理器402執(zhí)行以下操作:

各個(gè)測(cè)試裝置根據(jù)接收到的來(lái)自控制裝置的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;每個(gè)測(cè)試裝置對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果;每個(gè)測(cè)試裝置將與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果提供給所述控制裝置,以供所述控制裝置對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總后得到所述被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

本發(fā)明還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì)。根據(jù)本發(fā)明一個(gè)實(shí)施例提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有至少一可執(zhí)行指令,該計(jì)算機(jī)可執(zhí)行指令可執(zhí)行上述任意實(shí)施例中的測(cè)試方法。

在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。

類(lèi)似地,應(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í)施例。

本領(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)代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。

本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(dsp)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的日志解析裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。

本發(fā)明公開(kāi)了:a1.一種測(cè)試系統(tǒng),包括:控制裝置以及多個(gè)與所述控制裝置分別相連的測(cè)試裝置;其中,所述控制裝置用于向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù),各個(gè)測(cè)試裝置用于根據(jù)接收到的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;

其中,每個(gè)測(cè)試裝置進(jìn)一步用于:對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果,將所述局部統(tǒng)計(jì)結(jié)果提供給所述控制裝置;

所述控制裝置進(jìn)一步用于:對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總,根據(jù)匯總結(jié)果確定所述被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

a2.如a1所述的系統(tǒng),其中,每個(gè)測(cè)試裝置具體用于:將與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)緩存在預(yù)設(shè)的緩存區(qū)域中,從所述緩存區(qū)域中獲取與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),并對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。

a3.如a2所述的系統(tǒng),其中,每個(gè)測(cè)試裝置具體用于:每隔預(yù)設(shè)的時(shí)間周期從所述緩存區(qū)域中獲取本時(shí)間周期內(nèi)產(chǎn)生的與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。

a4.如a2或a3所述的系統(tǒng),其中,所述緩存區(qū)域?yàn)閮?nèi)存。

a5.如a1-a4任一所述的系統(tǒng),其中,每個(gè)測(cè)試裝置具體用于:通過(guò)多個(gè)并行執(zhí)行的協(xié)程對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試,其中,每個(gè)協(xié)程用于模擬至少一個(gè)用戶(hù)終端。

a6.如a1-a5任一所述的系統(tǒng),其中,所述控制裝置進(jìn)一步包括:

控制服務(wù)器,用于向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù),并對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總,根據(jù)匯總結(jié)果確定所述被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù);

第一數(shù)據(jù)庫(kù),用于存儲(chǔ)與各個(gè)測(cè)試任務(wù)相關(guān)的業(yè)務(wù)數(shù)據(jù),以供各個(gè)測(cè)試裝置根據(jù)所述業(yè)務(wù)數(shù)據(jù)進(jìn)行測(cè)試;

第二數(shù)據(jù)庫(kù),用于存儲(chǔ)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果,以及所述控制服務(wù)器根據(jù)匯總結(jié)果確定的所述被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

a7.如a6所述的系統(tǒng),其中,所述控制服務(wù)器具體用于:向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)標(biāo)識(shí);

各個(gè)測(cè)試裝置具體用于:根據(jù)接收到的測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)標(biāo)識(shí),從所述第一數(shù)據(jù)庫(kù)存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)中獲取與該任務(wù)標(biāo)識(shí)相對(duì)應(yīng)的任務(wù)信息,根據(jù)獲取到的任務(wù)信息對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試。

a8.如a7所述的系統(tǒng),其中,所述任務(wù)信息包括以下中的至少一個(gè):任務(wù)發(fā)起者、負(fù)責(zé)運(yùn)行該任務(wù)的測(cè)試裝置、任務(wù)并發(fā)數(shù)、任務(wù)開(kāi)始時(shí)間、任務(wù)結(jié)束時(shí)間、以及任務(wù)結(jié)束條件。

a9.如a6-a8任一所述的系統(tǒng),其中,所述控制服務(wù)器進(jìn)一步用于:向各個(gè)測(cè)試裝置發(fā)送測(cè)試任務(wù)對(duì)應(yīng)的任務(wù)動(dòng)作,則各個(gè)測(cè)試裝置具體用于:結(jié)合所述任務(wù)動(dòng)作對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;其中,所述任務(wù)動(dòng)作包括以下中的至少一個(gè):運(yùn)行、停止、以及暫停。

a10.如a6-a9任一所述的系統(tǒng),其中,每個(gè)測(cè)試裝置具體用于:將所述局部統(tǒng)計(jì)結(jié)果提供給所述第二數(shù)據(jù)庫(kù),以供所述控制服務(wù)器從所述第二數(shù)據(jù)庫(kù)中獲取各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果并進(jìn)行匯總。

a11.如a6-a10任一所述的系統(tǒng),其中,所述第一數(shù)據(jù)庫(kù)為redis數(shù)據(jù)庫(kù),所述第二數(shù)據(jù)庫(kù)為mongodb數(shù)據(jù)庫(kù)。

a12.如a1-a11任一所述的系統(tǒng),其中,所述被測(cè)對(duì)象包括被測(cè)服務(wù)器,所述測(cè)試任務(wù)包括:壓力測(cè)試類(lèi)型的測(cè)試任務(wù)。

本發(fā)明還公開(kāi)了:b13.一種測(cè)試方法,包括:

各個(gè)測(cè)試裝置根據(jù)接收到的來(lái)自控制裝置的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試;

每個(gè)測(cè)試裝置對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì),得到與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果;

每個(gè)測(cè)試裝置將與該測(cè)試裝置相對(duì)應(yīng)的局部統(tǒng)計(jì)結(jié)果提供給所述控制裝置,以供所述控制裝置對(duì)各個(gè)測(cè)試裝置提供的局部統(tǒng)計(jì)結(jié)果進(jìn)行匯總后得到所述被測(cè)對(duì)象的測(cè)試結(jié)果數(shù)據(jù)。

b14.如b13所述的方法,其中,所述每個(gè)測(cè)試裝置對(duì)與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)的步驟具體包括:每個(gè)測(cè)試裝置將與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù)緩存在預(yù)設(shè)的緩存區(qū)域中,從所述緩存區(qū)域中獲取與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),并對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。

b15.如b14所述的方法,其中,所述從所述緩存區(qū)域中獲取與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),并對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)的步驟具體包括:每隔預(yù)設(shè)的時(shí)間周期從所述緩存區(qū)域中獲取本時(shí)間周期內(nèi)產(chǎn)生的與該測(cè)試裝置相關(guān)的測(cè)試數(shù)據(jù),對(duì)獲取到的測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。

b16.如b14或b15所述的方法,其中,所述緩存區(qū)域?yàn)閮?nèi)存。

b17.如b13-b16任一所述的方法,其中,所述各個(gè)測(cè)試裝置根據(jù)接收到的來(lái)自控制裝置的測(cè)試任務(wù)對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試的步驟具體包括:

各個(gè)測(cè)試裝置通過(guò)多個(gè)并行執(zhí)行的協(xié)程對(duì)被測(cè)對(duì)象進(jìn)行測(cè)試,其中,每個(gè)協(xié)程用于模擬至少一個(gè)用戶(hù)終端。

b18.如b13-b17任一所述的方法,其中,所述被測(cè)對(duì)象包括被測(cè)服務(wù)器,所述測(cè)試任務(wù)包括:壓力測(cè)試類(lèi)型的測(cè)試任務(wù)。

本發(fā)明還公開(kāi)了:c19.一種電子設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線(xiàn),所述處理器、所述存儲(chǔ)器和所述通信接口通過(guò)所述通信總線(xiàn)完成相互間的通信;

所述存儲(chǔ)器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如b13-b18中任一項(xiàng)所述的測(cè)試方法對(duì)應(yīng)的操作。

本發(fā)明還公開(kāi)了:d20.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一可執(zhí)行指令,所述可執(zhí)行指令使處理器執(zhí)行如b13-b18中任一項(xiàng)所述的測(cè)試方法對(duì)應(yīng)的操作。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1