转自:http://www.51testing.com/html/01/n-3727001.html
APP弱网模拟测试
  移动端测试区别于PC端测试的一点就是网络的多变性;不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响。
  例如:进地铁、上公交、进电梯等,如果app没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。因此,app网络测试,特别是弱网测试显得尤为重要。
  利用fiddler的Simulate Modem Speeds功能,可以通过设置网络的上传、下载的网络流量大小来达到模拟弱网环境,从而实现弱网模拟测试,即通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。
  3.1、实例--APP弱网测试
  fiddler中选中Rules->Cutomize Rules,在文件中搜索关键字:m_SimulateModem;
  修改m_SimulateModem值为true,即开启网络模拟:
  var m_SimulateModem: boolean = false;
  修改uploaded、downloaded的数据来模拟不同的弱网场景:
  if (m_SimulateModem) {
  // Delay sends by 300ms per KB uploaded.
  oSession["request-trickle-delay"] = "384";
  // Delay receives by 150ms per KB downloaded.
  oSession["response-trickle-delay"] = "2560";
  }
  上传1KB需要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s),如果想设置上传的速度为50KB/s,你则需要设置Delay 时间为 20ms;(=1000/50)
  PS:设置之后可以通过http://www.speedtest.cn/在线测试网速,看是否生效;
  2G一般上行/下行速率约为:2.7、9.6kbs,模拟设置为:uploaded 约 2962 ms,downloaded 约 833 ms;(弱网一般指2G网络)
  3G一般上行/下行速率约为:384、2560kbs,设置为:uploaded 约 2.6 ms,downloaded 约 0.39 ms;
  PS:弱网模拟还可以通过其它工具实现,比如360WiFi的限速设置等;
  3.2、扩展弱网络规则
  可能在测试中不会想要一个同样虚弱的网络环境,而是随机强弱的网络,这样比较贴切真实情况,那么可以修改上述代码为:
  static function randInt(min, max) {
  return Math.round(Math.random()*(max-min)+min);
  }
  if (m_SimulateModem) {
  // Delay sends by 300ms per KB uploaded.
  oSession["request-trickle-delay"] = ""+randInt(1,2000);
  // Delay receives by 150ms per KB downloaded.
  oSession["response-trickle-delay"] = ""+randInt(1,2000);
  }
  这里的randInt(1,2000)应该很好理解,代表1-2000中的一个随机整数,这样就会出现偶尔有延迟偶尔网络又良好的情况。
  4、前端性能分析及优化
  前端性能在一定程度可以提升用户体验,而前端的性能数据可以通过fiddler的Statistics和Timeline来获取,从而为性能分析及优化提供依据。
  4.1、实例--前端性能数据获取分析
  通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。
  选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化。
  同时,还可以通过Timeline分析资源加载时序图,可以很直观地看到页面上各个资源加载过程所需要的时间和先后顺序,有利于找出加载过程中比较耗时的文件资源,帮助我们有针对性地进行性能优化。
  5、小结
  总的来说,fiddler是移动互联网测试的利器,除以上介绍的这些常见的日用场景外,还有很多其它用途,如域名的重定向、API的测试等,这里就不一一列举,如有兴趣,可抽空一起探讨。

