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