Android應用流量測試

工具網絡

  • GT(中文產品名稱:隨身調):是騰訊出品的開源調試工具,本次測試中用其進行手機的流量統計和抓包。請在Android手機上安裝GT應用(能夠經過官網或應用寶下載)。
  • Wireshark:抓包的分析工具,也提供了Android手機的抓包實現,GT中抓包的功能就是在其提供的實現基礎上的易用性封裝,本次測試中用Wireshark進行抓包的分析。請在PC上安裝Wireshark。

 

正文socket

  其實想知道一款應用費不費流量,大部分Android4.x版本系統已經能夠簡單的查看了:tcp

 

  關注流量比較粗的話,看一下上面這裏也就夠了,但從測試的需求看,這裏只能觀察到宏觀的流量狀況,到1天的流量消耗就無法再細化了,若是想知道具體一個業務操做或一段時間內的流量消耗呢?若是想知道應用一次啓動的流量消耗呢?這時就該使用前面介紹的工具了。工具

  比前面稍微深刻一些,咱們可能須要知道一個業務操做過程內,消耗的流量,及發出請求的流量、收到響應結果的流量各有多少,而且流量的消耗曲線是怎樣一個走勢。這時就該使用GT,關於GT的基本使用和爲何用GT,GT網站有詳細的說明,這裏只介紹和流量相關的部分。GT提供了一種簡單的測試方式,也提供了一個嚴謹但麻煩的測試方式。測試

 

  • 首先咱們來看簡單的方式:

1. 先將應用運行起來,而後啓動GT並在GT上選中被測應用及被測項NET(流量)。優化

 

2. 業務操做前,啓動數據採集,將會記錄選中應用的流量的變化,爲了方便統計,能夠先把業務操做前發生的流量記錄歸零。網站

 

3. 退到應用界面,執行需測試的業務操做。spa

4. 業務操做後,回到GT界面,中止流量數據的採集,查看本次業務操做流量的變化。3d

 

到這裏,從前面一張圖咱們已經能夠知道一個業務操做過程當中消耗的流量,包括髮出請求的流量、收到響應結果的流量、流量消耗曲線是怎樣一個走勢了。調試

5. 咱們能夠保存本次測試結果到文件,以備後面更深刻的分析。

 

來圍觀一下這個文件:

 

用強大的Excel把GT應用裏顯示的趨勢圖還原出來不是難事。

 

 

  • 咱們再來看看麻煩而嚴謹的方式:

  若是隻是純粹測測流量,上面的方式也足夠了,那咱們爲何須要麻煩而嚴謹的方式呢?這裏有兩個緣由,一個是僅僅知道流量的大小和趨勢,還不足以對後續的流量優化進行明確的指導,即知道流量可能有點多,但不知道該如何着手優化。另外一個是緣由是彌補上面方式的一個不足:有的應用,使用了本地socket和手機裏其餘進程產生交互,有時Android系統會把這種手機內部的socket傳輸的數據量也計算到應用消耗的流量裏(好比常見的視頻應用很多都有這個問題),此時上面的方式就顯得不夠準確了,要得到真是網卡上發生的流量,就須要抓包這種終極方法了。注意掌握這種方法的前提是您得先掌握基礎的TCPHTTP網絡知識。

  手機抓包是針對手機的網卡,因此這種方式沒法單獨抓一個應用的包,須要後續將歸屬於應用的包分析出來,而爲了後續分析減小工做量,測試時候應儘可能把其餘能消耗流量的應用都關了。Android手機的抓包是Wireshark提供的實現,GT上面作了封裝,使手機能夠沒必要連着PC便可抓包,方便在室外測試的場景。

1. 先從GT啓動抓包。

     

2. 以後仍是執行測試的業務操做。

3. 被測業務操做結束後,點擊stop,即中止抓包,並把抓包文件保存在對應的目錄中。

 

將抓到包文件導入到PC,用Wireshark便可分析抓包文件。關於Wireshark的使用,和PC上的使用沒有區別,請你們自行在網上搜索,這裏僅對使用Wireshark的要點提示下:

(1)咱們最早須要知道咱們的應用發出了哪些請求,對應了上行流量,能夠在Wireshark左上角【過濾】框輸入"http"或"tcp"(若是確認過被測應用都是http請求,就只須要按http過濾),確認測試場景GET和POST的請求類型和個數(過濾結果可按【Info】分類更方便統計)。

 

(2)在具體請求上能夠右鍵「follow tcp stream」,等同於過濾條件tcp.stream eq xx,這樣能夠過濾出和它在同一個TCP流的消息。

 

(3)過濾條件出來後再點擊【統計】->【概要】,對應Bytes欄【顯示】列的數據即爲流量。

 

 

(4)經過對包的過濾分析,咱們天然就能夠獲得流量的大小,產生流量的類型和緣由,請求的頻率,這樣就可以對後續的流量優化進行指導了。

 

(5)更謹慎的,抓包和GT採集流量數據能夠相互對照,避免分析時有所遺漏。

 

相關文章
相關標籤/搜索