zoukankan      html  css  js  c++  java
  • 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: cpdump /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内部参数的调试、真机代码耗时统计等。

  • 相关阅读:
    SharePoint 2013 图文开发系列之自定义字段
    SharePoint 2013 图文开发系列之Visual Studio 创建母版页
    SharePoint 2013 图文开发系列之代码定义列表
    SharePoint 2013 图文开发系列之计时器任务
    SharePoint 2013 图文开发系列之应用程序页
    SharePoint 2013 图文开发系列之事件接收器
    SharePoint 2013 图文开发系列之可视化WebPart
    SharePoint 2013 图文开发系列之WebPart
    SharePoint 2013 对二进制大型对象(BLOB)进行爬网
    SharePoint 2013 状态机工作流之日常报销示例
  • 原文地址:https://www.cnblogs.com/hhnw/p/10321403.html
Copyright © 2011-2022 走看看