网站首页 > 技术教程 正文
APP专项测试——流量测试
移动互联产品给用户带来了很大的便利,但是在未来的一段时间内,移动网络的带宽还是比较有限,毕竟流量也是用户要付费的。这使得用户会关心他使用的App使用了多少流量,因为这直接关系到用户的资费账单。一些不好的App设计,或者缺陷,比如频繁在后台联网去服务端获取信息等,这些都会导致用户卸载App,或者引起投诉。因此进行软件的流量测试是很有必要的。
接下来我们就讨论如何针对Android和ios平台进行流量测试。
以下讲述3种流量测试,方法:手机上抓包、基于WiFi代理的fiddler工具抓包、Android自带的抓包方式。
1:手机上抓包 tcpdump+wireshark(参考adt结合使用)
在后台系统开发和测试中,借助工具抓取网络包(简称:抓包)来进行网络层的分析师一种常用的技术手段,常常使用的抓包工具有Wireshark和linux下的tcpdump。
由于Android系统是基于Linux的,所以可以使用tcpdump这个工具,但有一点特殊要求是手机一定要获取ROOT权限,下面就来详细给大家讲解一下如何使用Android的tcpdump获取流量信息。
前要:先使用adt安装android,然后打开虚拟机,详情参考资料(android开发
环境的搭建)
步骤1::先下载Android版tcpdump文件(
https://www.androidtcpdump.com/android-tcpdump/downloads)
步骤2::将tcpdump通过adb shell命令上传到Android虚拟机上去:
adb push tcpdump /data/local/tcpdump (上传数据包)
adb shell chmod 6755 /data/local/tcpdump (权限)设置
Tcpdump
? 语法:adb push [ tcpdump的window绝对路径] [/data/local/tcpdump]
adb shell chmod +[权限值] [data/local/tcpdump]
? 步骤3:使用tcpdump抓取流量数据包
adb shell---进入adb shell
su root--切换到root账户
/data/local/tcpdump -s 0 -w /data/capture.pcap -v
data/local/tcpdump -s 0 -w /data/capture.pcap -v
详解:
-s 0:抓取数据包时默认抓取长度为68字节。加上 –s 0表示抓取完整的数据包信息
-w /data/capture.pcap:表示把抓取的数据包文件保存在Android虚拟机的/data 文件夹下,
-v:表示在命令执行中显示当前的包的数量
? 步骤4:使用adb pull /data/capture.pcap下载文件到windows系统下
? 步骤5:使用wireshark打开capture.pcap数据包文件,并分析数据
? 步骤6:wireshark打开刚刚的抓包文件,使用filte做过滤,根据wireshark显示过滤器的语法,假设APP对应的目标服务器的地址是(121.14.76.22)
? Filter的语法:
“入流量” ip.src == 121.14.76.22
“出流量” ip.dst == 121.14.76.22
? 统计总流量的方法Statistics菜单:
- 简单查看流量统计可以看第一个Capture File Properties
file:显示总体信息
time:显示抓取第一个、最后一个的时间和整体时间间隔
capture:OS名称、抓包的接口
interfaces:所有抓到流量与接口的详细情况
statistics:提供各种详细的数据
? 2:使用fiddler工具分析网络流量(ios/android通用流量测试方法)
步骤1:被测手机和电脑要在同一局域网或者电脑开热点,手机连接在手机上设置wifi代理为:手动.代理主机填写window电脑的ip代理端口填写:8888
? 查看本机电脑ip
? 如果是和手机在同一局域网:
? 无线局域网适配器WLAN的ip
? 如果是电脑端开的热点:
? 无线局域网适配器本地连接*数字的ip
? 步骤2::设置fiddler工具,如下图所示:
在tools下的fiddler options的https栏勾选3个选项
? 在 connection上全部勾选上,并默认端口为8888
? 注意设置好之后最好重启fiddler
? 抓取APP上的HTTPS请求
? 1.如果app都是http请求,是不需要安装证书,能直接抓到的,如果是https请求,这时候手机就需要下载证书了。
? 2.打开手机浏览器输入:http://192.168.xx.xx:8888 ,这个中间的host地址就是前面查到的本机地址。
? 3.出现如下画面,点箭头所指的位置,点击安装就可以了。
? 步骤3:下面使用fiddler抓取的手机打开微博时请求和响应时的流量大小
? 3:通过系统自带的统计功能统计流量
? Android使用ADB通过uid可以查询到流量统计
? 具体方法:proc/Uid_stat/{uid}/tcp_snd
? proc/Uid_stat/{uid}/tcp_rcd’
? 限制条件:
? 1:要在真机环境下
? 2:真机要获取root权限
2、对应的情况是,在Mac上可以使用Charles作为代理,以及请求、响应显示的工具,同学们可以自行在课下研究。除了使用抓包工具进行流量的获取之外,还可以使用其他方法获取网络流量,比如App内部通过代码统计接口的数据量等,由于此部分的讲解过于复杂,这些测试方法将由同学们在
今后的工作中自己去逐步深入的了解和学习。
常见的流量节省方法
1:数据在不影响体验和功能下进行压缩,比如网页js文件压缩、图片压缩。
2:不同数据格式的采用,比如采用json格式作为接口返回格式通常比XML格式要小。
3:优化数据的下载,比如采取分屏加载的方式来减少流量的损耗。
4:本地缓存, 可以将客户端获取的一些图片、js文件都暂时的缓存起来,减少网络数 据加载。
5:针对不同网络类型设计不同的策略,比如2g/3g网络手动下载图片等方法来优化网络。
? 3.流量测试应该注意的测试项:
1:应用首次启动的流量提示
2:应用后台连续运行2小时的流量值
3:应用在运行极限的平均流量值
4:针对场景法涉及的应用主流程方面的测试
5:在首次登陆时的平均值
(未完待续...)
猜你喜欢
- 2024-10-04 手机安装magisk获ROOT权限,无须第三方recovery
- 2024-10-04 使用 Frida 来 hack 安卓 APP(一)
- 2024-10-04 刷机教程:教你如何打造一台渗透测试手机
- 2024-10-04 工作笔记 - android APP开机自启动及通过adb安装系统级apk
- 2024-10-04 ADB常用命令二 adb常用命令详解
- 2024-10-04 ADB(Android Debug Bridge)... adb android debug bridge drivers
- 2024-10-04 Android ADB 命令学习 安卓adb使用教程
- 2024-10-04 ADB 你想找的命令都在这里 adb 常用命令
- 2024-10-04 无需重置,解决Win10 Mobile 10512安卓应用键盘问题
- 2024-10-04 Fastboot &ADB介绍及命令大全
你 发表评论:
欢迎- 01-11关于Vmware workstation的网络设置
- 01-11使用VMware Workstation虚拟机安装Windows 10详细教程
- 01-11VMware Workstation 17.5.1 Pro for Windows & Linux - 桌面虚拟化软件
- 01-11VMware? Workstation 17 Pro软件中,如何显示 “我的计算机” 选项卡
- 01-11银河麒麟桌面操作系统安装VMware workstation pro
- 01-11VmwareWorkstation17.6安装windows7x64虚拟机后安装vmtools
- 01-11发布VMware Workstation Pro 17.0稳定版
- 01-11VMware Workstation安装ESXi 7安装篇
- 最近发表
-
- 关于Vmware workstation的网络设置
- 使用VMware Workstation虚拟机安装Windows 10详细教程
- VMware Workstation 17.5.1 Pro for Windows & Linux - 桌面虚拟化软件
- VMware? Workstation 17 Pro软件中,如何显示 “我的计算机” 选项卡
- 银河麒麟桌面操作系统安装VMware workstation pro
- VmwareWorkstation17.6安装windows7x64虚拟机后安装vmtools
- 发布VMware Workstation Pro 17.0稳定版
- VMware Workstation安装ESXi 7安装篇
- 如何安装虚拟机(vmware workstation)
- VMware Workstation之网络配置
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)