弱网测试工具-QNET

2022-07-25 17:40:08 浏览数 (1)

弱网测试工具-QNET

目录

  • 1、前言
  • 2、简介
  • 3、安装
  • 4、测试步骤
    • 4.1、配置弱网模板和参数
    • 4.2、选择测试产品进行测试
  • 5、adb指令执行

1、前言

目前在移动设备上进行弱网专项测试的方案主要有两种:

1、通过Android设备连接到PC上进行弱网络测试,比如Fiddler,Charles,NET-Simulator等。基本思路是在PC上装一个Fiddler网络抓包工具,然后再将Android设备的网络代理到PC上,通过在PC上的Fiddler设置延时来进行弱网络模拟。

2、在专有服务器上构建弱网络WiFi,移动设备连接该WiFi进行弱网络测试,相关的技术方案有Facebook的ATC和腾讯的WeTest-WiFi。

弱网测试的思路:

1、弱网功能测试:2G/3G/4G/5G、高延时、高丢包

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

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

4、网络切换测试:Wifi-2G/3G/4G/5G-无网多状态切换

用户体验关注点:

1、页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间,首屏时间等。

2、页面呈现是否完成一致。

3、超时文案是否符合定义,异常信息是否显示正常。

4、是否有超时重连。

5、安全角度:是否会发生DNS劫持、登陆IP更换频繁、单点登陆异常等。

6、大流量事件风险:是否会在弱网下进行更新Apk包、下载文件等大流量动作。

2、简介

QNET网络测试工具能够不借助PC或者服务器,搭建一套完善的弱网环境,进行弱网络模拟测试,只需在任一智能手机上安装QNET网络测试工具,即完成弱网络环境搭建工作,接下来根据需要选择不同场景进行测试即可;还提供了网络数据包抓包功能,便于进行网络数据问题的分析。

特性:

1、弱网搭建简单快捷。无需额外搭建弱网络环境,无需ROOT/越狱手机,无需连接数据线,只需要安装QNET App,一分钟搭建弱网络测试环境。

2、自动化弱网测试。QNET支持adb命令驱动,用户可以编写脚本,实现自动化弱网络测试,降低弱网测试成本,提高测试效率。

3、网络协议抓包。无需ROOT/越狱手机,无需第三方工具,支持TCP/UDP/ICMP协议网络抓包,导出pcap文件格式,支持Wireshark等工具查看。

4、真实的全球网络和弱网场景。覆盖国内所有省份、海外主流的国家地区的运营商实时网络数据,提供真实的地铁、电梯等弱网络场景。

3、安装

无需ROOT/越狱手机,无需连接数据线,以独立app的方式,为用户提供快捷、可靠、功能完善的弱网模拟服务。

根据手机操作系统,下载指定版本,安装即可。

官网地址:https://wetest.qq.com/product/qnet/

4、测试步骤

1、打开APP,进行登陆

2、授权登陆成功

4.1、配置弱网模板和参数

首先添加编辑弱网模板,提供不同的网络场景,并可根据测试要求对网络参数进行调整,弱网模板支持新增、删除、修改、查询操作。

新增弱网模板有两种方式:

1、页面右上角“新增”按钮,为自定义模板。

2、“网络场景”页面,每一项模板的“添加”按钮,设置不同场景的模板。

根据测试需要,组合填写对应的参数,之后保存即可。

如图所示:自定义模板

4.2、选择测试产品进行测试

工作台页面添加指定的弱网模板,之后选择全部应用或者一个应用,点击启动按钮开启弱网测试。

如开启网络抓包功能,当弱网测试结束后,将手机里自动生成的pcap格式文件导入到PC上,使用网络抓包工具Wireshark打开分析即可。

注:iOS版本仅支持全部应用

1、Android版本

如图所示:Android版本开启弱网测试

设置页面,已开启:网络抓包、控制悬浮窗、信息悬浮窗。

2、iOS版本

如图所示:iOS版本开启弱网测试

设置页面,已开启:网络抓包

注:iOS版本没有控制悬浮窗、信息悬浮窗功能。

5、adb指令执行

adb指令执行功能可以自动化的启用弱网,帮助用户可以接入进行自动化测试弱网。

使用前,将Android与PC用USB进行连接,并确保已连接上。

1、启动

首先执行命令启动QNET进程:

代码语言:javascript复制
adb shell am start {--[类型] [key] [value]} com.tencent.qnet/.Component.AdbStartActivity

使用示例:针对微信进行UDP上行20ms延时抓包

代码语言:javascript复制
adb shell am start --ei "dump_pcap" 1 --es "package_name" "com.tencent.mm" --ei "out_delay" 20 --ei "protocol" 2 com.tencent.qnet/.Component.AdbStartActivity

2、更新

更新弱网参数:

代码语言:javascript复制
adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages {--[类型] [key] [value]} com.tencent.qnet

使用示例:更新参数进行TCP/UDP 100%丢包

代码语言:javascript复制
adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages --es "command" "update" --ei "in_rate" 100 --ei "out_rate" 100 --ei "protocol" 3 com.tencent.qnet

3、结束

结束弱网并退出进程:

代码语言:javascript复制
adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages {--[类型] [key] [value]} com.tencent.qnet

使用示例:结束弱网

代码语言:javascript复制
adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages --es "command" "stop_service" com.tencent.qnet

4、参数传递方式

--[类型] [key] [value]

--ei:表示参数值为int

--es:表示参数值为string

5、详细参数列表

0 人点赞