移動應用性能測試剖析以及PerfDog與其他工具的對比分析11.22


商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請注明出處。

導語:

在IT、互聯網及游戲行業,軟件測試都是一個重要且不可或缺的過程,測試是軟件生命周期中的一個重要階段,是軟件質量保證的關鍵步驟。目的是為了檢驗軟件系統是否滿足需求。隨着中國IT、互聯網及游戲產業的發展和市場的不斷成熟,人們對軟件功能的期望值也逐步增高,通常關注的指標包括,性能、可靠性以及最重要的質量缺陷等。幾乎每個中大型IT企業的產品在發布前都需要大量的質量控制、測試和文檔工作。這些企業也意識到測試的廣度和深度決定了產品甚至企業的的生存周期。

———————————————————————————————————
不容置疑,在任何軟件的測試過程中,性能測試都是一個很重要的環節,它直接影響了用戶的體驗和用戶滿意度。試想一下,我們打開一個手機APP要花費2分鍾,打一個游戲不斷的卡頓,使用一個視頻通訊軟件電量消耗極快,這些與我們生活密切相關的移動應用軟件的性能都會影響我們的生活質量,直接的后果就是導致對於這些應用的拋棄。 同樣對於開發這些應用的企業,產品迭代的周期越來越快,也要求我們的產品開發部門能快速的交付高質量的產品版本,而性能測試作為交付前的最后一個關鍵環節,如果測試時間過長或者性能測試場景覆蓋不完整,會直接影響到產品的運營以及產生大量的客戶投訴。對於開發和運營這些應用軟件的廠商來說,失去的包括用戶、市場以及口碑,而這些往往決定了企業的生存和發展。

對於性能測試的需求,其中最主要的需求來源是產品研發和測試部,測試工程師會結合行業的通用標准、實際的測試場景以及APP應用的獨特性來形成大部分的性能測試用例,舉一個常見的例子,比如我們的游戲APP軟件,FPS(畫面每秒傳輸幀數)、 游戲響應速度以及對於手機CPU和內存的實時占用都是一個很關鍵的指標,因此在游戲性能測試時尤為關注這幾個指標的曲線變化,研發部門往往會根據行業標准及游戲特點來設置一個閥值上限,性能測試的目的就是要嚴格控制在游戲操作過程中一系列指標位於閥值之內。當然還有一些應用的性能測試需求是直接來源於客戶、管理者以及在產品日常運營過程中的一系列消費者調研又或者是售后過程中反饋的投訴和建議。

綜上所述,性能測試未來的發展趨勢一定是高度的自動化、開發與測試線上協同、測試過程可追蹤可管理的高效過程。

  1. 高度自動化的要求包括:性能測試過程工具化、工具智能化、性能測試結果自動化。

  2. 開發與測試線上協同包括:性能測試過程流程化、電子化、雲化、多地協同。

  3. 測試過程可追蹤可管理:支持對性能測試過程和結果數據進行追蹤、統計分析和審計。

下面我們來分析一下手機APP性能測試的關鍵場景,主要可分為以下幾類:

  1. 極限測試:要求在各類邊界壓力情況下,例如電池、存儲、網速等,驗證應用是否能正確響應。

  2. 響應能力測試:測試應用中的各種操作是否滿足響應時間要求。

  3. 壓力測試:在反復/長期操作情況下、對於系統的資源是否占用異常。

  4. 性能評估:評估在典型用戶使用場景下,系統資源的使用情況。

  5. Benchmark測試:與競品的Benchmarking, 產品演變的對比測試。

APP性能測試的關鍵指標主要包括:響應、內存、CPU 、FPS、GPU過度渲染、耗電、耗流、手機版本號兼容性,屏幕分辨率兼容性,穩定性測試,安全測試、流量測試等)

———————————————————————————————————

APP性能測試的基本原理是在以上各種測試場景下通過監控APP的各項指標來識別和發現APP存在的代碼質量問題並對程序進行修正和優化。而APP的性能測試工具正是基於這一過程的自動化需求應運而生。

APP性能測試的自動化工具市場上有很多,Android操作系統本身也提供了一些官方性能測試工具,包括:hierarchyviewer,主要檢測布局復雜度,各視圖的布局耗時情況;耗電量:Android開發者模式中的電量統計; 內存泄露檢測工具:DDMS—MAT,等等,這些工具往往需要單獨部署使用,沒有很好的整合起來,並且安裝、學習和使用耗費的時間成本較高。所以本文我們重點研究第三方的性能測試工具,主流的第三方工具包括leakcanary、Emmagee、itest、GT以及最近被熱炒的PerfDog。

測試工具 測試指標
leakcanary 內存泄漏
GT Home CPU、內存、流量、點亮、幀率/流暢度、查看開發日志、crash日志、抓取網絡數據包、APP內部參數調試、真機代碼耗時統計
iTest cpu、內存、流量、電量等
Emmagee cpu、內存、流量、電量等
PerfDog cpu、內存、流量、電量等
提供廠商 目前收費
square
騰訊
淘寶
網易
騰訊
平台兼容 說明
Android 通過集成到程序中的方式,在程序運行時檢測應用中存在的內存泄露,leancanry就是通過gc操作來檢測內存泄露的
Android/IOS 應用需要集成GT的sdk后,GT這個apk才能在應用運行時對各個性能進行檢測
Android Android自動化性能監控工具,能夠記錄特定應用的性能消耗情況, iTest不需要集成sdk到應用中,在itest中選中需要測試的應用即可進行測試;
Android Emmage和iTest一樣,不需要在應用中集成sdk,能夠對應用的常用性能指標進行檢測,並以csv的格式保存方便查看應用的各項參數
Android/IOS 移動全平台iOS/Android性能測試、分析工具平台。能快速定位和分析性能問題,提升APP應用和游戲的性能和品質。手機無需Root/越獄,手機硬件、游戲及APP應用也無需集成任何sdk,極簡化即插即用。

