【學員乾貨】App常見效能測試點
普遍的apk效能測試,主要是以下七類
1、響應
2、記憶體
3、cpu
4、FPS (app使用的流暢度)
5、GPU過度渲染
6、耗電
7、耗流
(app除了這些效能測試,還有:手機版本號相容性,螢幕解析度相容性,穩定性測試,安全測試等,後續會持續更新… 流量測試同這些一起更新,這裡就不在說明了 )
一、響應
軟體的響應時間和響應速度直接影響到使用者的體驗度,如果一個軟體,遲遲載入不出來,會直接影響到軟體的日活、留存。因此對於一個軟體,對響應速度測試是必不可少的。
主要測試點:
1、冷啟動:首次啟動app的時間間隔(只是啟動時間,不包括頁面載入)
2、熱啟動:非首次啟動app的時間間隔(只是啟動時間,不包括頁面載入)
3、完全啟動:從啟動到首頁完全加載出來的時間間隔
4、有網啟動:從發起跳轉,到頁面完全加載出來的時間間隔
5、無網啟動:從發起跳轉,到頁面完全加載出來的時間間隔
(在專案中,主要測試關注點是冷啟動,熱啟動)
測試方法:
1、使用adb命令
1) 冷啟動
adb shell am start -W packageName/ActivityName(絕對路徑,首個Activity)
含義:
ThisTime: 該Activity的啟動耗時;
TotalTime: 應用自身啟動耗時, ThisTime+應用application等資源啟動時間;
WaitTime: 系統啟動應用耗時, TotalTime+系統資源啟動時間
2)熱啟動:按back按鍵後再啟動adb命令
測試標準:冷啟動時間不超過1.5s, 熱啟動不超過1s.
3)完全啟動,無網啟動,有網啟動都可以通過charles抓包來獲取啟動的時間
charles是一個很強大的抓包工具,除了擷取請求還能進行單介面壓測,修改請求引數併發出請求,以及模擬無網,弱網,2G,3G,4G等。能解決app的很多專項測試。
限制網路情況需要用到charles的一個功能: Throttle Setting
通過設定網速和抓包,可以獲取啟動時間,但是有一定的誤差。在專案中,一般只需要測試冷啟動,熱啟動便可。
2、使用AndroidStudio的Android Monitor,檢視手機日誌系統輸出
Android Monitor總共有5大模組:logcat, memory, cpu, network,GPU
我們可以通過logcat獲取應用的響應時間(如何使用,記憶體中有介紹)
3、程式碼日誌輸入檢視
直接原始碼打日誌,輸入各個位置的耗時操作最為有效,需要原始碼。
4、借用工具,高速相機,但是成本較高。(如下圖:目前專案團隊使用的測試工具)
原理: 通過壓力感應來自動識別起始點,回放圖片判斷結束點,(一般預設手機介面靜止不動為結束點), 鍵盤按S鍵為起始點,按F鍵為結束點。
這裡便不介紹用法了。