行動裝置 App效能測試白皮書

來源:互聯網
上載者:User

標籤:

前言

    下文中說的手機測試範圍不包含簡訊和電話功能,而是指用於通訊功能之外的其他應用。如今手機已經成為大多數人的日常必需品。手機的使用量逐年增加,運行在手機上的應用也層出不窮。除了處理通常的電話和簡訊之外,人們也開始用手機來拓展業務,聯絡親友,擴充職業圈,玩遊戲,打廣告,買賣商品。手機和其他移動平台的重要性不容小覷,各大商家已經開始著手開發手機版的產品,搶佔這塊重要的細分市場。當今時代,手機軟體和網站已經成為人們從事商務工作,提高僱員業績和接觸目標市場的主要途徑。

    以下統計資料顯示在這個智能化的時代手機應用的重要性:

  • 截止2011年底,全球共有87%的人口(60億)擁有手機,其中10億擁有智能手機
  • 22%手機使用者每個月至少用手機上網一次
  • 34%的美國使用者和28%歐洲使用者在手機上使用超過一種行動裝置 App
  • 預計到2014年,手機上網的總量將超過電腦
  • 尼爾森2012年的報道顯示,智能手機64%的時間在運行多種應用程式
  • 2011年,全球行動裝置 App下載量約300億
  • 91%美國智能手機使用者平均每天花費2.7小時訪問社交應用程式,是他們平均吃飯時間的兩倍,睡眠時間的三分之一
  • 6億Facebook使用者中,三分之一使用者通過手機訪問,1.65億Twitter使用者中,一半的使用者通過行動裝置登入,而大約每天有2億Youtube使用者通過行動裝置登入

 

    行動裝置 App的使用量和重要性與日俱增,使用者體驗的要求也越來越高。與傳統型程式相比,行動裝置 App耗電小,速度慢,但手機使用者卻希望享受到與傳統型程式同樣的載入速度。

    我們在此將探討行動裝置 App的重要性,移動app的效能測試的痛點,移動app與案頭應用的異同,移動app的種類,對移動app進行壓力測試和效能調優的基本方法。

行動裝置 App的類別

行動裝置 App按架構可分成三大類。要做好效能測試的, 有必要瞭解各種應用的種類和內部架構。我們來分別介紹一下各類app的基本情況。

 

本地應用

需要從網上商店下載並安裝在特定行動裝置上的可劃分到這一類。這類應用由特定程式設計語言(例如安卓系統上用的Java和iOS系統上用的Object-C)編寫,結合特定行動裝置的開放API。使用者將這種應用安裝到行動裝置上之後,無需串連到互連網就能使用。遊戲應用程式和從網上商店下載的app就是很好的例子。

連網應用

