APP測試內容 -- 流量測試常見測試方法


大部分摘自:https://blog.csdn.net/baidu_21833433/article/details/63255182#commentBox

一、Android自帶統計功能(統計流量總數值)

  proc/uid_stat/{UID}/tcp_snd和tcp_rcv

  UID是每個app安裝時候分配的唯一編號用於識別該app.

  tcp_snd:表示發送數據累計大小,單位是字節(上行或上傳)

  tcp_rcv:表示接收到的數據累計大小(下行或下載)。

  

具體步驟:

  (1)安裝被測APP到測試機,不啟動APP。

  (2)通過包名獲取app的PID,再訪問/proc/{PID}/status文件查找app對應的UID;或者,使用adb連接到測試機,cat /data/system/packages.list | grep com.yftest.apk ---com.yftest.apk為包名,可以查看出該包的UID以及安裝位置等

  (3)通過UID號加上100000號查看接收和發送的流量文件;或者,使用命令查看當前下行(下載)流量情況,cat /proc/uid_stat/UID號/tcp_rcv

  (4)啟動APP到APP徹底啟動,cat /proc/uid_stat/UID號/tcp_rcv

  (5)tcp_rcv代表下行流量,把tcp_rcv換為tcp_snd可以查看上行流量,cat /proc/uid_stat/UID號/tcp_snd

該方法優勢:簡單,容易使用,容易測出對應場景下上下行流量,容易封裝為腳本

     劣勢:協議限制性,無法進行具體的剖析

二、Wireshark+tcpdump抓包分析

首先使用adb發送tcpdump文件到設備,如

adb push d:\tcpdump /data/local/tmp

tcpdump常見參數:

-i指定網卡(interface),any表示無限網卡;

-c指定接收的packets數量,接收完成后自動停止抓包;

-w xxx:抓取到的包存放路徑及存放格式。

-s(--snapshot-length)指定在每個packet中最多截取的字節數,設置為0時表示截取上限取默認值262144,默認抓包抓取長度是68字節,加上-s 0可以抓到完整的數據包;

-v/-vv/-vvv,指定輸出的詳細程度,針對流量測試,我們不需要非常詳盡的輸出數據,-v就可以了,抓包過程中顯示抓包的數量

 su-c /data/local/tmp/tcpdump -v -i any -s 0 –c 3000 -w /sdcard/us.pcap

使用上方命令就會調用指定位置的tcpdump把抓包的數據保存到制定文件中

然后使用adb發送文件到PC本機

adb pull /sdcard/us.pcap D:/

使用wireshark打開抓取的pcap文件

使用過濾器過濾需要顯示的內容如:

ip.addr == 192.168.10.101

顯示源或者目標IP為192.168.10.101的相關信息。

可以按照時間順序查看具體的網絡通訊情況

包括源IP、目標IP、協議、長度、信息

可以根據此進行具體情況進行細節的分析。點擊統計---》捕獲文件屬性

 使用“已顯示”下分組的數據*平均分組大小/1024即可計算出被過濾的數據的數據大小。

如上圖就是

260*503.5/1024=127.84

 

優勢:可以更深層次的判斷具體的網絡交互情況以定位網絡問題。

劣勢:成本較高,耗時較久,且不容易和場景事物或者操作結合。

 當存在流量問題或者懷疑出現流量問題后使用tcpdump結合wireshark進行具體剖析 

三、GT(隨身調)工具(直接調用android的api):

TrafficStats類是Android提供的一個流暢統計類,可以統計手機開機累計到現在使用的流量,也可以統計某個或者多個進程或者應用所使用流量,包括Wi-Fi和移動數據GPRS。

GT(隨身調)是APP的隨身調試平台,是直接運行在手機上的IDTE。可以使用GT對APP進行快速的性能測試(CPU、內存、流量、電量、幀率/流暢度等)、開發日志查看、Crash日志查看、網絡數據包的抓取、APP內部參數的調試、真機代碼耗時統計等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM