android性能測試的要點分析

Android的app性能測試包括的測試項好比:
一、資源消耗
二、內存泄露
三、電量功耗
四、耗時
五、網絡流量消耗
六、移動終端相關資源利用率
七、幀率
八、渲染html

內存篇linux

內存測試中的測試子項:
1)空閒狀態下的應用內存消耗狀況
2)中等規格狀態下的應用內存消耗狀況
3)滿規格狀態下的應用內存消耗狀況
4)應用內存峯值狀況
5)應用內存泄露狀況
6)應用是否常駐內存
7)壓力測試後的內存使用狀況android

內存問題現象:
1)內存抖動
2)大內存對象被分配
3)內存不斷增加
4)頻繁GCshell

android檢查內存泄露步驟:
一、運行Monkey進行壓力測試:
adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000 -s 100 -v -v 50
二、監控內存值,若是出現過大等遞增異常則保存HPROF文件(hprof文件是Java 虛擬機的Heap快照)用於分析查看應用內存的命令:
adb shell dumpsys meminfo cn.microinvestment.weitou(進程名)
若是發現內存過大,則保存HPROF文件:adb shell am dumpheap <進程名> <保存路徑>
三、分析hprof文件
用工具MAT來查看,首先還要這個HPROF文件轉換成MAT可讀的文件
在Android SDK tool裏面有個hprof-conv命令:
hprof-conv <原HPROF文件路徑> <轉換後的HPROF路徑>
hprof-conv a.hprof b.hprof
四、用MAT工具打開轉換後的HPROF文件
通常選擇Leak Suspects Report(經過SQL語句來查詢對象有沒有被釋放掉,若是有多個相同的對象,則會存在內存泄露的問題)網絡

CPU篇app

CPU測試中的測試子項:
1)空閒狀態下的應用CPU消耗狀況
2)中等規格狀態下的應用CPU消耗狀況
3)滿規格狀態下的應用CPU消耗狀況
4)應用CPU峯值狀況工具

流量篇post

概念:
中等負荷:應用正常操做
高負荷:應用極限操做性能

流量測試中的測試子項:
一、應用首次啓動流量值
二、應用後臺連續運行 2 小時的流量值
三、應用高負荷運行的流量峯值
四、應用中等負荷運行時的流量均值測試

GPU篇(FPS)

概念:
過分繪製: 界面顯示的activity套接了多層而致使
幀率:屏幕滑動幀速率
幀方差: 屏幕滑動平滑度
FPS:Frames Per Second 每秒顯示的幀數 根據人眼的生理結構,幀率高於24時就被認爲是連貫的。對於遊戲畫面30fps是最低能接受的,60fps逼真感,若是幀率高於屏幕刷新頻率就是浪費。要達到30fps,每幀所佔用的時間要小於33毫秒

GPU測試中的測試子項:
一、界面過分繪製
二、屏幕滑動幀速率
三、屏幕滑動平滑度

過分繪製測試:(人工進行測試)
打開開發者選項中的顯示GPU過分繪製(Debug GPU overdraw)
驗收的標準:
一、不容許出現黑色像素
二、不容許存在4x過分繪製
三、不容許存在面積超過屏幕1/4區域的3x過分繪製(淡紅色區域)

屏幕滑動幀速率測試:
1.手機端打開開發者選項中的啓用跟蹤後勾選Graphics和View
2.啓動SDK工具Systrace,勾選被測應用,點擊Systrace,在彈出的對話框中設置持續抓取時間,在trace taps下面勾選gfx及view選項
3.手工滑動界面能夠經過節拍來進行滑動或者掃動,幀率數據會保存到默認路徑下,默認名稱爲trace.html
4.將trace.html文件拷貝到linux系統下經過命令進行轉換,生成trace.csv文件
grep 'postFramebuffer' trace.html | sed -e 's/.]W//g' -e 's/:.*$//g' -e 's/.//g' > trace.csv
5.用excel打開文件計算獲得幀率

屏幕滑動平滑度的測試:
方法如同幀率測試,惟一的差別就是最後的結果計算公式的差別

TestBird

相關文章
相關標籤/搜索