灵均兰草 2020-08-20
背景
目前在测试移动设备上进行弱网络专项测试的方案主要有两种:
1. 通过Android设备连接到PC上进行弱网络测试,比如Fiddler,Charles,NET-Simulator等。基本思路是在PC上装一个Fiddler网络抓包工具,然后再将Android设备的网络代理到PC上,通过在PC上的Fiddler在设置延时来进行弱网络模拟。
2. 在专有服务器上构建弱网络Wi-Fi,移动设备连接该Wi-Fi进行弱网络测试,相关的技术方案有Facebook的ATC和腾讯的WeTest-WiFi。
以上两种方法都能够实现移动设备的弱网专项测试,也已经是比较成熟的方案,但都存在以下几点缺点:
1. 需要额外的PC或者服务器,弱网环境构建成本高;
2. 需要安装、部署额外的工具,并且弱网络环境需要在PC上或者Web上进行配置,使用成本高;
3. 弱网络环境功能并不完善,比如Fiddler不支持丢包、抖动等弱网环境;
为了更好的满足开发者对于弱网测试的需求,腾讯WeTest推出了一款针对移动应用的弱网测试工具QNET,解决了在Android设备上进行弱网络专项测试的痛点,QNET无需ROOT手机,无需连接数据线,以独立app的方式,为用户提供给快捷、可靠、功能完善的弱网络模拟服务。
QNET还能提供TCP/UDP网络协议抓包功能,帮助开发和测试人员进行网络流量分析,而不需要ROOT手机,使用tcpdump进行抓包。
扫描上方二维码即可下载QNET
QNET使用指南
登录
QNET支持手Q账号或者腾讯员工的TAPD账号登陆,如果使用QQ账号首次登陆,需要注册WeTest平台账号,即可成功登陆。
选择测试APP
成功登陆后,点击【点击选择测试程序】按钮,选择待测试的弱网工具,然后点击下方的【开始测试】按钮,第一次启动的时候需要对悬浮窗权限进行授权,部分机型会弹出开启VPN服务的确认框,点击确认。
弱网模板
QNET支持系统预设模板和用户自定义模板,预设模板包含了常见的2G/3G/4G网络模板,还有弱网测试中比较常用的100%丢包模板等,预设模板不支持编辑,可以删除;
另外,QNET支持用户根据自己的测试需求自定义弱网参数模板,有比较好的灵活性。
悬浮窗
开始测试后,QNET会自动拉起待测试程序,然后默认会显示弱网模板控制悬浮窗,以及弱网模板信息悬浮窗。
● 左边悬浮窗是控制悬浮窗,可以下拉即时切换弱网模板,双击Q按钮可以切回QNET应用,点击暂停按钮可以停止弱网状态恢复正常网络;
● 右侧悬浮窗显示当前的模板名,实时延迟,实时网速,以及当前模板的具体参数。
注:QNET支持动态探测当前网络和远端服务器的延迟,然后动态适配用户设置的上下行延迟,保证真实网络延迟和用户设置的尽量一致。
弱网参数
QNET目前支持的弱网参数包括:
上下行延时(Delay)
上下行延时抖动(Jitter)
上下行带宽(Bandwidth)
上下行随机丢包(Random Packet Loss)
上下行连续丢包(Continuous Packet Loss)
TCP/UDP协议控制(Protocol)
如下是一个控制延迟和延迟抖动的示意图:
连续丢包可以实现周期性断网的弱网场景,常用在测试游戏流畅性,验证游戏对网络波动的支持程度。
TCP/UDP协议控制(Protocol)支持针对协议的弱网控制,比如我们可以控制UDP协议100%丢包,来测试某些不支持UDP协议的运营商的弱网场景。
网络抓包
QNET还支持网络抓包,导出为Pcap文件,可以在PC上用Wireshark工具打开分析,目前支持TCP, UDP, DNS协议,如下图是一个抓包示例:
使用网络抓包功能需要开启开关: