1、什么是弱网?

    对于弱网的数据定义,不同的应用所界定的含义是不一样且不清晰的,不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分。

从移动的特性来说,一般应用低于2G速率的都属于弱网,也可以将3G划分为弱网。除此之外,弱信号的Wifi通常也会被纳入到弱网测试场景中。

2、为什么要进行弱网测试?

    作为健壮性测试的重要部分,对于移动端的测试来说必不可少,用户在地铁里,巴士上,甚至是电梯,车库等场景使用APP,我们就需要针对这些场景的弱网环境下,

验证出现丢包、延时软件的处理机制,避免因用户体验不友好造成用户的流失。

3、怎么进行弱网测试?

     通过在代理服务器上设置一些模拟恶劣网络环境的参数,使得通过这些代理服务器的流量都被转化为恶劣网络环境下的流量,比如常见的Charles、fiddle抓包工具都可

以进行弱网测试。弱网测试主要进行特殊网络状态下的功能测试,同时关注用户体验,主要包括弱网功能测试、无网状态测试、网络切换测试等。

4、网络测试的思路?

     弱网测试是属于网络测试的其中一种,思路可以从功能测试、无网状态测试、用户体验关注测试、以及各种网络切换测试:

弱网测试的方式-编程之家

 

5、弱网测试能发现哪些常见的bug?

  • 页面图片在弱网环境下加载不出来(图片加载逻辑需优化)
  • 需要模版的页面版式结构混乱(模版文件在弱网环境的加载需优化)
  • 页面响应时间较长没有任何显示(页面显示逻辑待优化、重试机制加入)
  • 页面的crash以及显示的错乱、session是否一致、请求堆积处理等
  • APP很可能出现UI刷新不及时或者不刷新的情况,此时就可能会导致呈现在用户面前的是一个残缺的页面
  • 偶会也会导致出现页面UI元素错乱的情况
     

6、弱网测试工具,介绍Charles、Fiddle、游览器,三种方式模拟慢速网络

Charles:

     在 Charles 的菜单上,选择 “Proxy”–>“Throttle Setting” 项

弱网测试的方式-编程之家

     打开Throttle Settings界面如下,比如模拟不太好的2G蜂窝网络:

  • 带宽256 kbps(上传和下载)
  • 利用100%
  • 延迟300 ms
  • MTU为1500字节
  • 可靠性75%
  • 稳定75%
  • 不稳定的质量范围为20%至25%

弱网测试的方式-编程之家

Fiddle:

     fiddle有两种方式,第一种是,直接打开Fiddler→Performance→勾选Simulate Modem Speed,勾选之后会发现网络速度已经慢下来了,因为系统里有预设的网络参数值。

弱网测试的方式-编程之家

 

第二种是,打开Rules—-Fiddler—–Customize Rules,找出如下代码,设置弱网参数值:

弱网测试的方式-编程之家 

代码解析:

     如果m_SimulateModem为True,也就是fiddler开启了弱网模式,那么上传1KB的内容 需要300ms(转化后的上传速度为1KB/0.3s=3.3KB/s),下载1KB内容需要150ms

(转化后的下载速度为1KB/0.15s=6.6KB/s)。如果要模拟2G网络, 上传下载配置如下:

oSession["request-trickle-delay"] = "3000";

oSession["response-trickle-delay"] = "1500";

如果要模拟3G网络,上传下载配置如下,且手机APP使用SIM卡数据流量的话,要考虑不同的运营商:联通、移动、电信,根据上行速率、下载速率来设置参数。计算公式为:[1/(上或下行速率/8)] x 1000

oSession["request-trickle-delay"] = "20" ;

oSession["response-trickle-delay"] = "10";

注意:1KB=8kb,且需要保存,这时方法一勾选的系统设置的Simulate Modem Speed会被取消勾选,自定义网络参数后,是需要重新勾选一下再进行测试。

游览器:

     一般浏览器开发者工具(推荐Chrome)自带模拟弱网的功能。

     浏览器打开开发者工具(快捷键F12);选择Network栏,根据需求选择网络状态,比如在线、3G、2G、离线等。

弱网测试的方式-编程之家

 

7、补充不同网络环境下速度,测试时可参照设置

 弱网测试的方式-编程之家