前言
App 需要保证到不同网络环境下不会 crash,同时尽可能保证在弱网环境下相应功能正常。在测试阶段需要使用不同的工具模拟弱网环境,来测试 App 是否能够实现弱网环境正常。
弱网定义
一般将低于 2G 速率的网络定义为弱网,3G 也可以划分为弱网。常见的弱网场景有:地铁/巴士、电梯、楼梯间、停车场。
Charles 模拟弱网
具体操作
- 打开 Charles,点击 proxy,选择 Throttling Settings,进入网络设置页面【图 1】
- 勾选 Enable Throttling,此时相当于开启了限制网速的功能【图 2】
- 在 Throttle preset 选择不同网速,点击 OK【图 3】
字段说明:
- Enable Throttling:可以指定域名拦截,也可以所有请求拦截。
- Bandwidth:带宽,即上行、下行数据传输速度。
- Utilistation: 带宽利用百分比,大部分 modern 是 100%。
- Round-trip latecy:第一个请求的时延,单位是 ms。
- MTU:最大传输单元,即 TCP 包的最大 size,可以更真实模拟 TCP 层,每次传输的分包情况。
- Reliability:指连接的可靠性。这里指的是 10kb 的可靠率。用于模拟网络不稳定。
- Stability:连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
- Unstable quality range:不稳定数量范围。
具体的网络设置值参考: