專利名稱:軟件性能的測試設(shè)備及測試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件測試領(lǐng)域,具體涉及一種軟件性能的測試設(shè)備及測試方法。
背景技術(shù):
在軟件測試中,經(jīng)常需要評(píng)測軟件可視部分的性能指標(biāo),例如程序的啟動(dòng)速度或訪問某一網(wǎng)頁的速度等。目前常用的測試方式有如下兩種第一種方式僅適用于被測軟件有源代碼的情況。在這種方式中,可以在源代碼中表示開始和結(jié)束的位置分別打印標(biāo)記,根據(jù)開始標(biāo)記和結(jié)束標(biāo)記運(yùn)行時(shí)的時(shí)間間隔來計(jì)算軟件的運(yùn)行時(shí)間,從而反映軟件的性能指標(biāo)。在這種方式中,實(shí)際測試的是代碼加載的時(shí)間間隔,但是 ,由于軟件的界面渲染是由負(fù)責(zé)顯示的硬件完成的,硬件從代碼中獲取到數(shù)據(jù),再根據(jù)數(shù)據(jù)進(jìn)行渲染的過程是需要耗費(fèi)一定時(shí)間的。而用戶看到的實(shí)際上是渲染后的結(jié)果,因此,通過第一種方式由于無法計(jì)算出硬件渲染的時(shí)間,因此,無法真實(shí)地反映出用戶的等待時(shí)間,從而也與用戶真實(shí)使用軟件時(shí)的感受有差距。而且這種方式只能適用于有源代碼的軟件,通用性較差。第二種方式可以適用于沒有源代碼的被測軟件。在這種方式中,完全通過人工掐表的方式來計(jì)算軟件的運(yùn)行時(shí)間。這種方式雖然通用性較強(qiáng),但是,完全由人工實(shí)現(xiàn),導(dǎo)致效率低下,需要耗費(fèi)過多的人力。由此可見,目前在測試軟件性能時(shí),存在著通用性差、無法真實(shí)反映用戶體驗(yàn),或效率低下、耗費(fèi)人力過多的缺陷。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的軟件性能的測試設(shè)備及測試方法。依據(jù)本發(fā)明的一個(gè)方面,提供了一種軟件性能的測試設(shè)備,包括測試控制單元,適于向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn);圖像比較單元,適于從測試開始時(shí)間點(diǎn)開始接收由攝像設(shè)備發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配;時(shí)間間隔計(jì)算單元,適于在圖像比較單元確定被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn),計(jì)算測試結(jié)束時(shí)間點(diǎn)與測試開始時(shí)間點(diǎn)之間的時(shí)間間隔??蛇x地,該設(shè)備進(jìn)一步包括存儲(chǔ)單元,適于存儲(chǔ)結(jié)束界面圖像,該結(jié)束界面圖像通過預(yù)先運(yùn)行被測軟件,由攝像設(shè)備或截屏軟件捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域或部分區(qū)域的圖像而獲得??蛇x地,圖像比較單元適于計(jì)算被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分,當(dāng)相似度得分滿足預(yù)設(shè)的相似度閾值時(shí),確定被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像匹配。
可選地,該設(shè)備進(jìn)一步包括設(shè)置單元,適于根據(jù)測試環(huán)境設(shè)置相似度閾值。依據(jù)本發(fā)明的另一方面,提供了一種軟件性能的測試方法,包括向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn);從測試開始時(shí)間點(diǎn)開始接收由攝像設(shè)備發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配;在確定被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn),計(jì)算測試結(jié)束時(shí)間點(diǎn)與測試開始時(shí)間點(diǎn)之間的時(shí)間間隔??蛇x地,預(yù)先存儲(chǔ)的結(jié)束界面圖像通過如下步驟獲得預(yù)先運(yùn)行被測軟件,由攝像設(shè)備或截屏軟件捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域或部分區(qū)域的圖像,作為結(jié)束界面圖像??蛇x地,比較被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像的步驟進(jìn)一步包括計(jì)算被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分,當(dāng)相似度得分滿足預(yù)設(shè)的相似度閾值時(shí),確定被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像匹配。可選地,預(yù)設(shè)的相似度閾值根據(jù)測試環(huán)境進(jìn)行設(shè)置。根據(jù)本發(fā)明的測試設(shè)備、測試系統(tǒng)及相應(yīng)的測試方法,通過測試控制單元控制被測軟件開始運(yùn)行,并在圖像比較單元經(jīng)過比較發(fā)現(xiàn)攝像設(shè)備發(fā)來的被測軟件運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),確定被測軟件運(yùn)行結(jié)束,從而由時(shí)間間隔計(jì)算單元計(jì)算出被測軟件的運(yùn)行時(shí)間。由此解決了目前在測試軟件性能時(shí),存在著通用性差、無法真實(shí)反映用戶體驗(yàn),或效率低下、耗費(fèi)人力過多的缺陷的問題,取得了通用性強(qiáng)、能夠真實(shí)反映用戶體驗(yàn),且更加高效的有益效果。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖I示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的軟件性能的測試設(shè)備的結(jié)構(gòu)圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的測試設(shè)備與其他設(shè)備之間的結(jié)構(gòu)圖;圖3a示出了本發(fā)明一個(gè)實(shí)施例中攝像設(shè)備捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域作為結(jié)束界面圖像時(shí)的示意圖;圖3b示出了本發(fā)明一個(gè)實(shí)施例中攝像設(shè)備捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的部分區(qū)域作為結(jié)束界面圖像時(shí)的示意圖;圖4示出了本發(fā)明一個(gè)實(shí)施例中點(diǎn)擊瀏覽器圖標(biāo)時(shí)的顯示界面的示意圖;圖5示出了本發(fā)明一個(gè)實(shí)施例中的移動(dòng)終端運(yùn)行過程中所顯示的界面的變化情況;圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的軟件性能的測試系統(tǒng)的結(jié)構(gòu)圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的軟件性能的測試方法的流程圖。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。圖I示出了本發(fā)明實(shí)施例提供的軟件性能的測試設(shè)備100的結(jié)構(gòu)圖。如圖I所示,該測試設(shè)備100包括測試控制單元11、圖像比較單元12以及時(shí)間間隔計(jì)算單元13。在需要測試被測軟件的軟件性能時(shí),由測試控制單元11向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn)。圖像比較單元12從該測試開始時(shí)間點(diǎn)開始接收由攝像設(shè)備發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配。時(shí)間間隔計(jì)算單元13在圖像比較單元12確定被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn),計(jì)算測試結(jié)束時(shí)間點(diǎn)與測試開始時(shí)間點(diǎn)之間的時(shí)間間隔。該時(shí)間間隔即為被測軟件的運(yùn)行時(shí)間,反映了被測軟件的軟件性能。上述的攝像設(shè)備可以是獨(dú)立于測試設(shè)備100的一個(gè)單獨(dú)的設(shè)備,或者,也可以是包含在測試設(shè)備100內(nèi)部的一個(gè)單元。該攝像設(shè)備可以每隔預(yù)設(shè)的時(shí)間間隔采集一次被測軟件的運(yùn)行界面圖像,其中,該預(yù)設(shè)的時(shí)間間隔由該攝像設(shè)備的幀率確定。可選地,測試設(shè)備100進(jìn)一步包括存儲(chǔ)單元(圖中未示出)。存儲(chǔ)單元用于存儲(chǔ)上述的結(jié)束界面圖像,該結(jié)束界面圖像通過預(yù)先運(yùn)行被測軟件,由攝像設(shè)備或截屏軟件捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域或部分區(qū)域的圖像而獲得??蛇x地,圖像比較單元12計(jì)算被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分,當(dāng)相似度得分滿足預(yù)設(shè)的相似度閾值時(shí),確定被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像匹配。其中,為了對(duì)相似度閾值進(jìn)行設(shè)置,該測試設(shè)備還可以進(jìn)一步包括設(shè)置單元(圖中未示出)。該設(shè)置單元用于根據(jù)測試環(huán)境設(shè)置上述的相似度閾值。根據(jù)本發(fā)明的測試設(shè)備,通過測試控制單元控制被測軟件開始運(yùn)行,并在圖像比較單元經(jīng)過比較發(fā)現(xiàn)攝像設(shè)備發(fā)來的被測軟件運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),確定被測軟件運(yùn)行結(jié)束,從而由時(shí)間間隔計(jì)算單元計(jì)算出被測軟件的運(yùn)行時(shí)間。由此解決了目前在測試軟件性能時(shí),存在著通用性差、無法真實(shí)反映用戶體驗(yàn),或效率低下、耗費(fèi)人力過多的缺陷的問題,取得了通用性強(qiáng)、能夠真實(shí)反映用戶體驗(yàn),且更加高效的有益效果。下面根據(jù)本發(fā)明的一個(gè)實(shí)施例,詳細(xì)描述一下該測試設(shè)備的具體工作示例。圖2示出了本實(shí)施例中的測試設(shè)備100與其他設(shè)備之間的結(jié)構(gòu)圖。圖2中除了測試設(shè)備100外,還包括與測試設(shè)備100相連的攝像設(shè)備200,以及與測試設(shè)備100相連的移動(dòng)終端301和/或固定終端302。其中,移動(dòng)終端301和固定終端302統(tǒng)稱為被測軟件的運(yùn)行界面顯示設(shè)備。具體地,移動(dòng)終端301例如可以是手機(jī),固定終端302例如可以是臺(tái)式機(jī)。圖2中的測試設(shè)備100可以通過一臺(tái)PC機(jī)實(shí)現(xiàn)。從圖中可以看出,測試設(shè)備100與移動(dòng)終端301之間的連線為實(shí)線,其表示測試設(shè)備100與移動(dòng)終端301直接相連;測試設(shè)備100與固定終端302之間的連線為虛線,其表示測試設(shè)備100與固定終端302間接相連。由此可見,測試設(shè)備100與被測軟件的運(yùn)行界面顯示設(shè)備可以通過直接或間接方式相連,只要能夠?qū)崿F(xiàn)通信目的即可。在本實(shí)施例中,以測試設(shè)備100測試移動(dòng)終端301上的軟件性能為例進(jìn)行說明。首先,需要調(diào)整攝像設(shè)備200的位置,以便攝像設(shè)備200與移動(dòng)終端301的顯示界面對(duì)準(zhǔn)。還需要預(yù)先準(zhǔn)備好移動(dòng)終端301上的被測軟件的結(jié)束界面圖像,該結(jié)束界面圖像是被測軟件的某個(gè)運(yùn)行階段結(jié)束時(shí)所顯示的圖像。例如,以移動(dòng)終端上安裝的360瀏覽器軟件為例,假設(shè)需要測試的是360瀏覽器的啟動(dòng)速度,該啟動(dòng)速度反映了從用戶點(diǎn)擊手機(jī)屏幕上的瀏覽器圖標(biāo),直到瀏覽器的主界面顯示出來的時(shí)間。因此,這時(shí)的結(jié)束界面圖像就是瀏覽器啟動(dòng)完成后的主界面,如圖3a所示。具體獲取結(jié)束界面圖像時(shí),由測試設(shè)備100預(yù)先控制移動(dòng)終端301上的被測軟件(360瀏覽器)運(yùn)行,相當(dāng)于用戶點(diǎn)擊屏幕上的瀏覽器圖標(biāo)的啟動(dòng),并控制攝像設(shè)備200捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域(圖3a中顯示的區(qū)域)作為結(jié)束界面圖像?;蛘?,為了降低后續(xù)的匹配過程中的計(jì)算量,也可以僅捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的部分區(qū)域(圖3b中顯示的區(qū)域)作為結(jié)束界面圖像。該結(jié)束界面圖像可以存儲(chǔ)在測試設(shè)備100的存儲(chǔ)單元內(nèi)。另外,在捕獲結(jié)束界面圖像時(shí),也可以用截屏軟件來代替攝像設(shè)備200進(jìn)行捕獲,這兩種方式各有優(yōu)勢通過攝像設(shè)備200捕獲的結(jié)束界面圖像與用戶看到的圖像相同,因而更加接近用戶的感受;通過截屏軟件捕獲的結(jié)束界面圖像不受外部環(huán)境(例如燈光、距離)的影響,因而更加清晰。然后,由測試設(shè)備100中的測試控制單元向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn)。仍然以被測軟件為360瀏覽器來說,測試控制單元向被測軟件發(fā)送開始運(yùn)行指令,相當(dāng)于發(fā)送一個(gè)點(diǎn)擊手機(jī)屏幕上的360瀏覽器圖標(biāo)的指令。其中,點(diǎn)擊瀏覽器圖標(biāo)時(shí)的顯示界面如圖4所示。測試控制單元將圖4中的瀏覽器圖標(biāo)被點(diǎn)擊的時(shí)刻作為測試開始時(shí)間點(diǎn)記錄下來,該時(shí)刻以Tl表示。在測試控制單元發(fā)送開始運(yùn)行指令的同時(shí),控制圖像比較單元從測試開始時(shí)間點(diǎn)Tl開始接收由攝像設(shè)備200發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的被測軟件的運(yùn)行界面圖像與上述存儲(chǔ)的結(jié)束界面圖像是否匹配。在這一過程中,攝像設(shè)備200從時(shí)間點(diǎn)Tl開始,每隔預(yù)設(shè)的時(shí)間間隔就采集一次被測軟件的運(yùn)行界面圖像,并將采集到的運(yùn)行界面圖像發(fā)送給圖像比較單元,由圖像比較單元對(duì)剛剛接收到結(jié)束界面圖像進(jìn)行比較。其中,該預(yù)設(shè)的時(shí)間間隔由攝像設(shè)備的幀率確定假如攝像設(shè)備的幀率是30幀/秒,即一秒種攝取30幀圖像,每幀圖像之間的時(shí)間間隔為33. 3毫秒,因此,預(yù)設(shè)的時(shí)間間隔就是33. 3毫秒;假如攝像設(shè)備的幀率是100幀/秒,即一秒種攝取100巾貞圖像,每巾貞圖像之間的時(shí)間間隔為10暈秒,因此,預(yù)設(shè)的時(shí)間間隔就是10毫秒。由此可見,攝像設(shè)備的幀率決定了本實(shí)施例中得到的測試結(jié)果的精度,幀率越大,測試精度越高,但相應(yīng)的數(shù)據(jù)傳輸量和計(jì)算量也越大。因此,在實(shí)際情況中,可以根據(jù)具體的測試精度要求來選擇合適幀率的攝像設(shè)備。圖像比較單元每次接收到上述的攝像設(shè)備200發(fā)來的被測軟件的運(yùn)行界面圖像后,比較本次接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配。具體實(shí)現(xiàn)時(shí),圖像比較單元可以通過一定的相似度算法計(jì)算本次接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分,當(dāng)相似度得分不滿足預(yù)設(shè)的相似度閾值時(shí),確定本次接收到的被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像不匹配,繼續(xù)對(duì)下次接收的運(yùn)行界面圖像進(jìn)行計(jì)算;直到接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分滿足預(yù)設(shè)的相似度閾值時(shí),確定本次接收到的被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像匹配。其中,相似度算法也可以稱為模式匹配算法,該算法可以使用開源的庫OpenCV (網(wǎng)址為www. opencv. org. cn)實(shí)現(xiàn),由于該庫已經(jīng)被廣泛應(yīng)用,因此穩(wěn)定性和比較效率都很高。當(dāng)然,也可以根據(jù)需要選擇其他的相似度算法,只要能夠?qū)崿F(xiàn)匹配目的即可。其中,在上述過程中,相似度閾值是由測試設(shè)備100內(nèi)部的設(shè)置單元根據(jù)測試環(huán)境設(shè)置的一個(gè)O到I之間的數(shù)值,在設(shè)置時(shí),通常需要綜合考慮光線、距離等諸多因素。當(dāng)光線較好且距離較近時(shí),設(shè)置的相似度閾值較大;當(dāng)光線較差且距離較遠(yuǎn)時(shí),設(shè)置的相似度閾值較小。例如,相似度為O. 99相當(dāng)于大小,顏色,輪廓完全一樣;相似度為O. 5相當(dāng)于形狀一樣,但大小可以更小或更大,顏色可以有誤差。通過相似度閾值的合理設(shè)置,可以準(zhǔn)確地確定出與結(jié)束界面圖像匹配的運(yùn)行界面圖像,從而找到被測軟件的運(yùn)行結(jié)束時(shí)間點(diǎn)。設(shè)置相似度閾值的具體原因在于測試設(shè)備捕獲結(jié)束界面圖像時(shí)有可能是由截屏軟件直接從軟件界面中截取的,而不是像運(yùn)行界面圖像那樣是由攝像設(shè)備拍攝的,由此導(dǎo)致二者之間存在偏差。即使結(jié)束界面圖像是像運(yùn)行界面圖像那樣由攝像設(shè)備拍攝的,但由于拍攝時(shí)的光線、距離等方面的差異,也會(huì)導(dǎo)致二者之間存在偏差,因此,如果采用精確匹配(例如逐像素比較)的方式很可能導(dǎo)致匹配失敗,因此,本實(shí)施例中采用模式識(shí)別技術(shù)可以很好地解決這一問題。當(dāng)上述的圖像比較單元確定本次接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),通知時(shí)間間隔計(jì)算單元記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn)T2,并計(jì)算測試結(jié)束時(shí)間點(diǎn)T2與測試開始時(shí)間點(diǎn)Tl之間的時(shí)間間隔(T2 - Tl)。在本實(shí)施例中,預(yù)先存儲(chǔ)的結(jié)束界面圖像如圖3a所示,因此,當(dāng)圖像比較單元確定本次接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),說明移動(dòng)終端301上當(dāng)前顯示的運(yùn)行界面圖像與圖3a所示的圖像滿足設(shè)定的相似度閾值,因而表示移動(dòng)終端301當(dāng)前已經(jīng)完成了360瀏覽器的啟動(dòng),成功加載了圖3a所示的界面。因此,T2 — Tl得到的數(shù)值就反映了 360瀏覽器的啟動(dòng)時(shí)間,該啟動(dòng)時(shí)間反映了用戶在打開360瀏覽器時(shí)的等待時(shí)間。圖5示出了在本實(shí)施例中的移動(dòng)終端301運(yùn)行過程中所顯示的界面的變化情況。其中,圖5中第一幅圖(子圖I)表示剛剛點(diǎn)擊360瀏覽器時(shí)所顯示的界面,即在開始時(shí)間點(diǎn)Tl所顯示的界面。第二幅圖(子圖2)表示從Tl開始經(jīng)過了一段時(shí)間,由攝像設(shè)備捕獲了數(shù)幀圖像后移動(dòng)終端301所顯示的界面,該界面是360瀏覽器加載過程中的中間界面,因此必然與結(jié)束界面圖像不匹配。第三幅圖(子圖3)表示又經(jīng)過了一段時(shí)間后,由攝像設(shè)備捕獲了數(shù)幀圖像后移動(dòng)終端301所顯示的界面,該界面也是360瀏覽器加載過程中的中間界面,與第二幅圖相比更接近結(jié)束界面圖像,但依然與結(jié)束界面圖像不匹配。第四幅圖(子圖4)表示在圖像比較單元確定本次接收到的圖像與結(jié)束界面圖像匹配時(shí)所顯示的界面,也就是在結(jié)束時(shí)間點(diǎn)T2時(shí)所顯示的界面,從圖中可以看出,第四幅圖與圖3a最為接近,表示360瀏覽器加載成功。除了測試軟件的啟動(dòng)速度外,本實(shí)施例提供的方式還可以測試軟件的其他性能,例如向用戶呈現(xiàn)某個(gè)網(wǎng)頁的速度等。本實(shí)施例提供的測試設(shè)備,能夠控制攝像設(shè)備從被測軟件啟動(dòng)后開始捕獲軟件的運(yùn)行界面圖像,并與預(yù)先存儲(chǔ)的結(jié)束界面圖像比較,從而確定出軟件運(yùn)行的結(jié)束時(shí)間點(diǎn),由此測試軟件的性能。由于本實(shí)施例中是由攝像設(shè)備來攝取被測軟件的運(yùn)行界面的,而攝像設(shè)備與用戶所處的視角完全相同,因此,非常貼近用戶的感受,能夠切實(shí)從用戶的角度出發(fā),測量到用戶所感受到的軟件運(yùn)行時(shí)間。而且,本實(shí)施例中的攝像設(shè)備由測試設(shè)備控制,且測試設(shè)備能夠自動(dòng)地對(duì)接收到的運(yùn)行界面圖像進(jìn)行匹配比較,由此提高了測試效率,避免了繁瑣的人工操作。另外,本實(shí)施例中的測試設(shè)備可用于測試任何有界面的軟件的性能,無論該軟件有無源代碼,因此,提高了該方法的通用性。而且,由于本實(shí)施例中采用模式識(shí)別的方法進(jìn)行匹配比較,可以自行設(shè)置相似度閾值,所以預(yù)先準(zhǔn)備的結(jié)束界面圖像可以重復(fù)使用,例如,如果本次測試時(shí)由于環(huán)境限制導(dǎo)致攝像設(shè)備攝取的圖像不夠清楚,可以把相似度閾值調(diào)低,從而照常實(shí)現(xiàn)自動(dòng)化測試的目的。圖6示出了本發(fā)明實(shí)施例提供的一種軟件性能的測試系統(tǒng)。該測試系統(tǒng)包括被測軟件的運(yùn)行界面顯示設(shè)備300、如上述實(shí)施例描述的測試設(shè)備100以及一個(gè)或多個(gè)攝像設(shè)備200。其中,攝像設(shè)備200適于根據(jù)測試設(shè)備100的控制對(duì)被測軟件的運(yùn)行界面中的全部區(qū)域或部分區(qū)域進(jìn)行攝像,得到被測軟件的運(yùn)行界面圖像。具體地,攝像設(shè)備可以每隔預(yù)設(shè)的時(shí)間間隔采集一次被測軟件的運(yùn)行界面圖像,其中,預(yù)設(shè)的時(shí)間間隔由該攝像設(shè)備的幀率確定。具體地,攝像設(shè)備200獲取運(yùn)行界面圖像的方式可參照上一實(shí)施例中的描述此處不再贅述。另外,本實(shí)施例中的測試設(shè)備100進(jìn)一步包括測試控制單元11、圖像比較單元12和時(shí)間間隔計(jì)算單元13??蛇x地,測試設(shè)備100還可以包括存儲(chǔ)單元和設(shè)置單元。上述各個(gè)單元的具體工作過程可參照上一實(shí)施例中的描述,此處不再贅述。被測軟件的運(yùn)行界面顯示設(shè)備300可以是移動(dòng)終端或固定終端等能夠運(yùn)行被測軟件并顯示軟件界面的設(shè)備。圖7示出了本發(fā)明實(shí)施例提供的一種軟件性能的測試方法的流程圖。該方法始于步驟S710,在步驟S710中,向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn)。其中,步驟S710可由測試設(shè)備100中的測試控制單元執(zhí)行,具體的執(zhí)行過程可參照測試設(shè)備實(shí)施例中的描述。執(zhí)彳丁完步驟S710之后,在步驟S720中,從測試開始時(shí)間點(diǎn)開始接收由攝像設(shè)備發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配。其中,步驟S720可由測試設(shè)備100中的圖像比較單元執(zhí)行,具體的執(zhí)行過程可參照測試設(shè)備實(shí)施例中的描述??蛇x地。比較被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像的步驟進(jìn)一步包括計(jì)算被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分,當(dāng)相似度得分滿足預(yù)設(shè)的相似度閾值時(shí),確定被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像匹配。其中,相似度閾值的設(shè)置以及相似度得分的確定過程也可以參照測試設(shè)備實(shí)施例中的描述實(shí)現(xiàn)。
8
當(dāng)確定被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),執(zhí)行步驟S730。在步驟S730中,記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn),計(jì)算測試結(jié)束時(shí)間點(diǎn)與測試開始時(shí)間點(diǎn)之間的時(shí)間間隔。其中,步驟S730可由測試設(shè)備100中的時(shí)間間隔計(jì)算單元執(zhí)行,具體的執(zhí)行過程可參照測試設(shè)備實(shí)施例中的描述。另外,在步驟S710之前,還可以進(jìn)一步包括一個(gè)預(yù)先存儲(chǔ)結(jié)束界面圖像的步驟。具體實(shí)現(xiàn)時(shí),預(yù)先運(yùn)行被測軟件,由攝像設(shè)備或截屏軟件捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域或部分區(qū)域的圖像,作為結(jié)束界面圖像。其中,結(jié)束界面圖像的具體獲取方式也可參照測試設(shè)備實(shí)施例中的描述實(shí)現(xiàn)。本發(fā)明提供的測試系統(tǒng)和相應(yīng)的方法,能夠控制攝像設(shè)備從被測軟件啟動(dòng)后開始捕獲軟件的運(yùn)行界面圖像,并與預(yù)先存儲(chǔ)的結(jié)束界面圖像比較,從而確定出軟件運(yùn)行的結(jié)束時(shí)間點(diǎn),由此測試軟件的性能。由于本實(shí)施例中是由攝像設(shè)備來攝取被測軟件的運(yùn)行界面的,而攝像設(shè)備與用戶所處的視角完全相同,因此,非常貼近用戶的感受,能夠切實(shí)從用戶的角度出發(fā),測量到用戶所感受到的軟件運(yùn)行時(shí)間。而且,本實(shí)施例中的攝像設(shè)備由測試設(shè)備控制,且測試設(shè)備能夠自動(dòng)地對(duì)接收到的運(yùn)行界面圖像進(jìn)行匹配比較,由此提高了測試效率,避免了繁瑣的人工操作。另外,本實(shí)施例中的測試系統(tǒng)和方法可用于測試任何有界面的軟件的性能,無論該軟件有無源代碼,因此,提高了該方法的通用性。而且,由于本實(shí)施例中采用模式識(shí)別的方法進(jìn)行匹配比較,可以自行設(shè)置相似度閾值,所以預(yù)先準(zhǔn)備的結(jié)束界面圖像可以重復(fù)使用,例如,如果本次測試時(shí)由于環(huán)境限制導(dǎo)致攝像設(shè)備攝取的圖像不夠清楚,可以把相似度閾值調(diào)低,從而照常實(shí)現(xiàn)自動(dòng)化測試的目的。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書由此明確地并入該具體實(shí)施方式
,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(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)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的測試設(shè)備和測試系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(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)行說明而不是對(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ī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種軟件性能的測試設(shè)備,包括 測試控制單元,適于向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn); 圖像比較單元,適于從所述測試開始時(shí)間點(diǎn)開始接收由攝像設(shè)備發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的所述被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配; 時(shí)間間隔計(jì)算單元,適于在所述圖像比較單元確定所述被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn),計(jì)算測試結(jié)束時(shí)間點(diǎn)與測試開始時(shí)間點(diǎn)之間的時(shí)間間隔。
2.如權(quán)利要求I所述的設(shè)備,進(jìn)一步包括 存儲(chǔ)單元,適于存儲(chǔ)結(jié)束界面圖像,該結(jié)束界面圖像通過預(yù)先運(yùn)行被測軟件,由攝像設(shè)備或截屏軟件捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域或部分區(qū)域的圖像而獲得。
3.如權(quán)利要求1-2中任一個(gè)所述的設(shè)備,所述圖像比較單元適于計(jì)算所述被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分,當(dāng)所述相似度得分滿足預(yù)設(shè)的相似度閾值時(shí),確定所述被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像匹配。
4.如權(quán)利要求3所述的設(shè)備,進(jìn)一步包括 設(shè)置單元,適于根據(jù)測試環(huán)境設(shè)置所述相似度閾值。
5.一種軟件性能的測試方法,包括 向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn); 從所述測試開始時(shí)間點(diǎn)開始接收由攝像設(shè)備發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的所述被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配; 在確定所述被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn),計(jì)算測試結(jié)束時(shí)間點(diǎn)與測試開始時(shí)間點(diǎn)之間的時(shí)間間隔。
6.如權(quán)利要求5所述的方法,所述預(yù)先存儲(chǔ)的結(jié)束界面圖像通過如下步驟獲得預(yù)先運(yùn)行被測軟件,由攝像設(shè)備或截屏軟件捕獲被測軟件運(yùn)行結(jié)束時(shí)所顯示的界面中的全部區(qū)域或部分區(qū)域的圖像,作為結(jié)束界面圖像。
7.如權(quán)利要求5-6中任一個(gè)所述的方法,比較所述被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像的步驟進(jìn)一步包括 計(jì)算所述被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像之間的相似度得分,當(dāng)所述相似度得分滿足預(yù)設(shè)的相似度閾值時(shí),確定所述被測軟件的運(yùn)行界面圖像與預(yù)先設(shè)置的結(jié)束界面圖像匹配。
8.如權(quán)利要求7所述的方法,所述預(yù)設(shè)的相似度閾值根據(jù)測試環(huán)境進(jìn)行設(shè)置。
全文摘要
本發(fā)明公開了一種軟件性能的測試設(shè)備及測試方法。該設(shè)備包括測試控制單元,適于向被測軟件發(fā)送開始運(yùn)行指令,記錄被測軟件開始運(yùn)行的時(shí)間為測試開始時(shí)間點(diǎn);圖像比較單元,適于從測試開始時(shí)間點(diǎn)開始接收由攝像設(shè)備發(fā)來的被測軟件的運(yùn)行界面圖像,比較接收到的被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像是否匹配;時(shí)間間隔計(jì)算單元,適于在圖像比較單元確定被測軟件的運(yùn)行界面圖像與預(yù)先存儲(chǔ)的結(jié)束界面圖像匹配時(shí),記錄當(dāng)前時(shí)間為測試結(jié)束時(shí)間點(diǎn),計(jì)算測試結(jié)束時(shí)間點(diǎn)與測試開始時(shí)間點(diǎn)之間的時(shí)間間隔,從而解決了目前在測試軟件性能時(shí)存在的通用性差、無法真實(shí)反映用戶體驗(yàn),或效率低下、耗費(fèi)人力過多的問題。
文檔編號(hào)G06F11/36GK102929782SQ20121045759
公開日2013年2月13日 申請日期2012年11月14日 優(yōu)先權(quán)日2012年11月14日
發(fā)明者官建軍 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司