摘 要:本文對云計算環(huán)境下的移動應(yīng)用性能測試研究進行研究,分析云計算環(huán)境下的移動應(yīng)用性能測試現(xiàn)狀,說明移動應(yīng)用性能測試技術(shù),闡述云計算環(huán)境下的移動應(yīng)用性能測試架構(gòu)和模型,最后是本文的小結(jié)。
關(guān)鍵詞:云計算;移動應(yīng)用;性能測試
隨著國內(nèi)外軟件產(chǎn)業(yè)、網(wǎng)絡(luò)技術(shù)和計算機硬件的快速發(fā)展,出現(xiàn)了越來越多的移動應(yīng)用。如何保證移動應(yīng)用高效率、高性能運行,是我們需要解決的難題。傳統(tǒng)的軟件性能測試技術(shù)較難完全移植到移動應(yīng)用性能測試中,需要新的測試方法來解決問題。目前云計算的快速發(fā)展,為移動應(yīng)用性能測試提供了很好的契機,把移動應(yīng)用性能測試與云計算相結(jié)合,提高移動應(yīng)用性能測試的效率。
1.云計算環(huán)境下的移動應(yīng)用性能測試現(xiàn)狀
1.1云計算應(yīng)用現(xiàn)狀
隨著經(jīng)濟信息的全球化和互聯(lián)網(wǎng)產(chǎn)業(yè)的迅速發(fā)展,云計算在國內(nèi)發(fā)展比較迅速。云計算在中國的發(fā)展主要由國外IT巨頭、國內(nèi)IT巨頭和國內(nèi)軟硬件廠商這三方面共同協(xié)作推動。國外的IT巨頭IBM、EMC和微軟等,不僅將部分云計算產(chǎn)品研發(fā)項目交由國內(nèi)的研發(fā)中心負責,而且給很多行業(yè)客戶提供了一些云計算解決方案。
1.2云計算環(huán)境下的移動應(yīng)用性能測試現(xiàn)狀
國外的Sakura等設(shè)計實現(xiàn)了分布式實時的移動設(shè)備應(yīng)用自動化測試框架Hermes,其測試能力和范圍受限,主要支持J2ME環(huán)境下Java程序的測試、基于XML語法設(shè)計的測試用例,并不適用Android和IOS開發(fā)的應(yīng)用。Claudia Canali 等在文章中分析了移動應(yīng)用對于服務(wù)器性能的需求,給出了相應(yīng)的管理策略,適用于非Web網(wǎng)頁的移動應(yīng)用的服務(wù)器性能測試,但通用性和擴展性較差。
在國內(nèi),出現(xiàn)了一些云測試平臺,提供的測試內(nèi)容有:安裝卸載測試、運行穩(wěn)定性測試、功能遍歷測試、應(yīng)用運行性能測試和UI兼容性測試等。在移動應(yīng)用性能測試方面,黃琦提出基于Android的移動應(yīng)用自動化測試工具設(shè)計方案,分析了影響移動應(yīng)用運行性能的主要參數(shù)。全秀霞研究了移動互聯(lián)網(wǎng)環(huán)境下,移動Web應(yīng)用的所表現(xiàn)出的新特點,在分析用戶會話信息的基礎(chǔ)上,建立應(yīng)用的負載測試模型。
2.云計算環(huán)境下的移動應(yīng)用性能測試技術(shù)
2.1云計算環(huán)境下的移動應(yīng)用性能測試方法
按照性能測試的目標,可以將性能測試劃分為負載測試、壓力測試、并行測試、可靠性測試和容量測試等。我們一般通過兩個方面來評估移動應(yīng)用的時間和控件特性。一方面是極限測試,即在各種邊界壓力情況下,如電池、存儲、網(wǎng)速等,驗證移動應(yīng)用是否能正確響應(yīng)。另一方面響應(yīng)能力測試,即測試移動應(yīng)用中的安裝、卸載等各類操作是否滿足用戶響應(yīng)時間要求。
移動應(yīng)用測試主要分為基于模擬機移動測試和基于真機設(shè)備移動測試。使用模擬機進行測試能夠節(jié)省成本,但是在特定設(shè)備功能和移動的兼容性等方面存在限制。在真機設(shè)備上進行測試能夠帶來真實的測試體驗,但是需要配備移動設(shè)備和平臺,有時候耗資巨大,所以考慮在云端進行移動應(yīng)用性能測試。
2.2云計算環(huán)境下的移動應(yīng)用性能測試平臺
1.Testin云測平臺
Testin云測試平臺是全球最大的移動游戲、應(yīng)用真機和用戶云測試平臺,是一個基于真實終端設(shè)備環(huán)境。開發(fā)者只需在Testin平臺提交自己的App應(yīng)用,選擇需要測試的網(wǎng)絡(luò)、機型,便可進行在線的自動化測試,無須人工干預(yù),自動輸出含錯誤、報警等測試日志、UI截圖、內(nèi)存/CPU/啟動時間等在內(nèi)的標準測試報告。通過Testin云測,可以有效保障App應(yīng)用的快速迭代需求,減輕測試人員壓力,避免購買或者租賃昂貴的設(shè)備進行測試。
2.百度移動云測試中心MTC (Mobile TestingCenter)
百度移動云測試中心利用真機和增強模擬環(huán)境進行測試,使用先進的HTML5技術(shù)和后端展示加速技術(shù)提供云測試、云調(diào)試、云模擬服務(wù),向開發(fā)者提供基于真機和模擬器UI界面的操作體驗,并提供操作所對應(yīng)的Log日志信息。同時,MTC提供一整套開放API,輸出云測試的能力,支持合作伙伴二次開發(fā)。MTC針對Android原生應(yīng)用提供了多樣的測試API,支持合作伙伴單個或批量提交Android原生應(yīng)用進行測試。測試內(nèi)容涵蓋基礎(chǔ)的安裝、卸載、UI適配、啟動等功能。
3.騰訊的性能測試工具APT(Android Performance Testing Tools)
APT適用于開發(fā)自測和定位性能瓶頸,測試人員完成性能基準測試、競品測試。APT提供了CPU利用率實時曲線圖、多維度內(nèi)存實時曲線圖,方便競品對比測試和定位內(nèi)存泄露問題;支持進程內(nèi)存構(gòu)成分析,支持手工或超過閾值時自動轉(zhuǎn)儲(Dump)詳細堆內(nèi)存對象信息,支持多進程,支持生成和導(dǎo)出常用格式的日志圖表。APT相比同類工具,具有下面2大特性:(1)使用Java語言開發(fā),基于Eclipse,跨平臺,支持windows、Linux和MAC;(2)支持同時監(jiān)控多個進程。
3. 云計算環(huán)境下的移動應(yīng)用性能測試架構(gòu)和模型
通常移動云測試平臺需要搭建在穩(wěn)定的基礎(chǔ)架構(gòu)上,云計算環(huán)境下的移動應(yīng)用性能測試架構(gòu),可以進行分布式多終端測試,通過任務(wù)調(diào)度模塊靈活的運行各種測試需求。移動應(yīng)用性能測試模型的整體架構(gòu)如圖1所示,包括Web服務(wù)器、任務(wù)調(diào)度服務(wù)器和設(shè)備管理服務(wù)器。架構(gòu)中核心的設(shè)計是Hadoop平臺的兩大組件HDFS 和 MapReduce,結(jié)合云計算給出分布式測試用例的執(zhí)行環(huán)境,運行移動應(yīng)用。移動代理運行于終端設(shè)備中,包括腳本錄制模塊和腳本回放模塊。移動代理通過 XMPP協(xié)議與設(shè)備管理服務(wù)器保持通信,分發(fā)測試任務(wù),取得性能測試數(shù)據(jù)。
同時,性能測試往往需要大量的數(shù)據(jù)資源,在有些條件下,有些數(shù)據(jù)不容易得到甚至無法得到。因此,在性能測試模型增加了性能預(yù)測功能,通過基于動量BP神經(jīng)網(wǎng)絡(luò)的回歸分析對移動應(yīng)用性能進行預(yù)測。移動應(yīng)用程序的性能預(yù)測不僅對移動應(yīng)用程序的開發(fā)和維護有重要的指導(dǎo)作用,而且對服務(wù)器的資源配置和軟件的服務(wù)質(zhì)量以及軟件的性能擴展都有重要的作用。移動應(yīng)用性能測試模型MAPTM( Mobile Application Performance Testing Model)如圖2所示。
4.結(jié)語
隨著移動終端的快速普及和發(fā)展,移動應(yīng)用的性能至關(guān)重要。如何更高效實施移動應(yīng)用性能測試是公司目前的急切需求,基于云計算的移動應(yīng)用性能測試滿足了這個契機。本文通過分析云計算環(huán)境下移動應(yīng)用性能測試現(xiàn)狀和常用的技術(shù),列出移動應(yīng)用性能測試架構(gòu)和模型,希望能給用戶帶來更好的用戶體驗。
參考文獻:
[1]徐芳.移動應(yīng)用軟件自動化測試技術(shù)初探[J].電子技術(shù)與軟件工程,2015,18:63-65.
作者簡介:
王立群(1982-),女,山東臨沂,副教授,研究方向:移動應(yīng)用、軟件測試。
項目基金:2017年山東省高等學??萍加媱濏椖俊霸朴嬎悱h(huán)境下的移動應(yīng)用性能測試研究”(項目編號:J17KB180)。