本發(fā)明涉及信息技術(shù)領(lǐng)域,具體涉及一種軟件測(cè)試技術(shù)。
背景技術(shù):
現(xiàn)在,互聯(lián)網(wǎng)信息技術(shù)越來越普及,用戶大量增加,相應(yīng)的網(wǎng)絡(luò)應(yīng)用軟件經(jīng)常需要在海量用戶同時(shí)操作時(shí)仍能夠維持良好的響應(yīng)并實(shí)現(xiàn)相應(yīng)的功能。因此對(duì)于這些軟件進(jìn)行性能測(cè)試時(shí)需要通過編寫自動(dòng)化測(cè)試工具對(duì)網(wǎng)絡(luò)軟件進(jìn)行多種應(yīng)用場(chǎng)景下的模擬性能測(cè)試。但是性能測(cè)試一般需要依賴真實(shí)的硬件及操作系統(tǒng)環(huán)境,而對(duì)于海量用戶實(shí)際操作性能測(cè)試的需求,常常會(huì)受到人力和物力的限制。當(dāng)前的應(yīng)用軟件性能測(cè)試工具通常是模擬用戶實(shí)際操作過程,并抓取操作應(yīng)用軟件時(shí)客戶機(jī)向服務(wù)器發(fā)送的數(shù)據(jù)包,并根據(jù)數(shù)據(jù)協(xié)議解析數(shù)據(jù)包,生成相應(yīng)的測(cè)試腳本。在實(shí)際測(cè)試時(shí),通過多線程同時(shí)執(zhí)行測(cè)試腳本,從而向服務(wù)器發(fā)送相應(yīng)的數(shù)據(jù)包,以實(shí)現(xiàn)性能測(cè)試。然而,現(xiàn)有軟件往往設(shè)計(jì)非常復(fù)雜,并且多種協(xié)議進(jìn)行數(shù)據(jù)發(fā)送,甚至?xí)褂眉用艿木W(wǎng)絡(luò)數(shù)據(jù)傳輸,因此現(xiàn)有性能測(cè)試工具往往不能真實(shí)模擬軟件操作環(huán)境,性能測(cè)試大打折扣。而且對(duì)于多媒體或娛樂軟件,往往還需體現(xiàn)用戶體驗(yàn)效果,而現(xiàn)有性能測(cè)試工具無法同時(shí)監(jiān)視不同硬件和操作系統(tǒng)環(huán)境下客戶機(jī)的實(shí)際運(yùn)行效果。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問題,本發(fā)明提出一種基于公有云桌面的應(yīng)用軟件性能測(cè)試方法。該方法能夠最大程度真實(shí)模擬網(wǎng)絡(luò)應(yīng)用軟件實(shí)際用戶操作場(chǎng)景,準(zhǔn)確真實(shí)反應(yīng)應(yīng)用軟件性能和用戶體驗(yàn)。
本發(fā)明實(shí)現(xiàn)上述目的的技術(shù)方案是:
一種基于公有云桌面的應(yīng)用軟件性能測(cè)試方法,步驟如下:
1)根據(jù)應(yīng)用軟件性能指標(biāo)要求,在公有云平臺(tái)上創(chuàng)建安裝有被測(cè)軟件的客戶機(jī)和服務(wù)器;
2)根據(jù)應(yīng)用軟件的待測(cè)操作場(chǎng)景,在客戶機(jī)創(chuàng)建測(cè)試腳本,在服務(wù)器上創(chuàng)建性能監(jiān)測(cè)腳本;
3)將安裝有被測(cè)軟件和測(cè)試腳本的客戶機(jī)在云平臺(tái)上生成系統(tǒng)鏡像文件,以此鏡像文件批量生成臺(tái)客戶機(jī),同時(shí)將安裝有被測(cè)軟件和性能監(jiān)測(cè)腳本的服務(wù)器在云平臺(tái)上生成系統(tǒng)鏡像文件,以此鏡像文件生成服務(wù)器;
4)在調(diào)度主機(jī)上設(shè)置通信對(duì)象并綁定通信端口,以多線程方式建立并偵聽與各客戶機(jī)和/或服務(wù)器之間的通信;
5)根據(jù)測(cè)試要求,調(diào)度主機(jī)向客戶機(jī)發(fā)送腳本運(yùn)行信令,并接收記錄客戶機(jī)和/或服務(wù)器運(yùn)行待測(cè)應(yīng)用軟件時(shí)的性能狀況。
上述測(cè)試方法創(chuàng)建測(cè)試腳本的步驟如下:
2.1)根據(jù)應(yīng)用軟件的待測(cè)操作場(chǎng)景,記錄待測(cè)應(yīng)用軟件需要的輸入設(shè)備操作命令;
2.2)根據(jù)公有云平臺(tái)操作系統(tǒng)提供的輸入接口函數(shù)將輸入設(shè)備操作命令封裝于測(cè)試腳本文件中;
2.3)設(shè)置關(guān)鍵功能操作,并在相應(yīng)的輸入設(shè)備操作命令上設(shè)置初始時(shí)間點(diǎn)、關(guān)鍵功能操作結(jié)果檢查驗(yàn)證點(diǎn)、標(biāo)記關(guān)鍵功能執(zhí)行完成狀態(tài)的軟件界面和/或關(guān)鍵功能執(zhí)行完成時(shí)間點(diǎn);
2.4)編制腳本接口函數(shù),并定義腳本接口函數(shù)調(diào)用參數(shù)及響應(yīng)結(jié)果。
上述測(cè)試方法中,所述調(diào)度主機(jī)向客戶機(jī)發(fā)送腳本運(yùn)行信令,并接收記錄客戶機(jī)和/或服務(wù)器運(yùn)行待測(cè)應(yīng)用軟件時(shí)的性能狀況的方法具體為:
5.1)以多線程方式建立與所有待測(cè)客戶機(jī)和/或服務(wù)器的通信連接;
5.2)向待測(cè)客戶機(jī)發(fā)送具有統(tǒng)一啟動(dòng)時(shí)間、持續(xù)時(shí)間和/或循環(huán)次數(shù)參數(shù)的腳本接口函數(shù)執(zhí)行命令;
5.3)接收待測(cè)客戶機(jī)返回的各關(guān)鍵功能操作結(jié)果檢查驗(yàn)證點(diǎn)的響應(yīng)結(jié)果,統(tǒng)計(jì)并顯示腳本執(zhí)行情況、平均響應(yīng)時(shí)間和待測(cè)客戶機(jī)的性能指標(biāo)。
5.4)接收服務(wù)器性能監(jiān)測(cè)腳本返回的服務(wù)器性能指標(biāo),并根據(jù)性能指標(biāo)以圖表的方式展示服務(wù)器的性能狀況。
如需實(shí)現(xiàn)不同物理地域情況下的應(yīng)用軟件性能模擬,所述創(chuàng)建多臺(tái)安裝有被測(cè)軟件的客戶機(jī)和服務(wù)器的公有云平臺(tái)為不同物理地域下的公有云平臺(tái)。
與現(xiàn)有技術(shù)相比,本發(fā)明提供的基于公有云桌面的應(yīng)用軟件性能測(cè)試方法具有以下優(yōu)點(diǎn)和效果:
A)由于本發(fā)明技術(shù)方案通過記錄待測(cè)應(yīng)用軟件需要的輸入設(shè)備操作命令實(shí)現(xiàn)軟件使用模擬,無需根據(jù)數(shù)據(jù)協(xié)議解析數(shù)據(jù)包,因此可以針對(duì)所有類型的應(yīng)用軟件進(jìn)行性能測(cè)試;
B)本發(fā)明的性能測(cè)試環(huán)境搭建在公有云平臺(tái)上,通過創(chuàng)建多臺(tái)安裝有被測(cè)軟件的客戶機(jī)和服務(wù)器,實(shí)現(xiàn)海量用戶在不同物理地域,不同配置,不同操作系統(tǒng)同時(shí)操作應(yīng)用軟件的場(chǎng)景模擬,不僅大大降低了性能測(cè)試環(huán)境的架設(shè)成本,且性能測(cè)試方案也可根據(jù)性能測(cè)試過程的需要實(shí)時(shí)修改;
C)通過設(shè)置關(guān)鍵功能操作,并在相應(yīng)的輸入設(shè)備操作命令上設(shè)置初始時(shí)間點(diǎn)、關(guān)鍵功能操作結(jié)果檢查驗(yàn)證點(diǎn)、標(biāo)記關(guān)鍵功能執(zhí)行完成狀態(tài)的軟件界面和/或關(guān)鍵功能執(zhí)行完成時(shí)間點(diǎn),技術(shù)人員可以根據(jù)關(guān)鍵功能操作情況,針對(duì)性的提出性能優(yōu)化方案,對(duì)軟件進(jìn)行改進(jìn)。
附圖說明
圖1為本發(fā)明所述一種基于公有云桌面的應(yīng)用軟件性能測(cè)試方法一具體實(shí)施例的測(cè)試環(huán)境架構(gòu)圖;圖2為本發(fā)明所述一種基于公有云桌面的應(yīng)用軟件性能測(cè)試方法一具體實(shí)施例的性能測(cè)試流程圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。
本例待測(cè)的應(yīng)用軟件為一款大規(guī)模多地在線集中視頻培訓(xùn)C/S軟件系統(tǒng),該軟件需要滿足上千個(gè)用戶使用自有的裝有不同版本微軟操作系統(tǒng)的電腦通過各自的帳號(hào)密碼異地同時(shí)登陸軟件系統(tǒng),進(jìn)行在線視頻學(xué)習(xí)培訓(xùn),要求性能滿足同時(shí)訪問的用戶5秒以內(nèi)能夠登陸軟件系統(tǒng),打開文件5秒以內(nèi)可展示,在線視頻播放不會(huì)造成2秒以上卡頓,服務(wù)器CPU和內(nèi)存不得持續(xù)30秒以上的90%占用率。
由于該軟件為一款具有加密用戶信息傳輸和編碼多媒體信息傳輸?shù)能浖?,并且需要滿足多地同時(shí)登陸的要求,因此采用已有的性能測(cè)試工具,在傳輸加密信息和對(duì)多媒體信息進(jìn)行解碼解析需要花費(fèi)大量時(shí)間和資源消耗,即使通過軟件接口或系統(tǒng)開發(fā)接口完成測(cè)試,也無法準(zhǔn)確捕捉文件是否及時(shí)展示、視頻播放是否卡頓等實(shí)際運(yùn)行狀況,并且完成多地模擬測(cè)試,現(xiàn)有的性能測(cè)試工具也無法實(shí)現(xiàn)。鑒于此,參見圖1和圖2,本發(fā)明提供的應(yīng)用軟件性能測(cè)試方法,步驟如下:
1)根據(jù)應(yīng)用軟件性能指標(biāo)要求,在云平臺(tái)上創(chuàng)建測(cè)試客戶機(jī)和服務(wù)器并分別安裝被測(cè)軟件的客戶端和服務(wù)器端;
2)根據(jù)應(yīng)用軟件的待測(cè)操作場(chǎng)景,在客戶機(jī)和上創(chuàng)建測(cè)試腳本,步驟如下:
2.1)據(jù)應(yīng)用軟件的待測(cè)操作場(chǎng)景,記錄待測(cè)應(yīng)用軟件需要的輸入設(shè)備操作命令;
例如,該軟件在微軟Windows操作系統(tǒng)下的登陸操作為:通過快捷鍵WIN+R打開Windows運(yùn)行窗口,輸入待測(cè)軟件名稱,按回車鍵運(yùn)行待測(cè)客戶端軟件,通過鼠標(biāo)點(diǎn)選用戶名輸入框輸入用戶名,按快捷鍵TAB切換并輸入用戶密碼,按回車鍵登陸系統(tǒng)。
2.2)根據(jù)Windows操作系統(tǒng)提供的輸入接口函數(shù)將步驟2.1)得到的輸入設(shè)備操作命令封裝于測(cè)試腳本文件中;
2.3)設(shè)置關(guān)鍵功能操作,并在相應(yīng)的輸入設(shè)備操作命令上設(shè)置初始時(shí)間點(diǎn)、關(guān)鍵功能操作結(jié)果檢查驗(yàn)證點(diǎn)、標(biāo)記關(guān)鍵功能執(zhí)行完成狀態(tài)的軟件界面和關(guān)鍵功能執(zhí)行完成時(shí)間點(diǎn);
例如,設(shè)置打開文件操作、視頻播放操作、視頻文件切換操作等關(guān)鍵功能操作,并設(shè)置相應(yīng)操作的初始時(shí)間點(diǎn)和完成時(shí)間點(diǎn)、關(guān)鍵功能操作結(jié)果檢查驗(yàn)證點(diǎn)、標(biāo)記關(guān)鍵功能執(zhí)行完成狀態(tài)的軟件界面和關(guān)鍵功能執(zhí)行完成時(shí)間;
2.4)編制腳本接口函數(shù),并定義腳本接口函數(shù)調(diào)用參數(shù)及響應(yīng)結(jié)果。
3)將安裝有被測(cè)軟件和測(cè)試腳本的客戶機(jī)在云平臺(tái)上生成系統(tǒng)鏡像文件,以此鏡像文件批量生成1000臺(tái)客戶機(jī);同時(shí)將安裝有被測(cè)軟件和性能監(jiān)測(cè)腳本的服務(wù)器在云平臺(tái)上生成系統(tǒng)鏡像文件,以此鏡像文件生成服務(wù)器
4)在調(diào)度主機(jī)上設(shè)置通信對(duì)象并綁定通信端口,以多線程方式建立并偵聽與各客戶機(jī)和服務(wù)器之間的通信;
5)根據(jù)測(cè)試要求,調(diào)度主機(jī)向客戶機(jī)和服務(wù)器發(fā)送腳本運(yùn)行信令,并接收記錄客戶機(jī)和服務(wù)器運(yùn)行待測(cè)應(yīng)用軟件時(shí)的性能狀況,方法具體為:
5.1)以多線程方式建立與所有待測(cè)客戶機(jī)和服務(wù)器的通信連接;
5.2)向待測(cè)客戶機(jī)和服務(wù)器發(fā)送具有統(tǒng)一啟動(dòng)時(shí)間、持續(xù)時(shí)間和循環(huán)次數(shù)參數(shù)的腳本接口函數(shù)執(zhí)行命令;
例如,測(cè)試需要各客戶端需要在設(shè)定在北京時(shí)間2016年7月29日上午9時(shí)同時(shí)登陸并運(yùn)行待測(cè)軟件,打開視頻文件播放長達(dá)50秒,并循環(huán)10次,則向待測(cè)客戶機(jī)和服務(wù)器統(tǒng)一發(fā)送該北京時(shí)間、播放時(shí)長、循環(huán)次數(shù)等參數(shù)。
5.3)接收待測(cè)客戶機(jī)和服務(wù)器返回的各關(guān)鍵功能操作結(jié)果檢查驗(yàn)證點(diǎn)的響應(yīng)結(jié)果,統(tǒng)計(jì)并顯示腳本執(zhí)行情況、平均響應(yīng)時(shí)間和待測(cè)客戶機(jī)和/或服務(wù)器的性能參數(shù)。
由于本例中需要軟件對(duì)于在線視頻播放及在線游戲軟件的流暢性和圖像清晰度做性能測(cè)試,因此在執(zhí)行性能測(cè)試前,在客戶機(jī)上按一定時(shí)間間隔采樣獲取一段標(biāo)準(zhǔn)視頻或動(dòng)畫的截圖序列,并以每一截圖所在標(biāo)準(zhǔn)視頻或動(dòng)畫中的時(shí)間點(diǎn)在步驟2)創(chuàng)建測(cè)試腳本時(shí)標(biāo)記相應(yīng)的視頻播放時(shí)間點(diǎn),然后在進(jìn)行性能測(cè)試過程中在標(biāo)記相應(yīng)的視頻播放時(shí)間點(diǎn)截取客戶機(jī)播放的視頻圖片,通過OpenCV工具比對(duì)當(dāng)前時(shí)間節(jié)點(diǎn)的截圖和視頻圖片的相似度,若相似度小于設(shè)定閾值,則將視頻圖片與上一時(shí)間節(jié)點(diǎn)的截圖進(jìn)行相似度比對(duì),并累計(jì)時(shí)間節(jié)點(diǎn)間隔數(shù),直至相似度超過設(shè)定閾值為止;若視頻圖片與截圖序列中所有截圖的相似度均未達(dá)到設(shè)定閾值,則標(biāo)記視頻圖片所在視頻播放時(shí)間點(diǎn)為不清晰視頻時(shí)間點(diǎn)。循環(huán)完成所有截圖序列與相應(yīng)視頻圖片的比對(duì),并計(jì)算平均累計(jì)時(shí)間節(jié)點(diǎn)間隔數(shù),以循環(huán)過程中超出設(shè)定值的間隔數(shù)、平均累計(jì)時(shí)間節(jié)點(diǎn)間隔數(shù)以及所有不清晰視頻時(shí)間點(diǎn)作為性能參數(shù),返回調(diào)度主機(jī)。
采用該性能測(cè)試方法由于是直接操作客戶端軟件來產(chǎn)生并發(fā)壓力,無需考慮軟件如何使用加密算法和通信協(xié)議規(guī)則,能很好的模擬用戶的真實(shí)操作場(chǎng)景。沒有對(duì)整個(gè)系統(tǒng)進(jìn)行拆分可以忠實(shí)的記錄整個(gè)系統(tǒng)的性能表現(xiàn),可以實(shí)現(xiàn)跨地域互聯(lián)網(wǎng)的通信場(chǎng)景,可以反映不同配置客戶機(jī)的性能狀況給各客戶機(jī)做出配置選擇參考,在此場(chǎng)景上本方法比現(xiàn)有的性能測(cè)試工具有較大的優(yōu)點(diǎn)。