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、补充不同网络环境下速度,测试时可参照设置