李兆翠++王立群
摘 要:隨著網(wǎng)絡(luò)的快速發(fā)展,手機(jī)等移動(dòng)終端上網(wǎng)人數(shù)迅速增加,極大地帶動(dòng)了移動(dòng)應(yīng)用的快速發(fā)發(fā)展。用戶對(duì)移動(dòng)應(yīng)用的性能期望非常高,如何提高移動(dòng)應(yīng)用軟件性能,非常重要。本文介紹移動(dòng)應(yīng)用概念、類別、提高移動(dòng)應(yīng)用性能重要性,探析了移動(dòng)應(yīng)用軟件在移動(dòng)端性能測(cè)試的主要關(guān)注點(diǎn),性能測(cè)試過程以及性能測(cè)試工具。
關(guān)鍵詞:移動(dòng)應(yīng)用 性能測(cè)試 自動(dòng)化
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2017)09(c)-0017-02
根據(jù)第39次互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告顯示,截至2016年12月中國網(wǎng)民規(guī)模達(dá)7.31億,其中手機(jī)網(wǎng)民規(guī)模達(dá)6.95億,網(wǎng)民中使用手機(jī)上網(wǎng)人群占比95.1%[1],手機(jī)不斷擠占其他個(gè)人上網(wǎng)設(shè)備的使用。手機(jī)上網(wǎng)人數(shù)的增加,帶動(dòng)了移動(dòng)應(yīng)用的快速發(fā)展。
1 移動(dòng)應(yīng)用簡介
1.1 移動(dòng)應(yīng)用
廣義移動(dòng)應(yīng)用包含個(gè)人以及企業(yè)級(jí)應(yīng)用,狹義移動(dòng)應(yīng)用指企業(yè)級(jí)商務(wù)應(yīng)用。一般運(yùn)行在手機(jī)、平板電腦介質(zhì)為代表的移動(dòng)終端上。
目前移動(dòng)應(yīng)用正逐漸滲透到人們生活和工作的各個(gè)方面,新聞資訊、移動(dòng)音樂、手機(jī)游戲、在線視頻、即時(shí)通訊、地圖導(dǎo)航等豐富多彩的移動(dòng)互聯(lián)網(wǎng)應(yīng)用快速發(fā)展,深刻地改變著社會(huì)生活,人們喜歡通過各種移動(dòng)應(yīng)用獲取信息[2]。
1.2 移動(dòng)應(yīng)用的類別
移動(dòng)應(yīng)用可分成三大類:(1)本地應(yīng)用。用戶從網(wǎng)上下載、安裝到特定移動(dòng)設(shè)備上,無需連接到互聯(lián)網(wǎng)就能使用。(2)聯(lián)網(wǎng)應(yīng)用。通過移動(dòng)終端上的瀏覽器訪問網(wǎng)絡(luò)。(3)混合應(yīng)用。聯(lián)網(wǎng)應(yīng)用和本地應(yīng)用的結(jié)合,聯(lián)網(wǎng)應(yīng)用被內(nèi)嵌到本地移動(dòng)應(yīng)用中,用戶界面像本地應(yīng)用,內(nèi)容聯(lián)網(wǎng)加載。
1.3 提高移動(dòng)應(yīng)用性能的重要性
手機(jī)用戶對(duì)性能期望非常高,希望手機(jī)應(yīng)用能像在電腦上運(yùn)行那么快。據(jù)統(tǒng)計(jì):70%以上的用戶希望在手機(jī)上打開網(wǎng)頁能同電腦上一樣快,5s被認(rèn)為是用戶能忍受的最長響應(yīng)時(shí)間,如果響應(yīng)時(shí)間超過5s,50%以上的用戶會(huì)放棄,1/3失望的用戶會(huì)轉(zhuǎn)向競爭對(duì)手的移動(dòng)應(yīng)用。通常手機(jī)用戶會(huì)嘗試兩次,如果第三次依然出現(xiàn)同樣問題,半數(shù)人再也不會(huì)使用該應(yīng)用。由此可見,移動(dòng)應(yīng)用的性能對(duì)軟件來說非常重要。
2 性能測(cè)試
性能測(cè)試主要是通過自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。性能測(cè)試主要目的是驗(yàn)證軟件系統(tǒng)是否能夠達(dá)到用戶提出的性能指標(biāo),同時(shí)發(fā)現(xiàn)軟件系統(tǒng)中存在的性能瓶頸及問題,找到軟件的可擴(kuò)展點(diǎn),優(yōu)化軟件,最后起到優(yōu)化系統(tǒng)的目的。移動(dòng)應(yīng)用軟件性能測(cè)試主要是在移動(dòng)端即客戶端的測(cè)試,主要關(guān)注以下內(nèi)容。
2.1 響應(yīng)時(shí)間測(cè)試
響應(yīng)時(shí)間是移動(dòng)應(yīng)用軟件對(duì)用戶發(fā)出的請(qǐng)求做出響應(yīng)所需要的時(shí)間。響應(yīng)時(shí)間包括網(wǎng)絡(luò)傳輸時(shí)間、應(yīng)用服務(wù)器處理時(shí)間和數(shù)據(jù)庫服務(wù)器處理時(shí)間。用戶要求移動(dòng)應(yīng)用軟件給出快速響應(yīng),一般業(yè)務(wù)響應(yīng)時(shí)間不超過5s。
2.2 移動(dòng)應(yīng)用軟件資源占用測(cè)試
移動(dòng)端移動(dòng)應(yīng)用軟件占用資源主要有CPU、內(nèi)存、網(wǎng)絡(luò)流量、電量。
(1)CPU。主要測(cè)試移動(dòng)應(yīng)用軟件CPU占用率。應(yīng)用軟件CPU占用率經(jīng)常超過80%,該軟件需要調(diào)優(yōu)。(2)內(nèi)存。主要測(cè)試移動(dòng)應(yīng)用軟件內(nèi)存使用率。在Android系統(tǒng)中,每個(gè)APP進(jìn)程同其他進(jìn)程共享且獨(dú)用私有內(nèi)存。PSS(實(shí)際使用的物理內(nèi)存)值包括自身占用的內(nèi)存大小和共享庫的大小。一般用PSS來衡量一個(gè)APP的內(nèi)存開銷,移動(dòng)設(shè)備為每個(gè)APP進(jìn)程分配的私有內(nèi)存是有限制的。這就要求要合理的申請(qǐng)內(nèi)存使用和及時(shí)釋放內(nèi)存,以免發(fā)生內(nèi)存泄漏。(3)網(wǎng)絡(luò)流量。主要測(cè)試移動(dòng)應(yīng)用軟件對(duì)網(wǎng)絡(luò)流量的消耗情況。目前的網(wǎng)絡(luò)類型包含2G、3G、4G、WiFi,且區(qū)分的不同運(yùn)營商。在統(tǒng)計(jì)流量消耗時(shí),要連接不同的網(wǎng)絡(luò)進(jìn)行測(cè)試。(4)電量。主要測(cè)試移動(dòng)應(yīng)用軟件對(duì)電量的消耗情況。移動(dòng)設(shè)備的電池電量有限,要測(cè)試軟件的電量使用,以免用戶手機(jī)耗電發(fā)熱,帶來不良體驗(yàn)。
2.3 可靠性測(cè)試
軟件可靠性是軟件系統(tǒng)在規(guī)定的時(shí)間內(nèi)及規(guī)定的環(huán)境條件下,完成規(guī)定功能的能力。軟件可靠性測(cè)試是指為了保證和驗(yàn)證軟件的可靠性要求而對(duì)軟件進(jìn)行的測(cè)試。大部分通過自動(dòng)化測(cè)試工具來實(shí)現(xiàn)。通過軟件可靠性測(cè)試可以達(dá)到以下目的:(1)有效地發(fā)現(xiàn)程序中影響軟件可靠性的缺陷。(2)驗(yàn)證軟件可靠性滿足一定的要求。(3)預(yù)計(jì)軟件可靠性水平。
3 性能測(cè)試的基本過程
性能測(cè)試過程是一個(gè)持續(xù)的測(cè)試和優(yōu)化過程,即先進(jìn)行性能測(cè)試,發(fā)現(xiàn)問題,試圖處理問題以提高系統(tǒng)的性能,再進(jìn)行性能測(cè)試、優(yōu)化,直到達(dá)到滿意的結(jié)果[3]。基本過程有以下幾步。
(1)確定性能測(cè)試需求,包括確定性能指標(biāo)及系統(tǒng)會(huì)承受的負(fù)載。(2)選擇測(cè)試工具和開發(fā)相應(yīng)的測(cè)試腳本。一般針對(duì)選定的關(guān)鍵業(yè)務(wù)操作來開發(fā)相應(yīng)的自動(dòng)化測(cè)試腳本,并進(jìn)行測(cè)試腳本的數(shù)據(jù)關(guān)聯(lián)和參數(shù)化。(3)建立性能測(cè)試負(fù)載模型,確定每次請(qǐng)求的數(shù)據(jù)量、思考時(shí)間、加載方式和持續(xù)加載時(shí)間。(4)多次運(yùn)行性能測(cè)試,獲得軟件系統(tǒng)的性能數(shù)據(jù)。(5)對(duì)系統(tǒng)資源進(jìn)行跟監(jiān)控和分析,發(fā)現(xiàn)性能瓶頸,定位代碼中的性能問題。解決軟件系統(tǒng)的性能問題,進(jìn)行優(yōu)化。(6)提交性能測(cè)試報(bào)告。
4 性能測(cè)試工具
性能測(cè)試大多通過測(cè)試工具自動(dòng)化進(jìn)行測(cè)試,測(cè)試工具種類繁多。經(jīng)典的性能測(cè)試工具是HP LoadRunner。HP LoadRunner Mobile Recorder可進(jìn)行移動(dòng)端應(yīng)用業(yè)務(wù)腳本錄制,VuGen可實(shí)現(xiàn)腳本編輯,Controller實(shí)現(xiàn)業(yè)務(wù)負(fù)載場(chǎng)景的設(shè)計(jì)、監(jiān)控及執(zhí)行,Analysis進(jìn)行結(jié)果的分析,實(shí)現(xiàn)移動(dòng)平臺(tái)性能測(cè)試。
其他測(cè)試工具主要有以下幾類。
(1)Android studio自帶性能測(cè)試工具。Memory Monitor主要用于內(nèi)存檢測(cè)實(shí)時(shí)監(jiān)測(cè)應(yīng)用的內(nèi)存使用情況,查找內(nèi)存泄漏。CPU Monitor主要用于實(shí)時(shí)監(jiān)測(cè)應(yīng)用的CPU的使用情況。Network Monitor主要用于實(shí)時(shí)監(jiān)測(cè)應(yīng)用的網(wǎng)絡(luò)使用情況。
(2)第三方性能測(cè)試工具。
①Emmagee:Emmagee是網(wǎng)易QA團(tuán)隊(duì)開發(fā)的Android性能監(jiān)測(cè)小工具,主要用于監(jiān)控單個(gè)App的CPU、內(nèi)存、流量、啟動(dòng)耗時(shí)、電量、電流等性能狀態(tài)的變化。
②Itest:Itest是科大訊飛出品,可獲取應(yīng)用的資源消耗情況,用于記錄應(yīng)用的CPU、內(nèi)存、流量、電量等消耗。
(3)云測(cè)試平臺(tái)。國內(nèi)外有一些云測(cè)試平臺(tái),借助于云測(cè)試平臺(tái)可更真實(shí)地對(duì)移動(dòng)應(yīng)用軟件進(jìn)行性能測(cè)試。移動(dòng)應(yīng)用性能測(cè)試的云測(cè)試平臺(tái)有Testing云測(cè)試、百度MTC、阿里MQC、貫眾云測(cè)試、騰訊優(yōu)測(cè)、騰訊WeTest等。
5 結(jié)語
隨著網(wǎng)絡(luò)的快速發(fā)展,手機(jī)等移動(dòng)終端上網(wǎng)人數(shù)迅速增加,極大地帶動(dòng)了移動(dòng)應(yīng)用的快速發(fā)發(fā)展。用戶對(duì)移動(dòng)應(yīng)用的性能期望非常高,如何提高移動(dòng)應(yīng)用軟件性能,非常重要。
參考文獻(xiàn)
[1] 中國互聯(lián)網(wǎng)絡(luò)信息中心.第39次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告[EB/OL].http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/,2017-06-24.
[2] 王立群,楊靜.移動(dòng)應(yīng)用軟件性能測(cè)試研究[J].科技風(fēng),2015(21):115.
[3] 朱少民.軟件測(cè)試方法和技術(shù)[M].3版.北京:清華大學(xué)出版社,2016.endprint