一、弱网测试思路:
弱网功能测试:
·2G/3G/4G/5G
·高延时
·高丢包
这部分发现的问题可能会有:
页面图片在弱网环境下加载不出来(图片加载逻辑需优化)、
需要模版的页面版式结构混乱(模版文件在弱网环境的加载需优化)、
页面响应时间较长没有任何显示(页面显示逻辑待优化、重试机制加入)等。
2、无网状态
·断网功能测试
·本地数据存储
这部分发现的问题可能会有:
无网状态测试建议按照页面划分进行,针对每个页面单独测试无网状态的显示,页面间跳转的显示,页面内功能的点击和显示,同时关注无网到有网时的页面恢复显示状态、数据上报情况是否正常
3、网络切换
Wifi---5G/4G/36/2G---
无网多状态切换
这部分主要是进行几个不同网络场景的切换,
wifi-2G/3G/4G/5G
wifi-无网
2G/3G/4G/5G-wifi
2G/3G/4G/5G-无网、
无网-2G/3G/4G、
无网-wifi。
主要关注页面的显示与交互,尤其是弱网到wifi,wifi到弱网的情况,是否会有页面的crash以及显示的错乱、session是否一致、请求堆积处理等。
4、用户体验
·响应时间
·页面呈现&超时文案&超时重连
·安全及大流量风险
页面响应时间是否可接受,关注包括热启动、冷启动时间,页面切换,前后台切换,首字时间,首屏时间等。
页面呈现是否完整一致
超时文案是否符合定义,异常信息是否显示正常。(4)是否会有超时重连
安全角度:是否会发生dns劫持、登录ip更换频繁、单点登录异常等。
大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。
二、工具fidder使用+网络延时计算
启动Fiddler,打开菜单栏Rules---Performances---Simulate Modem Speeds这里打开了模拟调节速度
启动fiddler找到Rules---Customize Rules点击打开,搜索m_SimulateModem
弹出来了Fiddler Script页面,找到以下代码进行修改
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "3000"; # 每上传lKB 数据,延时0 3 秒
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "1000"; # 每下载lKB 数据,延时0.15 秒
上面代码就是设置延迟时可以操作的上行和下行网络延迟时间,意为每上传/下载1KB的数据要延迟多少毫秒。
这里我把请求(上行)时间延迟设置为3000ms,响应(下行)时间延迟设置为1000ms(模拟了2G网络的速度)。
计算公式
这里通过计算上行和下行的网络延迟时间,可以模拟出想要的网络效果。
利用( 1KB/下载速度) x1000= 要delay(延迟)的毫秒数来计算。比如我们要模拟2G的网络。2G网络上行和下行的网络速度如下图所示:
时间单位对应为毫秒,为每上传、下载 1KB 所需耗时
1KB=8kb
1MB= 1024KB
上行:[1/(2.7/8)]X1000=2962ms
下行:[1/(9.6/8)]X1000=833ms
电信:上行:1.8M 1.8x1024
下行:3.1M 3.1x1024
上行:{1/[(1.8x1024)/8]}x1000=4.34ms
下行:{1/[(3.1x1024)/8]}x1000=2.52ms
移动:上行:384k
下行:2.8M
上行:[1/(384/8)]x1000=20.8ms
下行:{1/[(2.8x1024)/8]}x1000=2.79ms
联通:上行:5.76M
下行:7.2M
上行:{1/[(5.76x1024)/8]}x1000=1.35ms
下行:{1/[(7.2x1024)/8]}x1000=1ms
上行:50M 50x1024
下行:100M 100*1024
上行:{1/[(50x1024)/8]}x1000 = 0.16ms
下行:{1/[(100x1024)/8]}x1000 =0.078ms
5G正式商用前速率实测:下行最高速率达到1617Mbps,最低为75Mbps
三、其他弱网测试工具
以独立 app 的方式,为用户提供弱网络模拟服务。比如腾讯 wetest 服务平台推出的弱网测试工具Q***,在Android设备上直接安装使用。
此软件官网某些原因下架了,但你可以其他渠道安装可以继续使用
如下图所示:用户根据自己的测试需求自定义弱网参数模板
参考:
各个弱网环境参数一览