關(guān)鍵詞: 客戶端? APP? ? 性能
一、APP客戶端性能測試常見指標(biāo):
內(nèi)存占用
CPU占用率
響應(yīng)時長
流暢度
過度繪制
二、評估標(biāo)準(zhǔn):
內(nèi)存:
和競品比較
和上一版本比較
CPU:
用主流手機(jī)使用APP,20%-40%的CPU占用率是合理的,不能超過80%。
響應(yīng)時長:
優(yōu)秀:0~400ms
標(biāo)準(zhǔn):400ms~2000ms
輕微隱患:2000ms~5000ms
嚴(yán)重隱患:5000ms以上
流暢度:
APP幀率FPS,30~60幀都可接受,不能超過60幀,即16ms
過度繪制:
比較流行的驗(yàn)收的標(biāo)準(zhǔn):
1)不允許出現(xiàn)黑色像素;
2)不允許存在4x過度繪制;
3)不允許存在面積超過屏幕1/4區(qū)域的3x過度繪制(淡紅色區(qū)域)
三、測試方案
1、內(nèi)存測試方法:
1)第三方工具GT,emmagee,itest,wetest
2)使用Android提供的adb命令
adb shell getprop | findstr dalvik? ? ? ? 本機(jī)內(nèi)存使用情況
adb shell dumpsys meminfo | grep packagename >address/mem.txt? ? ? ? 應(yīng)用的內(nèi)存使用情況
測試范圍:
空閑狀態(tài):打開應(yīng)用后,點(diǎn)擊home鍵讓應(yīng)用后臺運(yùn)行,此時應(yīng)用處于的狀態(tài)叫做空閑
中等規(guī)格:對應(yīng)用的操作時間的間隔較長
滿規(guī)格:對應(yīng)用的操作時間的間隔較短
1)空閑狀態(tài)下的應(yīng)用內(nèi)存消耗情況
2)中等規(guī)格狀態(tài)下的應(yīng)用內(nèi)存消耗情況
3)滿規(guī)格狀態(tài)下的應(yīng)用內(nèi)存消耗情況
4)應(yīng)用內(nèi)存峰值情況
5)應(yīng)用內(nèi)存泄漏情況
6)應(yīng)用是否常駐內(nèi)存
7)壓力測試后內(nèi)存使用情況
2、CPU占用測試方法:
1)第三方工具GT,emmagee,itest,wetest
2)使用Android提供的adb命令
adb shell dumpsys cpuinfo? ? ? ? ? ? ? ? 本機(jī)CPU占用率情況
adb shell dumpsys cpuinfo | grep packagename > address/cpu.txt? ? 應(yīng)用的CPU占用率情況
3)使用top命令
adb shell top | grep packagename > address /cpu.txt
測試范圍:
1)空閑狀態(tài)下的應(yīng)用CPU消耗情況
2)中等規(guī)格狀態(tài)下的應(yīng)用CPU消耗情況
3)滿規(guī)格狀態(tài)下的應(yīng)用CPU消耗情況
4)應(yīng)用CPU峰值情況
3、響應(yīng)時長測試:
1)adb命令
adb shell am start -W -n packagename/activity
2)抓取日志
% adb logcat -v threadtime >log.txt
%檢索關(guān)鍵詞:displayed
% 檢索需要的activity
備注:方法一測冷啟動和熱啟動時間;方法二測頁面切換時間,求平均值。
測試范圍:
1)首次啟動(冷啟動)----應(yīng)用首次啟動所花費(fèi)的時間
2)非首次啟動(熱啟動)---應(yīng)用非首次啟動所花費(fèi)的時間
3)應(yīng)用界面切換---應(yīng)用界面內(nèi)切換所花費(fèi)的時間
測試步驟:
1)冷啟動耗時:下載APP,不啟動---》adb shell am start -W -n com.gggg/.MainActivity-----》讀取TotalTime的數(shù)值,為冷啟動時間。
2)首次啟動耗時:下載APP,啟動---》adb shell am force-stop com.gggg-----》adb shell am start -W -n com.gggg/.MainActivity----》讀取TotalTime的數(shù)值,為首次啟動時間。
3)熱啟動耗時:啟動APP---》adb shell input keyevent 3-----》adb shell am start -W -n com.gggg/.MainActivity-----》讀取TotalTime的數(shù)值,為熱啟動時間。
4)切換耗時:啟動APP,切換到不同功能頁面---》adb logcat -v threadtime >log.txt-----》檢索關(guān)鍵詞:displayed-----》檢索需要的activity-------》讀取TotalTime的數(shù)值,為切換時間。
備注:實(shí)時監(jiān)控當(dāng)前正在運(yùn)行的activity命令如下:
>>adb shell
>>logcat | grep ActivityManager
4、流暢度測試
測試方法:
使用adb命令
1)保證手機(jī)與pc連接正常;
2)打開手機(jī)“設(shè)置”----》“開發(fā)者選項”(沒有開發(fā)者選項就點(diǎn)擊‘關(guān)于手機(jī)版本’連續(xù)點(diǎn)擊灰出現(xiàn)開發(fā)者選項了)。找到監(jiān)控一欄點(diǎn)擊“GPU更顯模式分析”——》勾選“dab shell dumpsys gfxinfo”
3)在pc上win+R 進(jìn)入運(yùn)行,輸入cmd,回車。把手機(jī)停放在被測軟件上,在命令行中輸入 adb shell "dumpsys window | grep mCurrentFocus"之后會顯示APP的名字,只記住從com開始到“/”結(jié)束的名字即可
4)打開被測APP進(jìn)行滑動頁面,結(jié)束后,在命令行輸入adb shell dumpsys gfxinfo app的包名 >FPS.txt回車,頁面無任何提示,則成功。
測試范圍:
主要界面間的切換
5、過度繪制
測試方法:
點(diǎn)擊進(jìn)入“設(shè)置”-----》點(diǎn)擊進(jìn)入“開發(fā)者選項”----》選中“調(diào)試GPU過度繪制”----》選中“顯示過度繪制區(qū)域”
測試范圍:
1)APP所有頁面
2)與競品比較