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内部参数的调试、真机代码耗时统计等。

posted @ 2019-01-25 19:56 鲸鱼家的小姐姐i 阅读(...) 评论(...) 编辑 收藏

APP测试内容 -- 流量测试常见测试方法相关推荐

  1. 【Android 高性能音频】OboeTest 音频性能测试应用 ( 应用简介 | 测试内容 | 输出测试 | Oboe 缓冲区 与 工作负载修改 | 测试案例 )

    文章目录 一.Oboe 测试应用 二.Oboe 测试内容 三.Oboe 输出测试 四.Oboe 缓冲区 与 工作负载修改 五.Oboe 输出测试 ( Pixel 2 | Android 10 ) 一. ...

  2. APP专项测试:流量测试

    手机的电量与流量测试主要为了站在用户角度思考,毕竟电量.流量消耗毕竟大,会影响客户的使用感受.手机端电量使用率是和CPU使用率成正比的. 由于这个表现没有毕竟详细的规定,只能给出一个通用的范围,CPU ...

  3. 手游测试(测试内容、测试流程、测试用例)

    目录 游戏测试的主要内容 游戏测试基本流程 游戏测试用例 游戏bug 游戏弱网测试 游戏功能性测试 游戏接口测试 游戏测试的主要内容 功能测试 主要验证功能是否符合需求设计 主要考虑功能正确性,不考虑 ...

  4. 测试内容总结-测试分类

    这里写目录标题 测试分类 按照测试对象划分 1.界面测试 2.可靠性测试 如何进行软件的可靠性测试? 3.容错性测试 4.文档测试 5.兼容性测试 6.易用性测试 7.安装卸载测试 8.安全性测试 9 ...

  5. App性能测试之流量监控

    下面对流量监控进行分析: 获取进程ID指令 adb shell "ps | grep 包名" 获取进程ID流量 adb shell cat /proc/pid/net/dev pi ...

  6. APP测试:测试流程及常规测试内容

    APP测试 定义:使用人工或自动化来测试某个程序,验证它是否满足规定的需求或者实际结果和预期结果的差别 一.测试流程 1.1 流程图 1.2 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测 ...

  7. 移动App测试实战—专项测试

    转自:http://www.51testing.com/html/58/n-3713758.html 我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了性能测试之后,测试工作看似比较 ...

  8. 手机app内测都有哪些测试,怎么测试?

    随着手机应用市场发展的逐渐成熟,手机APP已经渗透到人们的吃穿住行生活,比如手机支付APP.通讯APP.各大应用软件等,关于手机APP安全性能的重要性不言而喻. 鉴于此,做好手机APP测试对于软件开发 ...

  9. 压力测试和负载测试的区别/性能指标/专项测试/(tps/qps)

    压力测试和负载测试的区别/性能指标/专项测试/(tps/qps) 1. 负载测试是从并发量维度出发,不断增加并发量发情况下,系统的性能指标 压力测试是从访问时间的维度出发,在并发量一定的情况下不断增加 ...

最新文章

  1. 智能车竞赛技术报告 | 节能信标组 - 洛阳理工学院 - Since 2021
  2. 第十三章:位图(三)
  3. maven安装_如何从官网下载Maven与安装Maven
  4. 择天记手游的服务器维护世界,1130停服更新公告
  5. 根据文法画出语法树_编译工程5:语法分析(3)
  6. opencv系列-图像清晰度评价
  7. 门面模式(Facade)
  8. mysql 备份优化_MySQL 备份过程优化
  9. HDOJ 1274 展开字符串
  10. ERP产品销售发货判断库存功能(四十二)
  11. ABP理论学习之内嵌资源文件
  12. android 7.0添加菜单,Android 7.0 settings中添加/删除菜单
  13. js ajax 同步 执行完js之后才执行插入html
  14. matlab的提示符,在 MATLAB 命令窗口中的“ ”标志为 MATLAB 的 的提示符,“│”标志为 提示符。...
  15. 【干货】Markdown编辑博文,公式图片轻松搞定
  16. 使用bootstrap实现freeCodeCamp上Build a Personal Portfolio Webpage
  17. 前端token知识:token如何存储?token过期如何处理?
  18. Maple、MATLAB、MathCAD和Mathematica
  19. 从零开始社区之路,手把手教你开源自己的Python包
  20. 转载:物联网平台概述

热门文章

  1. Docker部署nginx、配置域名
  2. 各类网页劫持浏览器主页手段有那些、网页劫持怎么解决
  3. sentinel服务降级
  4. MongoDB备份的两种方法
  5. C# 使用JObject解析嵌套json
  6. mysql time类型 java_Mysql数据的时间类型对应的java时间类型
  7. OpenOCD-Jlink配置方法
  8. mysql 从根迭归找子叶与从子叶迭归找根方法
  9. VS2015 安装 C++ 开发依赖
  10. vs2015安装问题-安装包丢失或损坏