android 流量测试的指导方法

发表于:2018-10-11 09:57

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵丽娟    来源:腾讯

#
流程
#
测试
分享:
  移动互联网的大背景下,流量测试是非常有必要的一项终端测试。我最近对android的流量测试进行了研究,目前做这块的方法有很多,方法也在不断的更新。目前很多工具携带了流量统计的功能,但是我试用后都很难获得准确的数据,目前靠谱的在方法有如下两种:
  1、tcpdump +wireshark相结合的方法
  2、读取该APP对应的tcp_snd/tcp_svn文件的值
  那这种测试可以给我们带来什么?
  1.可以让我们很清楚的知道用户在某种场景下使用我们的产品需要消耗多少流量。
  2.流量数据分析可以指导我们去做优化。比如cgi的调用和参数设置是否合理,有些资源或者配置是否可以本地化?
  3.流量的优化可以带来速度的优化。减少tcp数据包的个数,或者直接减少请求数都可以带来速度的优化。
  总的来说,就一点,就是帮助用户省流量钱!!
  tcpdump +wireshark的方法
  第一步:tcpdump抓包
  1.默认安装了adb以及java环境以及安装了wireshark
  2.打开cmd,进入adb目录,测试设备的连接
    
  3.把tcpdump拷贝的/data/local/tcpdump目录 (此步需要获取手机root权限)
    
  这时我们可以看到root的标志符号 #,表示当前已经是root状态。利用adb shell手机上创建目录 /data/local/tcpdumpb并执行命令:
   
  D:\adbtools是之前我下载的tcpdump存放的位置。
  4.修改tcpdump的权限
   
  5..执行抓包命令
  adb shell data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
  6.抓的包在sdcard目录下,导出包(adb pull /sdcard/capture.pcap )
   
  第二步:wireshark统计流量
  wireshark打开刚刚的抓包文件,使用filte做过滤,根据wireshark显示过滤器的语法,假设APP对应的目标服务器的地址是(121.14.76.22)
   
  Filter的语法:
  “入流量” ip.src == 121.14.76.22
  “出流量” ip.dst == 121.14.76.22
  那么怎么统计这些过滤出来的包的大小呢?statistics下面有一个summary:
   
  我们要的数据就在这里,我们要的入流量的数据就是红框里面的数值。
   
  看/proc/uid_stat/<uid>/下的tcp_rcv和tcp_snd文件
  1.怎么获取uid
  Adb shell进入手机之后,执行ps
   
  Uid的值就是在63+10000=10063 ,即在要统计的APP后面的数据上加上10000.
  2.Cat这个文件即可,单位是byte.
   
  我测试了这两种方法在同一个场景下的区别,相差很小。

   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号