從上面五款工具的對比我們可以看到,除了 leakcanary僅僅針對內存泄漏,其余各工具均能支持APP性能測試中的大部分指標項監測。從易用性方面,iTest/ Emmagee/ PerfDog明顯略勝一籌,這三款工具不需要對APP再集成SDK即可對APP進行性能測試。而從平台兼容性看,GT Home和PerfDog既支持Android又支持IOS系統,但是PerfDog更好,因為在真機上測試不需要ROOT和越獄。從廠商的影響力來看,GT Home和PerfDog均來自騰訊,GT由MIG專項測試組開發,而PerfDog由騰訊游戲部門開發,而我們知道對於游戲的性能指標要求比一般的應用測試要求更加苛刻和嚴格。所以下面我們將重點放在PerfDog的關鍵功能和使用上。
———————————————————————————————————
PerfDog的下載和安裝非常方便,查看https://perfdog.qq.com/support文章中的使用步驟一欄,我僅僅花了5分鍾就已經安裝完成並能實現USB和WIFI兩種模式的APP監控了,無法言語的方便性。
接下來我選取了一個實際的APP進行性能測試和監控。打開PC端PerfDog並通過USB連接手機后如圖,PerfDog能立即識別手機型號和各項系統參數:

然后選擇設置->更多設置->權限管理->選擇PerfDog,打開懸浮窗管理權限,這樣在手機上監控應用時也能通過懸浮窗實時查看性能指標:

我選擇了一款經常玩的游戲進行測試,街霸二,:-),這一看就是典型的80后玩的游戲,以前高中翹課逛游戲廳經常玩,每次都要通關,現在因為情懷一直未曾拋棄,看來我不僅懷舊還很專一,臭美下, whatever,繼續。開啟游戲,我們馬上能看到監控數據,PerfDog默認顯示三個指標展示,FPS/CPU Usage/Memory Usage。指標變化采用曲線圖的方式展示,其中CPU Usage還顯示了總共和當前APP的消耗對比,數據很全面。

在測試過程中可以針對游戲的不同操作或界面分別設置標簽TAB,通過標簽按鈕給性能數據打標簽,這里我設置了選擇角色/游戲打斗兩個標簽:

接下來就是選擇性能測試的指標,指標很全面,除了FPS/CPU/Memory,還包括CPU溫度、電池消耗,以及ScreenShot在各個時點的截圖等指標,下面是設置了ScreenShot截圖的界面,以及各個指標項的選擇界面。


當我在監控和記錄了一定的數據之后,通過Record按鈕可以保存到本地或者直接上傳到PerfDog的雲端服務器,這個記錄保存和上傳過程可隨時進行。

———————————————————————————————————
PerfDog的雲端和本地使用的是同一套賬號,登錄之后即可查看雲端數據:

打開單個數據,顯示非常詳盡,各個指標不光是數據,而且有圖形展示:

測試數據支持批注及標定,鼠標左鍵雙擊,增加批注,再次雙擊,則取消批注。鼠標左鍵單擊,則增加標定,再次點擊則重新標定。

還可設定性能參數統計分析閾值、編輯統計參數分析及框選記錄保存, 可以通過鼠標框選/拖動查詢時間周期內,統計數據等。同時可對框選數據進行保存。工具左側“Setting”以設定對應的性能參數統計分析閾值等。

在雲端還可以創建測試任務和對測試任務進行跟蹤處理。

整個測試的過程感覺手機非常流暢,使用測試工具進行指標測試時絲毫感覺不到手機哪怕一丁點的卡頓,完全和平時正常玩游戲是一樣,看了一下官網給出的數據:安卓平台比較關注的是工具本身對手機性能影響,我們在小米5手機上鎖死最低頻率。開啟截圖測試影響結果如下:
PerfDog性能影響:CPU占比6%-10%(正常頻率下CPU占比1-3%)。
其他工具性能影響:CPU占比27%-33%。
———————————————————————————————————
整體評價下來,PerfDog的性能測試工具自動化和智能化程度都較高、雲端數據管理可支撐開發和測試任務協同、測試指標全面、工具性能損耗較小、工具和平台簡單易用。只是在對一些預設的場景考慮不足,比如針對壓力、響應性能、極限等場景以及針對不同類的APP如游戲類、電商類、銀行支付類,分別給出行業最佳實踐的性能指標參考值,並能進行實時對比分析。還需要根據各類指標監控的數據問題,如CPU過高、過熱的原因預設置一些處理方案和代碼的排查方法,那就perfect了。最后總結一句,如果你在做APP性能測試,還在使用原始的方法或者其他工具,不妨試用下PerfDog,一定能對你有所幫助。
————————————————————————————————————
  PerfDog是由WeTest騰訊質量開放平台發行的移動全平台iOS\Android性能測試工具平台,能快速定位分析性能問題,提升APP應用及游戲性能和品質,手機無需ROOT/越獄,手機硬件、游戲及應用無需做任何更改,極簡化即插即用。

掃碼即刻加群 與2000+測試同行深度交流
PerfDog官網:perfdog.qq.com
騰訊WeTest官網:wetest.qq.com

PerfDog交流群:602206842


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM