1. 程式人生 > >移動app效能測試工具:Emmagee使用介紹

移動app效能測試工具:Emmagee使用介紹

Emmagee

簡介

Emmagee是網易杭州研究院QA團隊開發的一個簡單易上手的Android效能監測小工具,主要用於監控單個AppCPU,記憶體,流量,啟動耗時,電量,電流等效能狀態的變化,且使用者可自定義配置監控的頻率以及效能的實時顯示,並最終生成一份效能統計檔案。

特點:簡單、易上手、開源、只支援Android

實現原理

1、監控應用CPU原理

Android系統是基於Linux核心的,所以系統檔案的結構和Linux下一樣,系統總體CPU使用資訊放在/proc/stat檔案下,/proc/cpuinfo檔案存放CPU的其它資訊,包括CPU名稱,直接讀取即可。Emmagee是將選中應用的

PID傳入,讀取/proc/PID/stat檔案資訊及可獲取該PID對應程式的CPU資訊。

2、監控應用消耗流量

系統中有存放整體流量和針對當程式的流量統計,/proc/net/dev/proc/uid_stat/UID下存放tcp_rcvtcp_send檔案,分別存放下行流量和上行流量,操作前後相減就得出結果

說明: Emmagee app效能測試工具使用教程轉

3、監控記憶體實現原理

獲取到當被測應用的PID,然後按照PID呼叫androidAPI獲取當前被測應用佔用的記憶體。/proc/meminfo檔案記錄了系統記憶體資訊。

使用方法

Emmagee-2.4.apk為例

1下載Emmagee.apk安裝包

下載地址:https://github.com/NetEase/Emmagee/releases

2安裝Emmagee.apk

3開啟Emmagee

說明: Emmagee app效能測試工具使用教程轉

4點選左上角的設定按鈕,可進行採集頻率,郵件傳送等相關設定

5返回步驟3中,點選要測試的應用,然後點選開始測試

6app進行相關操作,完成後返回到Emmagee介面,點選停止測試

停止測試後,Emmagee會自動生成.csv測試結果檔案,測試結果檔案預設儲存在SD卡下,檔名稱如:Emmagee_TestResult_20160615103812

7把檔案匯出來,分析資料和統計

說明: Emmagee app效能測試工具使用教程轉

說明: Emmagee app效能測試工具使用教程轉

8難點在哪裡?

工具使用似乎不難,那難點在哪裡?

個人覺得難在場景設計。筆者實踐也不多,這裡就簡單說說設計思路吧。

前提條件:保證測試環境的乾淨

第一種型別:測試app中某個相對獨立的功能

這種一般就是保證其它條件不變,重複操作這個單一功能,然後分析資料。

例子1app首次啟動的相關效能狀態

場景描述:點選app,啟動app直到出現app主頁面。

測試操作:

1.開啟Emmagee

2.選擇app,點選開始測試,出現主頁面後,點選停止測試

3.用手機清理軟體,清理被測app”

4.重複步驟2

資料分析:

一般情況下,2.2版本的Emmagee會自動為我們生成CPU,記憶體,流量,電量,電流資料,但是啟動耗時就不一定了,實踐中發現啟動耗時經常是獲取不到的,但是做效能測試,很關心的一點就是響應時間,不能獲取咋辦?筆者是這麼做的,設定採集頻率的時間為最小值,比如1s,這樣Emmagee就可以根據測試報告中,時間一欄大致統計出這個功能的耗時情況。

這些資料都有了,那麼就可以根據多次的測試資料,求出各類資料的均值峰值

例子2app二次啟動的相關效能狀態

場景描述:點選app,啟動app直到出現app主頁面,退出app

測試操作:

1.開啟Emmagee

2.選擇app,點選開始測試,出現主頁面後,退出app,點選停止測試

3.重複步驟2

注:和例子一不一樣的地方在於,是否在前一次操作的基礎上進行操作,即測試起點不一樣。幸運的是,Emmagee是有這種記憶功能的。

資料分析:

參考例子1

第二種:測試某個流程,目的在於找出效能瓶頸

針對某個業務流,做一個完整的業務過程的操作

這裡重點要說的資料分析具體咋做。個人的想法是這樣的:根據測試生成的.csv檔案,繪製相關資料的曲線圖,檢視曲線變化--平穩?起伏不定?還是峰迴路轉?如果不是很平穩,則說明效能上可能存在瓶頸,需要進一步分析是那個操作步驟中出現的。

關於咋看步驟,測試結果中,有一欄棧頂Activity名稱可以看到大致的操作(如果看不懂咋辦?測試前先操作看看,對比著看吧)