fiddler----APP弱网测试的更多相关文章

  1. APP弱网测试

    APP弱网测试   App弱网测试方法,常用工具有使用fiddler进行网络模拟,也可以使用Network Emulator Toolkit控制模拟网络,相对来说Network Emulator To ...

  2. 『言善信』Fiddler工具 — 14、使用Fiddler进行弱网测试

    目录 1.什么是弱网测试 2.弱网环境的影响 3.弱网环境测试场景 4.使用Fiddler进行弱网测试 (1)Fiddler模拟弱网环境 (2)设置弱网的参数 (3)进行弱网测试对比 (4)恢复设置 ...

  3. fiddler之弱网测试

    今天就说一下如何使用fiddler做弱网测试 1.首先要把手机的代理打开,这就不多讲了哈,不懂得话请点传送门:https://www.cnblogs.com/fuxinxin/p/9146693.ht ...

  4. 弱网测试--使用fiddler进行弱网测试

    弱网测试原理以及方法(一) 一.为什么要进行弱网测试? 按照移动特性,各种网络连接协议不同,导致通信的信号不同,速率也不同,影响应用的加载时间.可用性.稳定性 二.什么样的网络属于弱网? 低于2g速率 ...

  5. fiddler进行弱网测试

    fiddler模拟限速的原理 弱网测试原帖连接:http://blog.csdn.net/eleven521/article/details/19089671 我们可以通过fiddler来模拟限速,因 ...

  6. APP弱网测试工具(QNET)

    QNET介绍官网链接:https://wetest.qq.com/product/qnet 目前在测试移动设备上进行弱网络专项测试的方案主要有两种: 通过Android设备连接到PC上进行弱网络测试, ...

  7. 07- 移动端app弱网测试与fiddle弱网测试

    从下面几个点了解弱网测试: 什么样的网络属于弱网. 低于2g速率的时候都属于弱网,也可以将3g划分为弱网,一般WiFi不纳入弱网范畴. 为什么要进行弱网测试 ①按照移动特定,各种网络连接协议不同,导致 ...

  8. 用Fiddler进行弱网测试

    1.作为一个好的程序猿,不但要写一手高质量的代码,而且要学会用高质量的测试工具测试自己的代码效果,接下来给大家推荐一下:用Fiddler进行弱网环境下的测试,请不要忽略这一点,因为用户在网速慢的情况下 ...

  9. App弱网测试与常用模拟工具

    iOS平台,通过自带的开发者选项 >Network Link Conditioner, 即可简单的模拟各种速度的网络情况: 通过抓包工具,设置延迟,进行模拟不同的网络情况,比如常用的fiddle ...

  10. 使用Fiddler进行APP弱网测试

    一.安装Fiddler 网上说要先安装.NET Framwork4,应该是由于本机已装,所以在安装Fiddler时并没有相关提示. Fiddler安装包:https://www.telerik.com ...

随机推荐

  1. SaaS模式实现架构

    SaaS模式实现架构 https://blog.csdn.net/xwq911/article/details/50630266 1. 数据库层: 数据库这一层的设计模式是很清晰的,无外乎只有3种方案 ...

  2. C#异步编程(二)用户模式线程同步

    基元线程同步构造 多个线程同时访问共享数据时,线程同步能防止数据损坏.不需要线程同步是最理想的情况,因为线程同步存在许多问题. 第一个问题就是它比较繁琐,而且很容易写错. 第二个问题是,他们会损害性能 ...

  3. 【2】HashMap

    http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html 一:java的数据结构 在Java编程语言中,最基本的结构就是两种,一 ...

  4. Gwt第三方组件、框架介绍

    介绍一下我接触过的Gwt第三方组件.框架及项目 1. Mygwt 曾经的大名鼎鼎的gwt第三方框架,在某些gwt框架的排名中排名第一.这个框架完全用gwt的方式实现了ext-js的功能,不依赖于ext ...

  5. 摘之知乎网友...PHYTIN学习

    作者:东瓜王链接:https://www.zhihu.com/question/19593179/answer/23746083来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  6. Regexp:template

    ylbtech-Regexp: 1.返回顶部 1.   2. 2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返回 ...

  7. Oracle OCM提纲

    ocm提纲 数据库创建详解 ◆ 通过手动方式创建数据库 环境变量的设置 密码文件的创建过程以及使用情景 Oracle数据库中参数文件的演进过程 参数文件的对比 参数的修改方式介绍 数据库启动过程时的内 ...

  8. Android 4学习(7):用户界面 - 基础

    参考<Professional Android 4 Development> Android UI基本元素 下面这些概念是Android UI设计的基础,深入学习和理解它们是Android ...

  9. python 2.7.5升级到3.4.x

    wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz .tgz cd Python-/ Python ./configure ma ...

  10. DAY10-python并发编程之携程

    一.引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去 ...