本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種多版本性能測(cè)試方法及裝置。
背景技術(shù):
目前,在對(duì)軟件產(chǎn)品進(jìn)行性能測(cè)試時(shí),可基于為該軟件產(chǎn)品選定的性能指標(biāo),測(cè)試獲得各性能指標(biāo)對(duì)應(yīng)的測(cè)試數(shù)據(jù),然后,根據(jù)測(cè)試場(chǎng)景,對(duì)獲取的測(cè)試數(shù)據(jù)進(jìn)行人工分析,以確定該軟件產(chǎn)品的性能是否正常。其中,所述的性能指標(biāo)可以是中央處理器(Central Processing Unit,CPU)利用率、磁盤(pán)利用率、網(wǎng)絡(luò)利用率、內(nèi)存消耗量等等。
但是,對(duì)于大中型軟件產(chǎn)品,由于其通常包含了多個(gè)子系統(tǒng)和/或模塊,架構(gòu)復(fù)雜,因此,這些軟件系統(tǒng)的研發(fā)周期較長(zhǎng),而且在整個(gè)研發(fā)周期內(nèi),可能會(huì)迭代開(kāi)發(fā)以及發(fā)布多個(gè)版本,相應(yīng)的,對(duì)各個(gè)版本也都要進(jìn)行性能測(cè)試。在這種情況下,由于每個(gè)子系統(tǒng)和/或模塊都有自己的性能指標(biāo),因此待測(cè)的性能指標(biāo)總數(shù)量很多,而每發(fā)布一個(gè)新版本,都要對(duì)這些性能指標(biāo)對(duì)應(yīng)的測(cè)試數(shù)據(jù)重新進(jìn)行人工分析,測(cè)試效率低下。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供一種多版本性能測(cè)試方法,用以解決現(xiàn)有技術(shù)中對(duì)大中型軟件產(chǎn)品的多個(gè)版本,進(jìn)行的性能測(cè)試效率低下的問(wèn)題。
本申請(qǐng)實(shí)施例提供一種多版本性能測(cè)試裝置,用以解決現(xiàn)有技術(shù)中對(duì)大中型軟件產(chǎn)品的多個(gè)版本,進(jìn)行的性能測(cè)試效率低下的問(wèn)題。
本申請(qǐng)實(shí)施例提供的一種多版本性能測(cè)試方法,包括:
獲取待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù);
當(dāng)確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配時(shí),確定所述待測(cè)版本的性能正常,其中,所述該性能指標(biāo)的基準(zhǔn)值是根據(jù)所述待測(cè)版本的歷史版本確定的。
本申請(qǐng)實(shí)施例提供的一種多版本性能測(cè)試裝置,包括:
獲取模塊,用于獲取待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù);
測(cè)試模塊,用于當(dāng)確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配時(shí),確定所述待測(cè)版本的性能正常,以及用于確定所述該性能指標(biāo)的基準(zhǔn)值,其中,所述該性能指標(biāo)的基準(zhǔn)值是根據(jù)所述待測(cè)版本的歷史版本確定的。
本申請(qǐng)實(shí)施例通過(guò)上述技術(shù)方案,若已根據(jù)待測(cè)版本的歷史版本確定出了各性能指標(biāo)的基準(zhǔn)值,則對(duì)于待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù),不用逐個(gè)進(jìn)行人工分析,而是通過(guò)將該測(cè)試數(shù)據(jù)與對(duì)應(yīng)的基準(zhǔn)值進(jìn)行匹配,即可以確定該待測(cè)版本的性能是否正常,因此,提高了測(cè)試效率。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1為本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試過(guò)程;
圖2為在實(shí)際應(yīng)用場(chǎng)景下,本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試的詳細(xì)過(guò)程;
圖3為本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的 實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
圖1為本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試過(guò)程,具體包括以下步驟:
S101:獲取待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù)。
S102:當(dāng)確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配時(shí),確定所述待測(cè)版本的性能正常,其中,所述該性能指標(biāo)的基準(zhǔn)值是根據(jù)所述待測(cè)版本的歷史版本確定的。
本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試的方法的執(zhí)行主體可以是:用于對(duì)產(chǎn)品進(jìn)行性能測(cè)試的服務(wù)器或終端。所述產(chǎn)品可以是軟件產(chǎn)品、硬件產(chǎn)品、軟件結(jié)合的產(chǎn)品、機(jī)械產(chǎn)品等等。所述服務(wù)器包括但不限于:個(gè)人計(jì)算機(jī)、大中型計(jì)算機(jī)、計(jì)算機(jī)集群等。所述終端包括但不限于:個(gè)人計(jì)算機(jī)、手機(jī)、平板電腦、智能手表、車載移動(dòng)臺(tái)等。所述的執(zhí)行主體并不構(gòu)成對(duì)本申請(qǐng)的限定,為了便于描述,本申請(qǐng)實(shí)施例均以執(zhí)行主體是所述服務(wù)器為例進(jìn)行說(shuō)明。
測(cè)試包括功能測(cè)試和性能測(cè)試兩大類。對(duì)于產(chǎn)品的功能測(cè)試,在執(zhí)行功能測(cè)試之前,已經(jīng)有明確的標(biāo)準(zhǔn)來(lái)判斷測(cè)試數(shù)據(jù)是否符合預(yù)期。例如,假定一個(gè)按鍵功能為從本地機(jī)器向服務(wù)器提交輸入的信息,則對(duì)該功能進(jìn)行測(cè)試時(shí),可以在本地機(jī)器上輸入信息并按下該按鍵,然后,驗(yàn)證服務(wù)器是否接收到該輸入信息,在這種情況下,所述的測(cè)試數(shù)據(jù)為該輸入信息,以及服務(wù)器實(shí)際接收到的信息,顯然,當(dāng)這兩個(gè)信息相同時(shí),可確定該按鍵功能正常。
而對(duì)于產(chǎn)品的性能測(cè)試,由于根據(jù)測(cè)試場(chǎng)景的不同(測(cè)試場(chǎng)景的構(gòu)成因素包括但不限于負(fù)載、使用的操作系統(tǒng)、傳輸線路、溫度等等),產(chǎn)品的性能表現(xiàn)可能不同,則在執(zhí)行性能測(cè)試之前,可能無(wú)法確定產(chǎn)品的性能達(dá)到什么程度,也即,對(duì)于產(chǎn)品的性能是否正常,并沒(méi)有明確的判斷標(biāo)準(zhǔn)。仍以上里繼續(xù)說(shuō)明,假定繼續(xù)測(cè)試該按鍵的性能指標(biāo)“響應(yīng)時(shí)間”,一般的,當(dāng)在本地機(jī)器上輸入的信息類型、信息量不同時(shí),所獲得的響應(yīng)時(shí)間的測(cè)試數(shù)據(jù)也不同,可能為 0.01秒、也可能為0.1秒等。因此,對(duì)于執(zhí)行性能測(cè)試后獲得的測(cè)試數(shù)據(jù),通常需要結(jié)合測(cè)試場(chǎng)景,人工分析這些測(cè)試數(shù)據(jù)是否正常,其中,所述性能指標(biāo)可以是CPU利用率、磁盤(pán)利用率、網(wǎng)絡(luò)利用率、內(nèi)存消耗量等等。進(jìn)一步的,對(duì)于大中型軟件產(chǎn)品,會(huì)迭代開(kāi)發(fā)以及發(fā)布多個(gè)版本,相應(yīng)的,對(duì)各個(gè)版本也都要進(jìn)行性能測(cè)試,由于其每個(gè)子系統(tǒng)和/或模塊都有自己的性能指標(biāo),因此待測(cè)的性能指標(biāo)總數(shù)量很多,而每開(kāi)發(fā)一個(gè)新版本,都要對(duì)這些性能指標(biāo)對(duì)應(yīng)的測(cè)試數(shù)據(jù)重新進(jìn)行人工分析,測(cè)試效率低下,成本高昂。
基于上述問(wèn)題,在本申請(qǐng)實(shí)施例中,在性能測(cè)試過(guò)程中,不一一地對(duì)待測(cè)產(chǎn)品的每個(gè)版本的測(cè)試數(shù)據(jù)都進(jìn)行人工分析,而是僅根據(jù)已有的各性能指標(biāo)的測(cè)試數(shù)據(jù),確定各性能指標(biāo)的基準(zhǔn)值,進(jìn)而,可以基于所述基準(zhǔn)值,測(cè)試和評(píng)定待測(cè)版本的性能,可以提高效率,降低人工成本。例如,對(duì)于性能指標(biāo)“CPU利用率”或“內(nèi)存占用率”,其基準(zhǔn)值可以是一個(gè)明確的百分比數(shù)值,如40%、60%、100%等。
在本申請(qǐng)實(shí)施例中,可以基于待測(cè)版本的歷史版本確定各性能指標(biāo)的基準(zhǔn)值(各基準(zhǔn)值也可以合稱為性能基線)。例如,基于初始版本的測(cè)試數(shù)據(jù),或者,基于待測(cè)版本的上一個(gè)版本的測(cè)試數(shù)據(jù),或者,基于多個(gè)歷史版本的測(cè)試數(shù)據(jù),等等,生成各性能指標(biāo)的基準(zhǔn)值。當(dāng)然,也可不基于測(cè)試數(shù)據(jù)生成各性能指標(biāo)的基準(zhǔn)值,而是由產(chǎn)品的設(shè)計(jì)者和開(kāi)發(fā)者直接指定各性能指標(biāo)的基準(zhǔn)值。當(dāng)然,在實(shí)際應(yīng)用中,由于產(chǎn)品在開(kāi)發(fā)過(guò)程中在不斷變化,為了提高各性能指標(biāo)的基準(zhǔn)值的可靠性和適用性,可以根據(jù)版本的變化對(duì)已確定的基準(zhǔn)值進(jìn)行調(diào)整或修正。
在本申請(qǐng)實(shí)施例中,可以采用不同的具體實(shí)施方式,確定測(cè)試數(shù)據(jù)是否與對(duì)應(yīng)的基準(zhǔn)值匹配。例如,在選定坐標(biāo)系下,將各性能指標(biāo)的基準(zhǔn)值和待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù)分別視為一個(gè)集合,并將這兩個(gè)集合向量化,判斷測(cè)試數(shù)據(jù)的集合對(duì)應(yīng)的向量與基準(zhǔn)值的集合對(duì)應(yīng)的向量之間的距離是否大于預(yù)設(shè)閾值,若是,則確定測(cè)試數(shù)據(jù)與基準(zhǔn)值匹配,否則,確定測(cè)試數(shù)據(jù)與基準(zhǔn) 值不匹配;也可以分別判斷每個(gè)測(cè)試數(shù)據(jù)與對(duì)應(yīng)的基準(zhǔn)值之間的接近程度,若接近程度均大于預(yù)設(shè)閾值,則確定該測(cè)試數(shù)據(jù)與對(duì)應(yīng)的基準(zhǔn)值匹配,否則,確定該測(cè)試數(shù)據(jù)與對(duì)應(yīng)的基準(zhǔn)值不匹配,等等。
通過(guò)上述方法,若已根據(jù)待測(cè)版本的歷史版本確定出了各性能指標(biāo)的基準(zhǔn)值,則對(duì)于待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù),不用逐個(gè)進(jìn)行人工分析,而是通過(guò)將該測(cè)試數(shù)據(jù)與對(duì)應(yīng)的基準(zhǔn)值進(jìn)行匹配,即可以確定該待測(cè)版本的性能是否正常,因此,提高了測(cè)試效率。
在本申請(qǐng)實(shí)施例中,對(duì)于上述步驟S102,按照如下方法,確定所述該性能指標(biāo)的基準(zhǔn)值:通過(guò)執(zhí)行預(yù)設(shè)的測(cè)試腳本,對(duì)所述待測(cè)版本的歷史版本進(jìn)行測(cè)試,獲取所述歷史版本的該性能指標(biāo)的測(cè)試數(shù)據(jù),根據(jù)所述測(cè)試腳本中定義的測(cè)試場(chǎng)景,對(duì)所述歷史版本的該性能指標(biāo)的測(cè)試數(shù)據(jù)進(jìn)行分析,確定出該性能指標(biāo)的基準(zhǔn)值。
當(dāng)然,對(duì)于某些產(chǎn)品的測(cè)試,可能無(wú)法利用測(cè)試腳本進(jìn)行測(cè)試,而是要手工進(jìn)行測(cè)試,則在這樣的情況下,可以在服務(wù)器上對(duì)手工測(cè)試時(shí)的測(cè)試場(chǎng)景進(jìn)行記錄,以用于后續(xù)版本的測(cè)試。
進(jìn)一步的,由于在性能測(cè)試中可能選定了多個(gè)測(cè)試場(chǎng)景,而對(duì)于不同的測(cè)試場(chǎng)景,同一個(gè)版本的性能表現(xiàn)也有差異,例如,對(duì)于某軟件產(chǎn)品的待測(cè)版本,在測(cè)試場(chǎng)景1中,該待測(cè)版本的并發(fā)用戶數(shù)為100,而在測(cè)試場(chǎng)景2中,并發(fā)用戶數(shù)為10000,則該待測(cè)版本在測(cè)試場(chǎng)景1的性能,很可能大大低于在測(cè)試場(chǎng)景1的性能。在這種情況下,若基于在測(cè)試場(chǎng)景1下確定的各性能指標(biāo)的基準(zhǔn)值,判斷在測(cè)試場(chǎng)景2下待測(cè)版本的性能是否正常,是不可靠的。
因此,在實(shí)際應(yīng)用中,也可以根據(jù)歷史版本在每個(gè)測(cè)試場(chǎng)景下的測(cè)試數(shù)據(jù),分別確定一組各性能指標(biāo)的基準(zhǔn)值,則在對(duì)待測(cè)版本進(jìn)行測(cè)試時(shí),應(yīng)基于選定的測(cè)試場(chǎng)景,在該測(cè)試場(chǎng)景下獲取的測(cè)試數(shù)據(jù)集,以及與該測(cè)試場(chǎng)景對(duì)應(yīng)的各性能指標(biāo)的基準(zhǔn)值,來(lái)評(píng)定該待測(cè)版本的性能是否正常。當(dāng)然,也可以根據(jù)測(cè)試場(chǎng)景之間的差異,對(duì)在某測(cè)試場(chǎng)景下確定的各基準(zhǔn)值中的一部分基準(zhǔn)值進(jìn)行 調(diào)整后,直接用于另一個(gè)測(cè)試場(chǎng)景中,而不用再完整地執(zhí)行一次確定各性能指標(biāo)的基準(zhǔn)值的過(guò)程,這樣的話,可以提高服務(wù)器的測(cè)試效率。
另外,本申請(qǐng)對(duì)根據(jù)所述測(cè)試腳本中定義的測(cè)試場(chǎng)景,對(duì)所述歷史版本的該性能指標(biāo)的測(cè)試數(shù)據(jù)進(jìn)行分析,確定出該性能指標(biāo)的基準(zhǔn)值這個(gè)過(guò)程的具體實(shí)施方式并不做限定。在此僅列舉出兩種可行的具體實(shí)施方式。第一,由開(kāi)發(fā)人員或測(cè)試人員根據(jù)自身經(jīng)驗(yàn)確定并在服務(wù)器上設(shè)置的;第二,服務(wù)器或終端獲取執(zhí)行的測(cè)試腳本中的各個(gè)參數(shù),根據(jù)為每個(gè)參數(shù)預(yù)設(shè)的性能影響權(quán)值,確定出該測(cè)試腳本中的測(cè)試場(chǎng)景對(duì)性能指標(biāo)的影響程度,進(jìn)而,確定出該性能指標(biāo)預(yù)期的取值范圍,以及在該取值范圍內(nèi)選定某個(gè)取值作為該性能指標(biāo)的基準(zhǔn)值。
在本申請(qǐng)實(shí)施例中,對(duì)于上述步驟S101,獲取待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù),具體包括:通過(guò)執(zhí)行預(yù)設(shè)的測(cè)試腳本,對(duì)所述待測(cè)版本進(jìn)行測(cè)試,獲取所述待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù)。根據(jù)前面的說(shuō)明,在測(cè)試待測(cè)版本時(shí),可以沿用根據(jù)待測(cè)版本的歷史版本確定各性能指標(biāo)的基準(zhǔn)值歷史版本時(shí)所使用的測(cè)試腳本,這樣的話,可以保證測(cè)試場(chǎng)景相同,基于各性能指標(biāo)的基準(zhǔn)值對(duì)待測(cè)版本進(jìn)行測(cè)試的可靠性。
進(jìn)一步的,根據(jù)選定的歷史版本確定出各性能指標(biāo)的基準(zhǔn)值后,可以將各性能指標(biāo)的基準(zhǔn)值用于測(cè)試后續(xù)的待測(cè)版本。但是,在版本數(shù)量較多的情況下,版本號(hào)相差較大的版本之間的性能可能相差也較大,因此,當(dāng)某個(gè)待測(cè)版本在所述選定的歷史版本的基礎(chǔ)之上修改程度較大時(shí),之前確定出各性能指標(biāo)的基準(zhǔn)值可能不再適用,則可以根據(jù)所述某個(gè)待測(cè)版本,重新確定各性能指標(biāo)的基準(zhǔn)值,用于后續(xù)測(cè)試。
在本申請(qǐng)實(shí)施例中,前面列舉了步驟S102若干可行的具體實(shí)施方式,下面對(duì)其中一種進(jìn)行詳細(xì)說(shuō)明。確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配,具體包括:當(dāng)確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)與該性能指標(biāo)的基準(zhǔn)值之差的絕對(duì)值均不超過(guò)預(yù)設(shè)閾值時(shí),確定所 述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配?;蛘?,也可以判斷所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù),是否均落在包含了對(duì)應(yīng)基準(zhǔn)值的預(yù)設(shè)取值區(qū)間之內(nèi),若是,則確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配,其中,可以根據(jù)選定的測(cè)試場(chǎng)景,對(duì)所述預(yù)設(shè)閾值或所述預(yù)設(shè)取值區(qū)間進(jìn)行合理設(shè)定。
在本申請(qǐng)實(shí)施例中,對(duì)于待測(cè)產(chǎn)品的每個(gè)版本進(jìn)行測(cè)試的性能指標(biāo)也可以發(fā)生變更,例如,在歷史版本中測(cè)試性能指標(biāo)A、性能指標(biāo)B和性能指標(biāo)C,而在待測(cè)版本中有可能變更為測(cè)試性能指標(biāo)B、性能指標(biāo)C和性能指標(biāo)D,可以根據(jù)性能指標(biāo)B和性能指標(biāo)C的基準(zhǔn)值,測(cè)試待測(cè)版本的性能指標(biāo)B、性能指標(biāo)C是否正常,而對(duì)于待測(cè)版本的性能指標(biāo)D,由于沒(méi)有對(duì)應(yīng)的基準(zhǔn)值,則可以對(duì)待測(cè)版本的性能指標(biāo)D的測(cè)試數(shù)據(jù)單獨(dú)進(jìn)行分析,以確定該測(cè)試數(shù)據(jù)是否正常,并可以根據(jù)分析結(jié)果確定性能指標(biāo)D的基準(zhǔn)值,可用于以后對(duì)待測(cè)版本的后續(xù)版本進(jìn)行測(cè)試。
另外,需要說(shuō)明的是,所述的性能測(cè)試又可以細(xì)分為常規(guī)性能測(cè)試、壓力測(cè)試、負(fù)載測(cè)試等類型的測(cè)試等等,對(duì)于上述各種類型的性能測(cè)試,可能采用的不同的測(cè)試場(chǎng)景,也可能測(cè)試不同的性能指標(biāo),而本申請(qǐng)實(shí)施例提供的性能測(cè)試方法均可適用。
根據(jù)上述說(shuō)明,以對(duì)某軟件產(chǎn)品進(jìn)行性能測(cè)試中的壓力測(cè)試為例,在圖2中示出了本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試的詳細(xì)過(guò)程。具體包括以下步驟:
S201:為待測(cè)的軟件產(chǎn)品的各個(gè)子系統(tǒng)分別選定性能指標(biāo)。
假定該軟件產(chǎn)品由1~n個(gè)子系統(tǒng)構(gòu)成,其中,n為大于1的正整數(shù)。為每個(gè)子系統(tǒng)都選定一組相同的待測(cè)性能指標(biāo),包括:CPU利用率、網(wǎng)絡(luò)利用率、磁盤(pán)利用率、響應(yīng)時(shí)間、吞吐量、JAVA相關(guān)性能指標(biāo)等等。
S202:當(dāng)該軟件產(chǎn)品的初始版本測(cè)試準(zhǔn)備就緒時(shí),通過(guò)執(zhí)行預(yù)設(shè)的壓力測(cè)試腳本,對(duì)待測(cè)的軟件產(chǎn)品的初始版本進(jìn)行壓力測(cè)試,也即,分別對(duì)初始版本 的各個(gè)子系統(tǒng)進(jìn)行壓力測(cè)試,獲得各個(gè)子系統(tǒng)的各性能指標(biāo)的壓力測(cè)試數(shù)據(jù)(合稱為:壓力測(cè)試數(shù)據(jù)集)。
所述的初始版本可以是該軟件產(chǎn)品第一輪發(fā)布的版本。
S203:通過(guò)對(duì)該測(cè)試腳本和該壓力測(cè)試數(shù)據(jù)集進(jìn)行分析,分別為每個(gè)子系統(tǒng)的每個(gè)性能指標(biāo)確定出對(duì)應(yīng)的基準(zhǔn)值。
例如,為性能指標(biāo)“CPU利用率”確定出的基準(zhǔn)值可以為40%或50%等等,為性能指標(biāo)“響應(yīng)時(shí)間”確定出的基準(zhǔn)值可以為0.01秒或0.05秒等等。顯然,各子系統(tǒng)的同一個(gè)性能指標(biāo)的基準(zhǔn)值既可以相同,也可以不同。
S204:當(dāng)該軟件產(chǎn)品的后續(xù)版本(可以是本申請(qǐng)中所述的待測(cè)版本)測(cè)試準(zhǔn)備就緒,且確定該后續(xù)版本待測(cè)的性能指標(biāo)未發(fā)生變更時(shí),通過(guò)執(zhí)行步驟S202中的測(cè)試腳本,對(duì)該后續(xù)版本進(jìn)行壓力測(cè)試,獲取與該后續(xù)版本對(duì)應(yīng)的壓力測(cè)試數(shù)據(jù)集。
所述的后續(xù)版本可以是在該軟件產(chǎn)品第一輪發(fā)布的版本之后的任一版本。
S205:針對(duì)上述每個(gè)性能指標(biāo),確定該壓力測(cè)試數(shù)據(jù)集中與該性能指標(biāo)對(duì)應(yīng)的測(cè)試數(shù)據(jù),以及所述性能基線包含的該性能指標(biāo)的基準(zhǔn)值,并判斷為每個(gè)性能指標(biāo)確定出的測(cè)試數(shù)據(jù)與基準(zhǔn)值之差的絕對(duì)值是否均不超過(guò)預(yù)設(shè)閾值。
假定性能指標(biāo)“CPU利用率”確定為70%,且對(duì)應(yīng)的預(yù)設(shè)閾值為5%。則當(dāng)性能指標(biāo)“CPU利用率”對(duì)應(yīng)的測(cè)試數(shù)據(jù)為在65%~75%這個(gè)取值區(qū)間內(nèi)時(shí)(也即,與基準(zhǔn)值70%的正負(fù)偏差不超過(guò)預(yù)設(shè)閾值5%),可確定對(duì)性能指標(biāo)“CPU利用率”的測(cè)試結(jié)果是正常的,類似的,當(dāng)上述所有性能指標(biāo)的測(cè)試結(jié)果均正常時(shí),可確定該后續(xù)版本在壓力測(cè)試下的性能正常,當(dāng)至少有一個(gè)上述性能指標(biāo)的測(cè)試結(jié)果不正常時(shí),可確定該后續(xù)版本在壓力測(cè)試下的性能異常。
S206:當(dāng)判斷結(jié)果為是時(shí),可以確定該后續(xù)版本在壓力測(cè)試下的性能正常,當(dāng)判斷結(jié)果為否時(shí),可以確定該后續(xù)版本在壓力測(cè)試下的性能異常,可進(jìn)一步地針對(duì)異常的性能指標(biāo)進(jìn)行修復(fù)后,再次對(duì)該后續(xù)版本執(zhí)行壓力測(cè)試。
本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試方法,除了可以用于測(cè)試之外,還可 以用于對(duì)各種系統(tǒng)的性能的實(shí)時(shí)監(jiān)控和自動(dòng)告警,這樣的話,可以不用通過(guò)人工監(jiān)控系統(tǒng)性能,而是由服務(wù)器或終端實(shí)時(shí)監(jiān)控各種系統(tǒng)的性能是否正常,并可以向用戶通知和告警,從而,不僅減輕了用戶的負(fù)擔(dān),也提高了所述各種系統(tǒng)所在設(shè)備的可靠性。
以上為本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試方法,基于同樣的思路,本申請(qǐng)實(shí)施例還提供相應(yīng)的多版本性能測(cè)試裝置,如圖3所示。
圖3為本申請(qǐng)實(shí)施例提供的多版本性能測(cè)試裝置結(jié)構(gòu)示意圖,具體包括:
獲取模塊301,用于獲取待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù);
測(cè)試模塊302,用于當(dāng)確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配時(shí),確定所述待測(cè)版本的性能正常,以及用于確定所述該性能指標(biāo)的基準(zhǔn)值,其中,所述該性能指標(biāo)的基準(zhǔn)值是根據(jù)所述待測(cè)版本的歷史版本確定的。
所述獲取模塊301具體用于,通過(guò)執(zhí)行預(yù)設(shè)的測(cè)試腳本,對(duì)所述待測(cè)版本進(jìn)行測(cè)試,獲取所述待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù)。
所述測(cè)試模塊302具體用于,通過(guò)執(zhí)行所述測(cè)試腳本,對(duì)所述待測(cè)版本的歷史版本進(jìn)行測(cè)試,獲取所述歷史版本的該性能指標(biāo)的測(cè)試數(shù)據(jù),根據(jù)所述測(cè)試腳本中定義的測(cè)試場(chǎng)景,對(duì)所述歷史版本的該性能指標(biāo)的測(cè)試數(shù)據(jù)進(jìn)行分析,確定出該性能指標(biāo)的基準(zhǔn)值。
所述測(cè)試模塊302具體用于,當(dāng)確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)與該性能指標(biāo)的基準(zhǔn)值之差的絕對(duì)值均不超過(guò)預(yù)設(shè)閾值時(shí),確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配。
具體的上述如圖3所示的裝置可以位于終端、服務(wù)器上。
本申請(qǐng)實(shí)施例提供一種多版本性能測(cè)試方法及裝置,該方法獲取待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù),當(dāng)確定所述待測(cè)版本的每個(gè)性能指標(biāo)的測(cè)試數(shù)據(jù)均與該性能指標(biāo)的基準(zhǔn)值匹配時(shí),確定所述待測(cè)版本的性能正常,其中,所述該性能指標(biāo)的基準(zhǔn)值是根據(jù)所述待測(cè)版本的歷史版本確定的。通過(guò)上述技術(shù)方 案,若已根據(jù)待測(cè)版本的歷史版本確定出了各性能指標(biāo)的基準(zhǔn)值,則對(duì)于待測(cè)版本的各性能指標(biāo)的測(cè)試數(shù)據(jù),不用逐個(gè)進(jìn)行人工分析,而是通過(guò)將該測(cè)試數(shù)據(jù)與對(duì)應(yīng)的基準(zhǔn)值進(jìn)行匹配,即可以確定該待測(cè)版本的性能是否正常,因此,提高了測(cè)試效率,降低了測(cè)試成本。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(pán)(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所 作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。