通過行動裝置上的瀏覽器訪問的應用叫做連網應用。這類應用是通過網路技術如HTML,JQuery和JavaScript開發的。熱門社交網站,如Facebook(http://m.facebook.com)和Gmail(http://m.gmail.com)等都專門開發了基於行動裝置的連網應用,倍受移動使用者親睞。

混合應用

連網應用和本地應用的結合被稱作混合型應用。在這類應用裡,連網應用被內嵌到本地行動裝置 App中。使用者介面像本地應用,內容卻需要連網載入。安裝在行動裝置上的Facebook,Linkedin和Twitter應用是這類“本地介面,連網內容”的最佳典範。

提高行動裝置 App效能的重要性

隨著手機使用量的增加,手機效能的重要性也日益顯著。手機使用者對效能期望非常高,希望手機應用能像在電腦上運行那麼快。據統計:

 

  • 71%使用者希望在手機上開啟網頁能同電腦上一樣快
  • 5秒鐘被認為是使用者能忍受的最長回應時間 
  • 如果回應時間超過5秒,74%上網使用者和50%行動裝置 App使用者會放棄
  • 三分之一失望的使用者會轉向競爭者的應用

 

通常,手機使用者會嘗試兩次,如果第三次依然出現同樣問題,半數人再也不會使用該應用。比起傳統型程式,手機應用的架構更加複雜,可用資源相對更少,提高和維持快速的回應時間比傳統型程式更困難。

 

測試行動裝置 App的挑戰

做好效能測試,從來就不是一件簡單容易的事。搭建與生產環境相同的效能測試環境一直是做效能測試的第一步,也是很重要的一步。然而,由於其複雜的架構,測試手機程式和網站顯得更加困難。要覆蓋到不同種類(連網,本地和混合應用)、不同平台(iOS,安卓等等)和不同網路環境(Wifi,2G,3G,3G+,4G LTE)也是手機測試面臨的一大難題。下面介紹一下幾個手機效能測試相關的主要難題。

類比移動網路的互連網串連 

與傳統型程式的高頻寬相比,大多數手機使用者使用的3G,3G+和4G LTE網路更慢,無線串連更差。效能測試要類比不同行動電話通訊的接入情況,這對效能測試人員來說並非易事。

行動裝置種類繁多

市面上有成千上萬手機廠商,每個手機廠商傾向於使用不同的作業系統和手機配置。而且,即便是同一個品牌的手機,也有無數的影響因素,每個手機模型都有特定的配置,比如作業系統,處理器,記憶體和螢幕尺寸等等。測試手機應用時,這些因素或多或少都應該被考慮到,絕對不是件輕鬆的事。面對這種情況,選擇一中功能夠用的效能測試工具變得越來越重要。

使用者數量巨大

隨著時間的推移,使用智能手機商務應用的使用者會急劇增加,越來越多的使用者會通過手機處理重要業務。使用者數量增加,相應的網路應用也需要增加。你不僅僅要滿足現有使用者需要,還要適時地增加新功能,這對任何手機應用都是極其重要的。

案頭端網路應用和手機應用的差別

不管是案頭端網路應用還是手機應該,效能測試的基本原理是相似的,尤其是對於行動電話通訊應用的測試。兩者使用相同的技術,你也不用為手機應用選擇特別的效能測試工具。測試載入器只需要具備基本的效能測試能力,測試人員基本上會用就行了。儘管如此,手機應用和案頭應用還是有如下幾個本質上的區別:

 

用戶端模式

傳統網路應用運行在胖用戶端上,而手機應用使用的是瘦用戶端。胖用戶端直接從伺服器端訪問應用,而不像瘦用戶端那樣需要將資料通過訊號塔中轉,因而它比瘦用戶端輸送量更大,速度更快。

網路頻寬

網路頻寬在效能中擔當重要角色,現今的案頭端應用極大地得益於高速網路。移動網路也在頻寬方面不斷進步,不過任然無法與前者相提並論。大多數使用者在低於3G或4G的網路下使用手機,應用的會話時間延長,使用者的回應時間也響應增加,同時也消耗了更多電量。相比案頭應用,頻寬是導致手機應用效能差的最大原因。

資料傳送

與案頭端應用強大的CS架構不同,行動數據得依靠訊號塔傳送到使用者裝置上。訊號塔之間的資料傳送一直以來都很慢,也使得手機應用效能變差。

裝置電量

網路應用可以藉助案頭電腦的高速處理器和記憶體最大化地提高效能,然而行動裝置的資源卻非常有限。行動裝置只能依靠有限的電池和記憶體資源。

操作方式

不像案頭應用那樣通過點擊滑鼠來操作,行動裝置使用手指操作從而獲得更好的使用者體驗。手指操作不如滑鼠來得快。何況,裝置其實需要將觸摸動作翻譯成點擊。

資料使用

在移動網路中,流量是收費的。資料緩衝技術是案頭應用中提高使用者體驗的常用手段,但由於流量限制,此項技術在行動裝置 App中無法實現。

效能指標

由於架構不同,網路和行動裝置 App的效能指標也有些許差別。除了常規指標如回應時間和資源利用量之外,還需要監控電池消耗、二進位大小等等。

 

手機效能測試基礎和最佳實務本地手機應用指令碼的錄製 

你需要一個行動裝置或模擬器來錄製使用者在本機行動裝置 App上的操作。為了測試應用的效能而錄製使用者操作,需要暫時關閉行動裝置或模擬器上的其他網路流量。你需要一個額外的裝置來記錄手機或模擬器上的流量,而這個裝置可以代替行動裝置或模擬器接入互連網。如果用來錄製的裝置是運行在防火牆之後的,那就不可能獲得從3G或4G網路裡的流量記錄。

解決這個問題的方法是將行動裝置設定為代理錄製器。強制讓資料從錄製代理裡通過,就可以直接用行動裝置來錄製使用者操作。

網路手機應用指令碼的錄製

從行動電話通訊應用抓取使用者操作與案頭網路應用相似,因為兩者沿用了類似的架構。為簡單起見,可以用案頭網頁瀏覽器來錄製移動網路應用的使用者操作。不過,你需要修改使用者請求,偽裝成是來自行動裝置而不是案頭電腦。瀏覽器外掛程式可以修改使用者代理程式,讓請求看起來像是通過行動裝置發出的。除此之外,最新的案頭網頁瀏覽器需要支援最新的行動裝置 App技術如HTML5等等。

混合行動裝置 App指令碼的錄製

就像行動電話通訊應用一樣,案頭網頁瀏覽器也可以用來錄製各種各樣的混合行動裝置 App。你可以直接瀏覽到該手機應用的URL地址,然後做效能測試,就像測試單純的網路應用一樣。

 

準確評估應用程式的效能,必須識別並類比最類似現實情況的設定。合理的負載模型是實現預期效果的關鍵。不同使用者的互連網接入情況不盡相同(例如,Wifi,3G和4G),成功的效能測試必須覆蓋所有的情況。所有流行的手機應用效能測試工具都可以類比真實世界的各種網路連接。

另外,根據具體的功能,類比不同地理地區的大使用者負責也很重要。好的效能測試工具像AgileLoad可以藉助雲端式的效能測試類比不同地理位置的大使用者負載。

測試的執行過程是被監控的,在所有針對不同使用者負載的應用程式響應被測試完之後,其結果也會對比事先定義好的服務水平協議得到全面的分析。好的效能測試工具如AgileLoad,也提供問題診斷功能,幫你找出根本原因從而快速解決。

行動裝置 App效能最佳化技術

行動裝置 App的效能最佳化技術取決於特定的應用極其瓶頸特性。我們在這裡分享幾個通用的最佳化行動裝置 App效能的技巧:

 

  • 減少用戶端到伺服器的HTTP請求數量,可以縮短頁面載入時間
  • 將JavaScript和CSS打包成檔案並在多個頁面之間共用,也是最佳化效能的好辦法
  • 儘管瀏覽器緩衝在行動裝置 App上不那麼湊效,但可以用HTML5的網頁儲存技術替代
  • 使用內嵌指令碼資源,連結引用會極大地延長載入時間
  • 壓縮或盡量減少介面資源,少佔頻寬,也能提高速度
  • 根據螢幕尺寸裁剪映像, 不僅能減小圖片大小,還能提高處理速度

 

總結

行動裝置 App日益普及,其重要性也日益增加,這已是不爭的事實。優秀的使用者體驗將成為讓使用者駐足的原因之一。行動裝置 App的效能測試原理與傳統案頭應用並無二致。但是,要全面測試行動裝置 App的績效參數,測試人員需要理解各種行動裝置 App的架構和它們與案頭應用的根本區別,例如頻寬,處理器,螢幕尺寸等等。

行動裝置 App效能測試白皮書

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.