• <rp id="vcwyv"></rp>

      <b id="vcwyv"></b>
      <tt id="vcwyv"></tt>

    1. 一個讓你開掛的Android 性能測試方法 [復制鏈接]

      2019-11-13 10:18
      BlueManlove 閱讀:2619 評論:1 贊:1
      Tag:  Android 性能測試

      Android性能測試,跟pc性能測試一樣分為客戶端及服務器,但在客戶端上的性能測試分為2類,對于應用性能測試,包括很多測試項,如啟動時間、內存、CPU、GPU、功耗、流量等。但針對rom版本的性能測試,一般關注功耗。

      一、不同版本的性能測試

      1、rom版本的性能測試

      rom版本一般就關注功耗測試,不過rom版本的功耗測試跟應用的功耗測試會有所差異,當然只是用例設計方面的差異,工具仍然采用安捷倫電源儀進行。

      2、應用的性能測試

      應用的性能測試,對于啟動時間、內存、CPU測試大家一般都使用外部提供的第三方工具來輔助測試,如GT、安測試等、這些工具的原理都是基于調用Android底層的一些api來獲取到測試所用到的值,當然我們也可以采用其他方法,如使用Android本身提供的一套adb即可完成上述測試。

      一個讓你開掛的Android 性能測試方法

      對于GPU、功耗、等測試來說,用第三方工具測試得到的數值一般都不是很準確,這個時候我們需要引入硬件來進行測試了,GPU可以采用高速相機來進行測試,功耗可以使用萬用表或安捷倫電源儀來進行測試(ps:有硬件動手能力的可以DIY一個小板進行)。

      3、Android的性能測試

      該本分內容為今天主要詳述的內容,具體分析見下文。

      二、關于Android的性能測試

      1、啟動時間

      首先,我們來說說啟動時間。關于應用的啟動時間的測試,分為三類:

      ①首次啟動--應用首次啟動所花費的時間

      ②非首次啟動--應用非首次啟動所花費的時間

      ③應用界面切換--應用界面內切換所花費的時間那么如何來做啟動時間的測試呢,一般我們分為2類,一類為使用軟件來測試,一類為使用硬件來測試,首先我們說說軟件測試的方法,可能大部分人都比較通曉使用Android提供的DisplayManager來獲取activity的啟動時間。

      一個讓你開掛的Android 性能測試方法

      步驟:

      一個讓你開掛的Android 性能測試方法

      通過計算activity最后剩余的時間之和即可(這里可以使用excel表格自動相加也可以使用算法,我就不詳細介紹了)。

      除了Display Manager的打印時間方法后,還有通過關注am的啟動時間及Display Manager打印的結束時間,通過兩者時間之間想減也能得到應用的啟動時間,還有可以通過Power Manager來計算打印時間,在應用啟動的時候,我們可以關注Activity Manager-Launch的變化來計算應用的啟動時間,還有可以通過截圖統計啟動時間,對于自研應用,最效率的莫過于直接在程序中插入打印時間的節點了。

      除了軟件測試的方法,還有硬件測試,我們可以使用高速相機或者手機,采用錄像的方法把應用啟動過程給錄制下來,然后通過人工數幀或者程序數幀的方式計算啟動時間。

      2、內存消耗

      1)內存消耗概念

      這個測試節點的設計目標是為了讓應用不占用過多的系統資源,且及時釋放內存,保障整個系統的穩定性,當然關于內存測試,在這里我們需要引入幾個概念:空閑狀態、中等規格、滿規格。

      一個讓你開掛的Android 性能測試方法

      空閑狀態:指打開應用后,點擊home鍵讓應用后臺運行,此時應用處于的狀態叫做空閑。

      中等規格和滿規格:指的是對應用的操作時間的間隔長短不一,中等規格時間較長,滿規格時間較短。

      接下來我們說說在內存測試中,存在很多測試子項,如下清單所示:

      ①空閑狀態下的應用內存消耗情況

      ②中等規格狀態下的應用內存消耗情況

      ③滿規格狀態下的應用內存消耗情況

      ④應用內存峰值情況

      ⑤應用內存泄露情況

      ⑥應用是否常駐內存

      ⑦壓力測試后的內存使用情況

      2)關于Android內存測試方法分類

      ①使用Android本身提供的ActivityManager.MemoryInfo()方法獲得(此方法請百度或google)此類第三方工具有如網易的Emmagee、安測試、騰訊的GT等。

      ②使用Android提供的對應內容,來獲取。

      一個讓你開掛的Android 性能測試方法

      ③使用Android提供的procrank。這里我們詳解一下procrank方法(批處理)。

      首先,去google獲取procrank、procmem、libpagemap.so三個文件;然后push文件,執行;最后,剩下的就是整理測試數據了。

      一個讓你開掛的Android 性能測試方法

      3)關于內存泄露方面的測試

      可以通過幾個方面來測試:

      ①通過monkey壓力測試記錄內存使用情況,分析數據曲線圖及日志情況;

      ②通過eclipse上的mat+heap來分析存在內存泄露方面的節點。

      3、CPU方面的測試

      1)子項清單

      CPU跟內存一樣,存在一些測試子項,如下清單所示:

      ①空閑狀態下的應用CPU消耗情況

      ②中等規格狀態下的應用CPU消耗情況

      ③滿規格狀態下的應用CPU消耗情況

      ④應用CPU峰值情況

      2)CPU的測試方法

      1.使用Android提供的


      一個讓你開掛的Android 性能測試方法

      2.使用top命令

      一個讓你開掛的Android 性能測試方法

      3.第三方軟件

      例如:3Dmax、安兔兔等。

      3)GPU的測試方法

      自從CPU及內存后,GPU這個詞對于PC性能測試者也不陌生了。3Dmax、安兔兔等之類的第三方軟件,讓GPU在移動端性能測試領域都知曉。但對于應用的GPU該如何來測試呢?我們先引入幾個名詞:過度繪制、幀率、幀方差。

      一個讓你開掛的Android 性能測試方法

      過度繪制:是指界面顯示的activity套接了多層而導致;

      幀率:是指屏幕刷新率;

      幀方差:是指屏幕刷新幀間隔方差。

      對于GPU的測試主要包括以下幾個測試子項:界面過度繪制、屏幕滑動幀速率、屏幕滑動平滑度。

      ①過度測繪

      它主要通過人工進行測試。打開開發者選項中的顯示GPU過度繪制來進行測試(PS:只有Android4.2及以上的版本才具備此功能)。驗收的標準為:

      a、不允許出現黑色像素

      b、不允許存在4x過度繪制

      c、不允許存在面積超過屏幕1/4區域的3x過度繪制(淡紅色區域)

      ②屏幕滑動幀速率的2種主要方法

      → 軟件測試方法

      a、手機端需打開開發者選項中的啟用跟蹤后勾選Graphics和View

      b、啟動SDK工具Systrace插件,勾選被測應用,點擊Systrace插件,在彈出的對話框中設置持續抓取時間,在tracetaps下面勾選gfx及view選項,

      c、人滑動界面可以通過節拍來進行滑動或者掃動,幀率數據會保存到默認路徑下,默認名稱為trace.html

      d、將trace.html文件拷貝到linux系統下通過命令進行轉換,生成trace.csv文件:

      一個讓你開掛的Android 性能測試方法

      e、用excel打開文件計算得到幀率

      → 硬件方法

      這里需要引入高速相機,打開高速相機,開啟攝像模式,錄制人滑動或者掃動被測應用的視頻,再通過人工或者程序數幀的方法對結果進行計算得到幀率。

      一個讓你開掛的Android 性能測試方法

      ③屏幕滑動平滑度測試

      方法如同幀率測試,唯一的差異就是最后的結果計算公式的差異。GPU的測試目前業界使用的均為硬件來進行,軟件測試的數據相較硬件差異較大,對于幀率及幀方差的測試標準而言,需對待不同機型設定不同的標準。

      4、功耗測試

      1)功耗測試類別

      功耗測試主要從以下幾個方面入手進行測試:

      a、測試手機安裝目標APK前后待機功耗無明顯差異。

      b、常見使用場景中能夠正常進入待機,待機電流在正常范圍內。

      c、長時間連續使用應用無異常耗電現象。

      一個讓你開掛的Android 性能測試方法

      2)測試方法

      ①軟件測試

      A、第三方工具:如金山電池管家之類的;

      B、自寫工具:這里一般會使用3種方法:

      第一種,基于Android提供的PowerManager.WakeLock來進行;

      第二種,比較復雜一點,功耗的計算=CPU消耗+Wakelock消耗+數據傳輸消耗+GPS消耗+Wi-Fi連接消耗;

      第三種,通過adbshelldumpsysbattery來獲取。

      ②硬件測試

      在這里,我們一般使用萬用表或者功耗儀進行測試。使用功耗儀測試的時候,需要制作假電池來進行的,有些不能拔插電池的手機,還需要焊接才能進行功耗測試。

      5、流量測試

      性能測試的——流量,當然我所指的性能測試是針對大部分應用而言的,可能還有部分應用會關注網速、弱網之類的測試。

      1)流量測試,同樣需要引入幾個名詞:中等負荷、高負荷。

      中等負荷:應用正常操作

      高負荷:應用極限操作

      2)測試項包括:

      a、應用首次啟動流量提示;

      b、應用后臺連續運行2小時的流量值;

      c、應用高負荷運行的流量峰值;

      d、應用中等負荷運行時的流量均值;

      3)流量測試一般都是用軟件來進行的,這里我們一般分為2類:

      a、采用市場提供的第三方工具來進行測試,如流量寶之類的;

      b、自研工具進行測試。


      我來說兩句
      您需要登錄后才可以評論 登錄 | 立即注冊
      facelist
      所有評論(1)
      絕癥患者 2020-3-23 20:32
      非常好
      回復
      領先的中文移動開發者社區
      18620764416
      7*24全天服務
      意見反饋:1294855032@qq.com

      掃一掃關注我們

      Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粵ICP備15117877號 )

      夫妻性姿势真人示范 - 视频 - 在线观看 - 影视资讯 - 唯爱网