1.什么是弱网测试

弱网测试主要就是对带宽、丢包、延时等进行模拟弱网环境。

衡量网络性能好坏的几个指标:
带宽(吞吐量):单位时间内传输的数据量,单位通常是:每秒比特数:bps。带宽反映了网络的传输能力,越大越好。
丢包:数据丢包个数=发送的数据包数-接收的数据包数。丢包反映了网络可靠性,越小越好。
时延:数据包从发送开始到接收到该数据,所耗费的时间,单位通常是ms。时延反映了网络的速度,越小越好。
抖动:指时延的变化,即两个数据包时延的差值。抖动反映了网络的稳定性,越小越好。
乱序:指接收到的数据包顺序和发送顺序不一致的次数。乱序反映了网络的稳定性,越小越好。当乱序比较严重的时候,丢包也会比较严重,所以一般都以丢包指标为主,忽略乱序指标。

2.为什么做弱网测试?

1.用户体验
使用过程中,弱网的高延迟和高丢包,在实时性要求非常高的场景,容易损失用户体验。
2.非正常情况下,出现bug概率会增加
在日常需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣。而服务面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug。

3.弱网的衡量指标

衡量指标要根据实际使用环境来确定,这里不方便放出公司的指标。

4.弱网测试关注点

用户体验:响应时间、页面呈现、超时文案、超时重连机制、安全及大流量风险

弱网测试:功能在高丢包高延时下的实现等

无网状态:断网功能、本地数据存储

网络切换:wifi-有线-无网及之间切换

5.弱网测试常用工具

通过设备连接到PC上进行弱网络测试,比如Fiddler,Charles,NET,Clumsy,WANem等

在专有服务器上构建弱网络WiFi,移动设备连接该WiFi进行弱网络测试,相关的技术方案有ATC、WANem等

以独立 app 的方式,为用户提供弱网络模拟服务。比如QNET,在Android设备上直接安装使用

工具名称 描述 优缺点 使用链接
Fiddler 抓包工具,PC 端安装,作为代理服务器,设置延迟参数,模拟不同的网络情况 只能模拟延迟,如丢包、带宽等等是无法支持的 Fiddler
Charles 抓包工具,PC端安装,作为代理服务器,可以支持延迟、丢包、带宽等弱网配置 弱网配置项只支持HTTP/HTTPS Charles
NEWT 微软早年推出的弱网测试工具,PC 端安装,作为代理服务器,支持延迟、丢包、带宽等弱网配置 在win10上按照配置步骤配置后未生效,后续未再尝试 NEWT
Clumsy 专门针对弱网测试的工具,PC 端安装,作为代理服务器,支持延迟、丢包、带宽等弱网配置 对比的这几款软件中使用最简单的软件 Clumsy
ATC Facebook推出,需要部署在 Linux 系统上,移动端设备通过浏览器访问就可以切换不同的网络环境,还可以同时支持多台设备连接 环境部署较为复杂 ATC
WANem 广域网模拟器,支持从光盘启动,可以运行于虚拟机上,也可以直接刷到物理设备上 虚拟机部署不支持上下行网络设置 WANem
QNET 腾讯推出app,自动化弱网测试,支持adb命令驱动,用户可以编写脚本,实现自动化弱网测试,自带真实的全球网络和弱网场景 仅适用于安卓 QNET

简单使用推荐使用Clumsy,环境部署简单,使用门槛低;要模拟完全真实环境推荐WANem,直接刷到交换机上;安卓app推荐使用QNET