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