【轉】Emmagee app效能測試工具使用教程

來源:互聯網
上載者:User

標籤:

簡介

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

 

實現原理

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_rcv和tcp_send檔案,分別存放下行流量和上行流量,操作前後相減就得出結果 。

 

3、監控記憶體實現原理

擷取到當被測應用的PID,然後按照PID調用android的API擷取當前被測應用佔用的記憶體。/proc/meminfo檔案記錄了系統記憶體資訊。

Emmagee-2.2.apk為例

1、  下載Emmagee.apk安裝包

:https://github.com/NetEase/Emmagee/releases

 

2、  安裝Emmagee.apk

 

3、  開啟Emmagee




 

4、  點擊左上方的設定按鈕,可進行採集頻率,郵件發送等相關設定




 

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

 

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

停止測試後,Emmagee會自動產生.csv測試結果檔案。

 

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

8、  痛點在哪裡?

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

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

 

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

 

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

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

 

例子1:app初次開機的相關效能狀態

情境描述:點擊app,啟動app直到出現app首頁面。

 

測試操作:

1.開啟Emmagee

2.選擇app,點擊“開始測試”,出現首頁面後,點擊“停止測試”

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

4.重複步驟2

 

資料分析:

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

 

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

 

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

情境描述:點擊app,啟動app直到出現app首頁面,退出app

 

測試操作:

1.開啟Emmagee

2.選擇app,點擊“開始測試”,出現首頁面後,退出app,點擊“停止測試”

3.重複步驟2

 

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

 

資料分析:

參考例子1

 

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

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

 

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

 

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

 

【轉】Emmagee app效能測試工具使用教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.