本申請涉及設(shè)備的性能測試技術(shù),尤其涉及設(shè)備性能測試的方法和裝置。
背景技術(shù):
:目前對于設(shè)備的性能測試主要是對響應(yīng)時長的測試,但是響應(yīng)時長的測試結(jié)果容易受到操作系統(tǒng)自身的波動、測試工具采樣和測試執(zhí)行方式等原因的影響,造成測試數(shù)據(jù)的波動性。現(xiàn)有技術(shù)中,為了避免測試數(shù)據(jù)的波動性,通常需要進行大量的測試次數(shù)來排除受影響的測試數(shù)據(jù),以得到期望的測試結(jié)果。有的測試場景可能需要的測試次數(shù)大概需要500次才能得到期望的測試結(jié)果,因此測試效率很低。技術(shù)實現(xiàn)要素:本申請?zhí)峁┰O(shè)備性能測試的方法和裝置,能夠提高測試效率。根據(jù)本申請實施例的第一方面,提供一種性能測試的方法,該方法包括步驟:對性能測試參數(shù)的統(tǒng)計量進行參數(shù)估計,并獲得估計值;判斷獲得的估計值是否符合預(yù)設(shè)條件,并根據(jù)判斷結(jié)果確定是否進行下一次測試,所述預(yù)設(shè)條件根據(jù)性能測試參數(shù)的預(yù)設(shè)波動幅度設(shè)定。根據(jù)本申請實施例的第二方面,提供一種性能測試的裝置,包括:計算模塊,用于對性能測試參數(shù)的統(tǒng)計量進行參數(shù)估計,并獲得估計值;判斷模塊,用于判斷獲得的估計值是否符合預(yù)設(shè)條件;并根據(jù)判斷結(jié)果確定是否進行下一次測試,所述預(yù)設(shè)條件根據(jù)性能測試參數(shù)的預(yù)設(shè)波動幅度 設(shè)定。申請人經(jīng)過大量的實驗,發(fā)現(xiàn)性能測試參數(shù)的分布規(guī)律,隨之利用統(tǒng)計學的原理對性能測試參數(shù)進行參數(shù)估計,將估計值與用戶設(shè)定的停止測試的條件對比,每次測試后均可以判斷是否需要進行下一輪測試,在達到用戶期望的測試要求后即可停止測試,也就是可以找到停止測試的最佳測試次數(shù),因此既可以保證排除受影響的測試數(shù)據(jù),又可以降低測試成本,提高測試效率。附圖說明圖1為本申請實施例中性能測試的方法的流程圖;圖2為本申請應(yīng)用實例的流程圖;圖3a、圖3b為本申請應(yīng)用實例的測試結(jié)果展示;圖4為本申請性能測試的裝置的硬件架構(gòu)圖;圖5為本申請性能測試的裝置的邏輯框圖。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。應(yīng)當理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應(yīng)于確定”。本申請可以做到對測試數(shù)據(jù)的性能測試結(jié)果的累積過程進行監(jiān)控,規(guī)避測試波動性的影響;并能夠根據(jù)用戶設(shè)定的精度的要求,實時監(jiān)控是否達到精度要求,使用戶能夠及時決定結(jié)束測試的時機。本申請承載測試數(shù)據(jù)的設(shè)備可以是多種設(shè)備,例如手持設(shè)備、車載設(shè)備、可穿戴設(shè)備、電視設(shè)備、計算設(shè)備或其它具有處理能力的設(shè)備等等。請參加圖1,S101,對性能測試參數(shù)的統(tǒng)計量進行參數(shù)估計,并獲得估計值;S102,判斷獲得的估計值是否符合預(yù)設(shè)條件,并根據(jù)判斷結(jié)果確定是否進行下一次測試,預(yù)設(shè)條件可根據(jù)性能測試參數(shù)的預(yù)設(shè)波動幅度設(shè)定。根據(jù)統(tǒng)計學的定義,統(tǒng)計量是指通過各個樣本所構(gòu)造的樣本函數(shù)。申請人經(jīng)過大量的實驗研究發(fā)現(xiàn),性能測試參數(shù)的統(tǒng)計量可以符合某種統(tǒng)計分布的規(guī)律,利用這種統(tǒng)計規(guī)律可以分析出性能測試參數(shù)的波動性的變化情況,例如,對于所測試的測試場景在每次測試中的響應(yīng)時長,可以是相互獨立的一個個樣本,每一次測試的響應(yīng)時長的均值是趨于正態(tài)分布的;再例如,對于測定誤差(即某次測量時測試性能參數(shù)受隨機因素的影響,偏離正常狀態(tài)下測試性能參數(shù)的差值),在樣本達到一定數(shù)量時,可以滿足正態(tài)分布。因此作為一個例子,可以將性能測試參數(shù)作為樣本,將多次測試獲得的性能測試參數(shù)的總體構(gòu)成某種函數(shù)作為統(tǒng)計量來進行參數(shù)估計。以響應(yīng)時長作為性能測試參數(shù)為例,可通過下述過程獲得性能測試參數(shù):對于具有動態(tài)可視畫面的測試場景,例如對啟動某個應(yīng)用的性能測試、設(shè)備開關(guān)機的性能測試、電話接通的性能測試等等,可以抓取測試場景的多張圖片,分析圖片的變化過程來獲得測試場景的響應(yīng)時長。抓取測試場景的圖片的方式可以是利用攝像頭等拍攝工具以一定頻率對設(shè)備拍照,并將拍攝工具采集的數(shù)據(jù)保存成圖片,并記錄每張圖片的采集時間。拍攝頻率高于每幀圖片的變化的頻率,例如,手機的刷新頻率如果是60fps(幀/秒),可以以120fps(幀/秒)的幀速率進行拍攝。可以分析所保存的圖片的變化過程,以確定響應(yīng)時長,例如,可以確定圖片開始變化的時間以及結(jié)束變化的時間,將算出的時間間隔作為該測試場景一次測試的響應(yīng)時長。作為例子,也可以抓取測試腳本中的關(guān)鍵字,通過關(guān)鍵字來確定特定測試場景下一次測試的響應(yīng)時長。例如,當測試腳本在執(zhí)行時,可以打印執(zhí)行腳本的日志,以“LOG”作為關(guān)鍵字查找測試腳本開始運行和結(jié)束運行的時間,從而獲得一次測試的響應(yīng)時長。容易理解,所列舉出示例旨在于更加直觀的理解本申請的技術(shù)方案,而不局限于所列舉示例的實現(xiàn)方式,除響應(yīng)時長可作為性能測試參數(shù)外,并不排除其他的性能測試參數(shù),例如代表CPU性能數(shù)據(jù)的各個進程的占用數(shù)據(jù)等參數(shù)。作為例子,由于多次測試的性能測試參數(shù)的總體的均值在某些場合中符合正態(tài)分布,因此,S101中可以將某次測試完成后,當前累積的每次測試的性能測試參數(shù)的均值作為性能測試參數(shù)的統(tǒng)計量,并利用置信區(qū)間估計進行參數(shù)估計,將置信區(qū)間估計所獲得的置信區(qū)間作為估計值,另外,也可以將獲得的置信區(qū)間作為中間值,獲得其他值(例如波動率)作為估計值。置信區(qū)間(Confidenceinterval)是指由樣本的統(tǒng)計量所構(gòu)造的總體參數(shù)的估計區(qū)間。在統(tǒng)計學中,一個概率樣本的置信區(qū)間是對這個樣本的某個總體參數(shù)的區(qū)間估計。置信區(qū)間展現(xiàn)的是這個參數(shù)的真實值有一定概率落在測 量結(jié)果的周圍的程度。置信區(qū)間給出的是被測量參數(shù)的測量值的可信程度,這個可信程度為置信度。本申請中,置信區(qū)間的置信度可以由用戶設(shè)定,用戶通過設(shè)定置信度來決定需要花費的測試成本,如果該測試場景的要求精度比較高,那么可以把置信度設(shè)置設(shè)置的高一些,使置信區(qū)間的寬度較大;如果精度低,則置信度的值可以下調(diào),置信區(qū)間就可以減少范圍,這樣可以幫助用戶根據(jù)需要來獲得所需要的數(shù)據(jù)。例如,一個例子中,可以將置信度設(shè)置為95%,也可以將置信度設(shè)置為90%。舉例來說,獲得當前累積的每次測試的性能測試參數(shù)的統(tǒng)計量可以通過以下方式。如果針對某個測試場景,在第一次測試時的響應(yīng)時長為t1,第二次測試時的響應(yīng)時長為t2,第三次測試時的響應(yīng)時長為t3,第四次測試時的響應(yīng)時長為t4;則當?shù)谝淮螠y試完成后,當前累積的性能測試參數(shù)的統(tǒng)計量為t1;當?shù)诙螠y試完成后,當前累積的性能測試參數(shù)的統(tǒng)計量為t1、t2的和的平均值。以此類推,當?shù)谒拇螠y試完成后,當前累積的性能測試參數(shù)的統(tǒng)計量為這四次測試的響應(yīng)時長的總和的平均值。在步驟S101中,計算統(tǒng)計量的置信區(qū)間時,可以根據(jù)樣本數(shù)量的不同而呈現(xiàn)的分布規(guī)律不同,采用不同的區(qū)間估計方法。作為例子,可以通過T分布或標準正態(tài)分布來獲得統(tǒng)計量的置信區(qū)間??梢詫斍袄鄯e的測試次數(shù)與預(yù)設(shè)次數(shù)對比,確定是否通過所述統(tǒng)計量的T分布或標準正態(tài)分布計算所述統(tǒng)計量的置信區(qū)間。預(yù)定次數(shù)用于區(qū)分性能測試參數(shù)的統(tǒng)計量屬于小樣本或大樣本。需要注意,大樣本、小樣本之間并不是以樣本容量大小來區(qū)分,可以參考統(tǒng)計學常用的經(jīng)驗值,將預(yù)定次數(shù)定為30次,測試次數(shù)小于30次時各個性能測試參數(shù)屬于小樣本;測試次數(shù)不小于30次時所取得的性能測試參數(shù)為大樣本。用戶可根據(jù)測試場景的實際情況對預(yù)定次數(shù)進行調(diào)整,本申請并不限定將30次作為衡量大樣本和小樣本的唯一標準。作為例子,在小樣本參數(shù)估計時,可根據(jù)T分布來獲得統(tǒng)計量的置信區(qū)間;在樣本足夠多,可以視為大樣本數(shù)據(jù)時,可根據(jù)標準正態(tài)分布來獲得統(tǒng)計量的置信區(qū)間。T分布和標準正態(tài)分布并非實現(xiàn)獲得置信區(qū)間的唯一的特征分布,可通過實驗數(shù)據(jù)判斷具體的測試場景所獲得的性能測試參數(shù)的屬性特征來確定選擇何種分布特征。S102階段中,算出的置信區(qū)間需要判斷是否符合設(shè)定條件,預(yù)設(shè)條件可以根據(jù)性能測試參數(shù)的預(yù)設(shè)波動幅度設(shè)定,波動幅度可以參考以往測試所獲得的經(jīng)驗值。作為波動幅度的參數(shù)可以根據(jù)測試者的不同需求設(shè)置不同類型,例如在某些場合,預(yù)設(shè)波動幅度可以是可接受的波動率;在另一些場合,預(yù)設(shè)波動幅度可以是可接受的置信區(qū)間的范圍。根據(jù)需要,可以將其中一種預(yù)設(shè)波動幅度的參數(shù)來設(shè)置停止測試的設(shè)定條件,也可以將兩種或更多的預(yù)設(shè)波動幅度的參數(shù)作為設(shè)定條件。作為例子,如果希望降低測試成本,僅進行少量的測試,則可以在小樣本測試中將用戶希望小于某個波動率設(shè)置為設(shè)定條件;或者,在大樣本測試中,將用戶希望置信區(qū)間小于某個范圍設(shè)置為設(shè)定條件。波動率可以通過delt/樣本平均值獲得。其中,delt=S*t(n-1)/sqrt(n)式中n表示測試次數(shù),t(n-1)可以通過查詢t分布臨界表獲得,S是樣本標準差,sqrt(n)表示n的平方根。置信區(qū)間的計算方法可參照現(xiàn)有技術(shù)。例如,可以將小于3%的波動率作為設(shè)定條件,以95%置信度為例,如果算出的波動率不在設(shè)定的波動率范圍內(nèi),則認為不符合設(shè)定條件,繼續(xù)下一輪測試,直到波動率落入此設(shè)定的波動率范圍內(nèi)。再例如,如果將置信區(qū)間范圍小于20ms作為設(shè)定條件,以95%置信度為例,如果算出的置信區(qū)間不在設(shè)定的置信區(qū)間范圍內(nèi),則認為不符合設(shè)定條件,繼續(xù)下一輪測試,直到算出的落入此設(shè)定的置信區(qū)間范圍內(nèi)。以下以7次測試的獲得的性能測試參數(shù)為例,說明置信區(qū)間及波動率的獲得過程:7次測試采集的性能測試參數(shù)如下表2所示:表2根據(jù)以上測試結(jié)果,由于屬于小樣本,因此采用T分布來統(tǒng)計計算波動率,假設(shè)用戶設(shè)定的條件是小于3%的波動率停止測試??梢越y(tǒng)計計算出表3的結(jié)果:表3Average1167.571t(n-1)2.446912sqrt(n)2.645751t(n-1)/sqrt(n)0.92485S44.05246表3中Average為當前所累積的每次測試的性能參數(shù)的平均值;t(n-1)表示自由度,n表示測試次數(shù),置信區(qū)間的值可以是t分布臨界表在置信度95%、自由度為6時所對應(yīng)的值,根據(jù)表3的數(shù)據(jù)獲得7次測試的波動率為3.4853%,可見目前的波動率大于預(yù)設(shè)條件,因此將進行第8次的測試。圖2是本申請的一個應(yīng)用實例,本應(yīng)用實例是對撥號退出的測試場景進行性能測試的結(jié)果,性能測試參數(shù)為撥號退出的響應(yīng)時長。S201,用戶在發(fā)起測試任務(wù)之前,先設(shè)定置信度以及停止測試的預(yù)設(shè)條件,本例中,將置信度設(shè)置為95%,停止測試的預(yù)設(shè)條件為測試次數(shù)小于30次時波動率小于3%;測試次數(shù)大于或等于30次時置信區(qū)間小于16.5ms。當撥號退出的測試腳本被觸發(fā)執(zhí)行后,該測試腳本被執(zhí)行(S202)。利用高速攝像頭以120fps的幀速率采集測試數(shù)據(jù),并保存成一張張的圖片(S203)。停止采集后,對所保存的圖片進行分析,根據(jù)圖像的變化規(guī)律分析出當前采集了7次測試的響應(yīng)時長(S204),本例中考慮到測試結(jié)果的可參考性,僅對測試次數(shù)大于5次的測試結(jié)果進行分析,因此將首次測試設(shè)置為循環(huán)7次執(zhí)行測試腳本。在每次測試完后,針對當前已累積的統(tǒng)計值計算置信度95%的置信區(qū)間,在測試次數(shù)小于30次時,通過t分布臨界表得出置信區(qū)間(S205、S206),S208,根據(jù)置信區(qū)間計算出波動率,判斷波動率是否滿足預(yù)定條件,如果波動率并未落入設(shè)定的波動率范圍,則返回S202繼續(xù)進行下一輪測試。在測試次數(shù)達到30次后如果置信區(qū)間仍未達到設(shè)定的波動區(qū)間,則從第30次開始按照標準正態(tài)分布計算置信區(qū)間(S207)。圖3a為測試次數(shù)小于30次時每次測試后按照T分布獲得的置信區(qū)間和相應(yīng)的波動率;可以看出30次以內(nèi)的測試次數(shù)獲得的波動率均大于3%。圖3b為測試次數(shù)大于或等于30次時按照標準正態(tài)分布獲得的置信區(qū)間。可以看出,當測試次數(shù)達到50次時,置信區(qū)間落入預(yù)設(shè)的置信區(qū)間寬度,也就是可以滿足用戶對精度的要求,因此此時可停止測試。與前述性能測試的方法的實施例相對應(yīng),本申請還提供了性能測試的裝置的實施例。本申請性能測試的裝置的實施例可以應(yīng)用在測試設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在測試的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖4所示,為本申請性能測試的裝置所在測試設(shè)備的一種硬件結(jié)構(gòu)圖,除 了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的測試設(shè)備通常根據(jù)該測試設(shè)備的實際功能,還可以包括其他硬件,例如高速攝像頭等,對此不再贅述。請參考圖5,性能測試的裝置500,包括:計算模塊501,用于對性能測試參數(shù)的統(tǒng)計量進行參數(shù)估計,并獲得估計值;判斷模塊502,用于判斷獲得的估計值是否符合預(yù)設(shè)條件;并根據(jù)判斷結(jié)果確定是否進行下一次測試,所述預(yù)設(shè)條件根據(jù)性能測試參數(shù)的預(yù)設(shè)波動幅度設(shè)定。作為例子,性能測試參數(shù)的統(tǒng)計量可以是當前累積的每次測試的性能測試參數(shù)的均值,所述參數(shù)估計可以是置信區(qū)間估計,估計值可以是置信區(qū)間。計算模塊501可以根據(jù)預(yù)定的置信度獲得統(tǒng)計量的置信區(qū)間。計算模塊501可以將測試次數(shù)與預(yù)設(shè)次數(shù)對比,確定是否通過所述統(tǒng)計量的T分布或標準正態(tài)分布計算所述統(tǒng)計量的置信區(qū)間,預(yù)定次數(shù)用于區(qū)分所述性能測試參數(shù)屬于小樣本或大樣本。計算模塊501可以當測試次數(shù)小于預(yù)設(shè)次數(shù)時,計算所述統(tǒng)計量的T分布的置信區(qū)間;或當測試次數(shù)不小于預(yù)設(shè)次數(shù)時,計算統(tǒng)計量的標準正態(tài)分布的置信區(qū)間,預(yù)定次數(shù)用于區(qū)分所述性能測試參數(shù)屬于小樣本或大樣本。性能測試參數(shù)可以包括測試場景在一次測試中的響應(yīng)時長。作為例子,還可以包括存儲模塊(圖中未示出),用于保存圖片格式的所述測試場景的采集數(shù)據(jù);計算模塊501可以根據(jù)所保存的圖片的變化規(guī)律確定所述測試場景在一次測試中的響應(yīng)時長。計算模塊501還可以查找測試場景的采集數(shù)據(jù)的預(yù)定關(guān)鍵字;根據(jù)預(yù)定關(guān)鍵字確定所述測試場景在一次測試中的響應(yīng)時長。另外,計算模塊501還可以用于根據(jù)所述置信區(qū)間獲得所述性能測試參數(shù)的波動率。性能測試參數(shù)的預(yù)設(shè)波動幅度可以是性能測試參數(shù)的預(yù)設(shè)波動率,和/或所述性能測試參數(shù)的預(yù)設(shè)置信區(qū)間寬度;估計值可以是置信區(qū)間或波動率。上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。當前第1頁1 2 3