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