一、什么是弱网?
低于2G速率的时候都属于弱网,3G也可划分为弱网,一般Wi-Fi不划入弱网测试范畴
二、APP弱网测试要点
1、各个网络下功能测试
- 不同网络下,检查基本功能点
- 运营商移动、联通、电信接入点测试(需要使用实际SIM卡)
- 若有智能DNS功能,还需要关注运营商判断/归类
- 高延时、高丢包、无网、假热点也可归入弱网测试范畴
2、网络切换测试
- 部分APP有智能DNS功能,网络切换涉及DNS切换。
- 网络切换检测机制:Android可以监听系统广播
3、弱网测试
用户体验和异常处理是各个网络场景都需要关注的,只是弱网场景下,需要重点关注。
三、弱网测试方法
1、SIM卡网络切换
手机-设置-移动网络设置-网络类型选择,可以选择2G/3G/4G。
2、实际弱网场景测试
常见场景包括:地铁/巴士、电梯、楼梯间、停车场
3、使用虚拟机模拟网络速度
如用树莓派搭建的弱网测试仪
4、使用软件进行网络代理
可以用来模拟不同的网络带宽、延时率、丢包率
四、弱网模拟常用工具
1.charles弱网模拟
- 点击Proxy→ Throttle Setting,勾选上 Enable Throttling
- 再点击Throttle Preset ,选择不同的网络类型即可(如果只想模拟指定网站的慢速网络,再勾选图中的Only for selected hosts项,然后在对话框的下半部分设置中add指定的 hosts 项),配置参数详细解释如下:
bandwidth —— 带宽,即上行、下行数据传输速度
utilisation —— 带宽可用率,大部分modern是100%
round-trip latency —— 第一个请求的时延,单位是ms。
MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
Releability —— 指连接的可靠性,用于模拟网络不稳定。
Stability —— 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
2.chrome的webview调试工具弱网模拟
使用chrome的webview调试工具,缺点是只适用于web页面的弱网模拟。
(1)打开Chrome的菜单 - 更多工具 - 开发者工具
(2)在开发者工具的窗口,点击三个点,打开More tools - Remote devices
(3)连接USB,在手机上打开USB调试
(4)访问:chrome://inspect/#devices,页面会加载远程连接的设备
(5)点击点击设备下的Inspect,就可以开始远程调试
(6)network页面,No throttling下拉框,进行网络模拟
另外两个Tips:
(1)调试APP WebView ,需要在APP中启用 WebView 调试,开启调试后,Chrome DevTools才能对WebView进行远程调试,具体设置如下;WebView.setWebContentsDebuggingEnabled(true);
(2)对于线上的APP,一般debug开关都是关闭的,这就需要借助第三方工具,才能将debug开关打开,这个工具就是Xposed和WebviewDebugHook。