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:在首次登陆时的平均值

(未完待续…)

移动应用测试篇(4)——App测试技术(2)相关推荐

  1. ios和android测试面试题目,App测试面试题总结

    前言 现在面试个测试岗位,都是要求全能的,web.接口.app啥都要会测,那么APP测试一般需要哪些技能呢? 面试app测试岗位会被问到哪些问题,怎样让面试管觉得你对APP测试很精通的样子? 本篇总结 ...

  2. 测试你适合的发型软件叫什么,有没有测试发型的app 测试自己适合什么发型

    有没有测试发型的app 测试自己适合什么发型以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! [导读]:很多妹子剪头发时都 ...

  3. 移动app测试的多样性_web测试与移动App测试的常见测试要点

    手机APP项目测试点(内容)总结 对于手机项目(应用软件),主要是进行系统测试. 而针对手机应用软件的系统测试,我们通常从如下几个角度开展测试工作: 功能模块测试 交叉事件测试 性能测试 安全测试 容 ...

  4. 【Monkey测试】手机app测试性能测试,Monkey测试详解(全)

    目录:导读 前言 一.Monkey工具 二.Monkey的优劣 三.Monkey 命令 四.Monkey结果分析 五.Monkey详细 六.Monkey用来做什么 七.Monkey程序介绍 八.Mon ...

  5. 移动应用测试篇(5)——APP测试技术(3)

    App测试专项--耗电测试 1:基于硬件设备的方法 这个方法的基本做法就是将手机的电池拿掉,并将电量表串接在手机和外部电源之间.这样手机的供电就会经过电量表,可以获得比较准确的电量数据(缺点:整机测试 ...

  6. 软件测试知识点和面试题--app测试篇

    软件测试知识点和面试题--接口测试篇 软件测试知识点和面试题--性能测试篇 软件测试知识点和面试题--手工测试篇(功能测试) APP发布流程 内部发布平台蒲公英.Testlink等发布步骤1.开发打包 ...

  7. APP测试面试题汇总(基础篇、进阶篇)

    一.基础篇 1.请介绍一下,APP测试流程? APP测试流程与web测试流程类似,分为如下七个阶段: 1.根据需求说明书编写测试计划: 2.制定测试方案,主要是测试任务.测试人员和测试时间的分配: 3 ...

  8. 【面试-八股文】万字app测试 面试题,助你吊打面试官系列

    大家好,我是温大大. 最近温大大的读者们问我有没有app相关的面试题, 作为「平易近人」的大大怎么能忍心说没有呢, 这不继续爆肝 输出app测试工程师专项面试题, 本篇从:app测试基础.app 测试 ...

  9. app测试移动应用测试 (功能测试)适合0基础学习

    文章目录 app测试移动应用测试 (功能测试)0基础 一.背景介绍 app生命周期图 移动应用与传统PC应用的区别 二.App项目流程 市场分析 需求调研 产品制造 交互设计 产品开发 系统测试 产品 ...

  10. APP测试面试题汇总基础+进阶

    目录 一.基础篇 1.请介绍一下,APP测试流程? 2.APP测试需要提前准备哪些测试资源? 3.APP测试和Web测试的区别? 1.系统结构方面 2.性能方面 3.兼容性方面 4.相对于 Wed 项 ...

最新文章

  1. include,require,include_once,require_once区别
  2. android打开项目更换版本,android1.6项目,换成其他包的方法,及修改默认启动虚拟机的版本...
  3. 软件测试工程师笔试试题
  4. MySQL索引使用详解
  5. java 监听本地端口_Java-在本地端口上侦听RTP数据包
  6. JS数据结构与算法——选择排序(把小的数字依次往前放)
  7. neo4j python
  8. phpredis报错信息:protocol error, got ‘o‘ as reply type byte解决方案
  9. mysql udf禁用_如何禁用 mysql 的 udf 功能
  10. pcre和正则表达式的误点
  11. python解析器打包_打包发布Python模块的方法详解
  12. 绝大部分投资者没资格谈心态
  13. 97. PATH_SEPARATOR 和 DIRECTORY_SEPARATOR
  14. C语言编写游戏的程序教程,用C语言写贪吃蛇游戏图文教程
  15. 数学分析 极限(第2,3章)
  16. RabbitMQ实现即时通讯-MQTT协议
  17. PLSQL developer下载、安装、详细教程
  18. android usb恢复,安卓数据恢复常见问题汇总
  19. Android之 Camera相机使用
  20. IT 攻城狮必备的十大算法思想

热门文章

  1. Mendeley的安装
  2. 易软简易门诊系统系统功能分析
  3. 混合整数线性规划问题 Matlab
  4. zed相机的基本使用
  5. 【重要】kubernetes二进制部署单master节点
  6. 通用对账系统介绍与设计(上)
  7. 记第一次举办CTF比赛
  8. 关于《竹林蹊径 深入浅出Windows驱动开发》第一个例子在Win7下蓝屏
  9. 华南理工大学计算机应用技术如何,余志文(华南理工大学计算机学院教授、博导)_百度百科...
  10. c语言混沌序列,混沌时间序列的C-C法计算太阳黑子月度数据的tau和tw与书上的不同,咋么办?...