APP测试内容 -- 流量测试常见测试方法

article/2025/10/24 2:46:15

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 阅读( ...) 评论( ...) 编辑 收藏

http://chatgpt.dhexx.cn/article/uKlgRIyP.shtml

相关文章

app性能测试:(三)流量监控

app性能测试:(三)流量监控 下面对流量监控进行分析: 获取进程ID指令 adb shell “ps | grep 包名”获取进程ID流量adb shell cat /proc/pid/net/dev pid换成第一步获取到的进程ID receive是指当前进程接收的数据,tra…

APP的流量测试(android和iOS的流量测试)

1、准备 性能测试工具—fiddler、电脑、Google浏览器、手机、无线(手机需要和电脑在一个网段里) 2、知识点 1)掌握fiddler工具安装(这个相对比较简单,大家百度进行安装即可) 也可以访问这个网页进行下载…

自动化测试之流量回放技术

流量回放近几年一直是大家热衷讨论的话题,具体的效果智者见智。文章作者也是在技术工程领域有丰富的实践经验,推荐一看。 本篇背景是另外一同事朋友,最近在利用流量回放技术应用在服务端接口自动化测试方面,还在各部门全力推进阶段…

数据流测试

一、基本概念 定义节点 -- DEF(v,n) 使用节点 -- USE(v,n) 谓词使用 -- P-use 计算使用 -- C-use 定义-使用路径 -- du-path 定义-清除路径 -- dc-path 全定义覆盖准则:测试路径需要覆盖所有定义点和任意一个使用点,用dc-path扩展…

app性能测试--流量

测试场景:在手机上面点击想要测试的界面或者一组场景,然后查看用了多少流量。 方法一:使用流量测试的工具:1.tcpdump抓包 2 wireshark进行分析 tcpdump介绍:tcpdump是一款用于截取网络分组,并输出分组内容的…

APP性能测试——流量测试(二)

续上文:APP性能测试--流量测试(一),上篇文章介绍了如何通过代理工具抓网络请求,通过代理抓包我们可以抓到http和https请求的详细信息,由于代理我们需要连接wifi,很难抓取到4G网络下的流量值;今天介绍一下如…

App性能测试之流量监控

下面对流量监控进行分析: 获取进程ID指令adb shell “ps | grep 包名” 获取进程ID流量adb shell cat /proc/pid/net/dev pid换成第一步获取到的进程ID receive是指当前进程接收的数据,transmit是指当前进程发出请求的数据,流量是这两者之和…

性能测试——流量测试

原文资料: http://testerhome.com/topics/2643 http://testerhome.com/topics/2068 ------------------- 流量篇 最近在研究IOS 的性能测试,时间太紧没来得及发帖,加通宵挤出时间给大家分享一点东西,希望对大家有所帮助&#xff0…

App 流量常见测试方法

方法一:Android系统自带统计功能(总体流量数值) Proc/uid_stat/{UID}/tcp_snd和tcp_rcv UID是每个app安装时候分配的唯一编号用于识别该app. tcp_snd:表示发送数据累计大小,单位是字节 tcp_rcv:表示接收…

APP专项测试:流量测试

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

APP性能测试——流量测试(一)

写在前面: 第一期主要介绍如何通过anyproxy工具进行流量测试,二期介绍如何通过adb 命令实时监控wifi、4G下的上行以及下行流量值。 app的流量测试是性能测试中重要的指标,也是用户体验的重要部分,目前了解到的有三种方法&#xff…

软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法…

软件测试人员应该如何介绍自己测试过的项目

测试人员在找工作的过程中,通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。 要解决这个问题,大体上可以分为如下几个步骤: 1、对项目进行基本介绍 2、说明自己负责测试的模块 …

安装Node出现2502问题

安装nodejs时出现2502/2503错误解决方法 解决方法: 1.以管理员身份运行cmd 2.在cmd中打开msi文件的目录 切换d盘符为: d: 返回上一文件夹:cd … 打开文件夹:cd 文件夹名称 3.执行命令 msiexec /package msi文件名 4.弹出nod…

安装应用程序遇到2503、2502解决办法

原因:主要是权限不够。 方法一:右键,管理员身份运行。 方法二:管理员命令提示符,输入“msiexec /package E:download\SmarTTY.msi”

window系统下**Node环境安装失败: 错误代码: 2502 、2503

Window系统**Node环境安装失败: 错误代码: 2502 、2503 失败原因: 系统账户权限不足 如下图所示: 解决办法: 以管理员身份运行powershell命令行工具输入运行安装包命令msiexec /package node 安装包位置 例如:  复制的文件路径不用Ctrlv, 在命令行工具点击右键…

MT2502开发环境搭建

MT2502 patch merge、编译环境搭建、编译及版本flash ( 文档中所有安装包都可以从这里获取到:链接: http://pan.baidu.com/s/1qW8warM 需要的私聊 编译环境搭建 运行环境:windows xp、windows7(环境需要做一些更改) windows…

如何修复 Windows 中的 2502 或 2503 错误

1、问题描述 在安装 node-v12.16.1-x64 -win64.msi 软件时报2502/2503错误,导致安装失败。 2、分析解决 2502/2503 错误通常会在 Windows 上安装或卸载程序时出现。 2502/2503 错误的根源来自 Windows 上的 MSI 安装服务。无论何时卸载或安装程序,都必…

window 10 安装node.js时遇到2502 2503错误(已解决)

node安装失败2503的解决办法:1、在WIN搜索框搜索powershell并右击;2、点击使用管理员身份运行powershell命令行工具;3、输入“msiexec /package node”;4、打开安装包,根据提示安装即可。 本文操作环境:Win…

Windows安装Go/Python报2503/2502问题解决

关注【潇湘信安】、【Hack分享吧】公众号,一起学网络安全知识! 0x01 问题描述 我们在Windows安装Golang和Python等环境时出现下图报错:the install has encountered an unexpected errer installing this package.this may indicate aproble…