QNET介绍官网链接:https://wetest.qq.com/product/qnet

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

  1. 通过Android设备连接到PC上进行弱网络测试,比如Fiddler,Charles,NET-Simulator等。基本思路是在PC上装一个Fiddler网络抓包工具,然后再将Android设备的网络代理到PC上,通过在PC上的Fiddler在设置延时来进行弱网络模拟。
  2. 在专有服务器上构建弱网络Wi-Fi,移动设备连接该Wi-Fi进行弱网络测试,相关的技术方案有Facebook的ATC和腾讯的Wetest-WiFi;

以上两种方法都能够实现移动设备的弱网专项测试,也是比较成熟的方案,但也存在以下几点缺点:

  • 需要额外的PC或者服务器,弱网环境构建成本高;
  • 需要安装、部署额外的工具,并且弱网络环境需要在PC上或者Web上进行配置,使用成本高;
  • 弱网络环境功能并不完善,比如Fiddler不支持丢包、抖动等弱网环境;

腾讯WeTest开放平台最近推出了一款针对移动应用的弱网测试工具QNET,解决了在Android设备上进行弱网络专项测试的痛点,QNET无需ROOT手机,无需连接数据线,以独立app的方式,为用户提供给快捷、可靠、功能完善的弱网络模拟服务。

另外QNET还有一个很好用的功能——TCP/UDP网络协议抓包,帮助开发和测试人员进行网络流量分析,而不需要ROOT手机,使用tcpdump进行抓包。

QNET下载传送门:(下载链接

QNET使用说明

QNET是一个界面简洁,使用上也比较简单。

登陆

QNET支持手Q账号或者腾讯员工的TAPD账号登陆,如果使用QQ账号首次登陆,需要注册WeTest平台账号,即可成功登陆。

选择测试APP

成功登陆后,点击【点击选择测试程序】按钮,选择待测试的弱网工具,然后点击下方的【开始测试】按钮,第一次启动的时候需要对悬浮窗权限进行授权,部分机型会弹出开启VPN服务的确认框,点击确认。

弱网模板

QNET支持系统预设模板和用户自定义模板,预设模板包含了常见的2G/3G/4G网络模板,还有弱网测试中比较常用的100%丢包模板等,预设模板不支持编辑,可以删除;

另外,QNET支持用户根据自己的测试需求自定义弱网参数模板,有比较好的灵活性。

悬浮窗

开始测试后,QNET会自动拉起待测试程序,然后默认会显示弱网模板控制悬浮窗,以及弱网模板信息悬浮窗。

  • 左边悬浮窗是控制悬浮窗,可以下拉即时切换弱网模板,双击Q按钮可以切回QNET应用,点击暂停按钮可以停止弱网状态恢复正常网络;
  • 右侧悬浮窗显示当前的模板名,实时延迟,实时网速,以及当前模板的具体参数。

注:QNET支持动态探测当前网络和远端服务器的延迟,然后动态适配用户设置的上下行延迟,保证真实网络延迟和用户设置的尽量一致。

            

连续丢包可以实现周期性断网的弱网场景,常用在测试游戏流畅性,验证游戏对网络波动的支持程度。

TCP/UDP协议控制(Protocol)支持针对协议的弱网控制,比如我们可以控制UDP协议100%丢包,来测试某些不支持UDP协议的运营商的弱网场景。

网络抓包

QNET还支持网络抓包,导出为Pcap文件,可以在PC上用Wireshark工具打开分析,目前支持TCP, UDP, DNS协议,如下图是一个抓包示例:

使用网络抓包功能需要开启开关:

注:本文转自:https://www.cnblogs.com/quark/p/10734587.html

APP弱网测试工具(QNET)的更多相关文章

  1. APP弱网测试

    APP弱网测试   App弱网测试方法,常用工具有使用fiddler进行网络模拟,也可以使用Network Emulator Toolkit控制模拟网络,相对来说Network Emulator To ...

  2. Xcode弱网测试工具

    Network Link Conditioner Network Link Conditioner工具是Mac下提供的一个弱网测试工具. 安装Network Link Conditioner Xcod ...

  3. App弱网测试与常用模拟工具

    iOS平台,通过自带的开发者选项 >Network Link Conditioner, 即可简单的模拟各种速度的网络情况: 通过抓包工具,设置延迟,进行模拟不同的网络情况,比如常用的fiddle ...

  4. 07- 移动端app弱网测试与fiddle弱网测试

    从下面几个点了解弱网测试: 什么样的网络属于弱网. 低于2g速率的时候都属于弱网,也可以将3g划分为弱网,一般WiFi不纳入弱网范畴. 为什么要进行弱网测试 ①按照移动特定,各种网络连接协议不同,导致 ...

  5. 使用Fiddler进行APP弱网测试

    一.安装Fiddler 网上说要先安装.NET Framwork4,应该是由于本机已装,所以在安装Fiddler时并没有相关提示. Fiddler安装包:https://www.telerik.com ...

  6. [转]FaceBook ATC 弱网测试工具环境搭建

    工具简介 ATC是FaceBook开源的移动网络测试工具Augmented Traffic Control(ATC),能够方便的让我们模拟各种网络环境进行测试. ATC有两个最吸引人的特点: 在手机上 ...

  7. Android APP弱网测试问题和解决分析

    最近做了一次移动APP的弱网和中断测试,接下来分享一下遇到的一些问题: 1.现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致. 原因 ...

  8. App弱网测试方式

    硬件设备:网络损伤仪 网络损伤模拟仪的状况包括真实广域网中存在的:有限的带宽.时延.丢包.抖动.乱序.重复报文.竞争流量.拥塞.误码等等.这些状况对网络应用来说可能会降低应用的性能,甚至有时是致命的. ...

  9. 弱网测试—Network-Emulator-Toolkit工具

    参考别人网址:http://blog.csdn.net/no1mwb/article/details/53638681 弱网测试,属于健壮性测试:怎么样去做弱网测试呢? 一.安装弱网测试工具-Netw ...

随机推荐

  1. SpringBoot系列教程web篇之如何自定义参数解析器

    title: 190831-SpringBoot系列教程web篇之如何自定义参数解析器 banner: /spring-blog/imgs/190831/logo.jpg tags: 请求参数 cat ...

  2. 【转帖】5G基站建设下的“中国速度”:北上广深领跑全国,均超1万个

    5G基站建设下的“中国速度”:北上广深领跑全国,均超1万个 https://www.laoyaoba.com/html/news/newsdetail?source=pc&news_id=73 ...

  3. java笔记2—函数

    函数: 1.什么是函数?       函数是定义在类中具有特定功能的一段独立小程序.       函数也称方法. 2.函数的格式:      [ 修饰符 ] 返回值类型 函数名(参数类型 形式参数)  ...

  4. Python基础系列讲解-自动控制windows桌面

    原链接:https://zhuanlan.zhihu.com/p/73001806 在使用PC时与PC交互的主要途径是看屏幕显示.听声音,点击鼠标和敲键盘等等.在自动化办公的趋势下,繁琐的工作可以让程 ...

  5. 【flask】登陆后返回之前重定向跳转的页面

    登陆后返回之前重定向跳转的页面 一.前言 实现强制跳转到登陆页面,登陆后返回之前的页面的功能.网上跳登陆页面的很多:返回之前页面功能没多少.这里我只是用了自己的方法,有缺点和其他方法也请指点!(´ε` ...

  6. logrus 剖析之滚动日志

    在实际开发过程中,为了节省磁盘,日志需要按照时间或者大小维度进行切割分成多分,归档过期的日志,删除久远的日志.这个就是在日常开发中经常遇见的日志滚动(log rotation) 那么在 logrus ...

  7. 3.MVC基础-Code First 入门完整实例

    1.添加一个EF的上下文类  EFDbContext public class EFDbContext:DbContext { public EFDbContext() : base("EF ...

  8. NEST 根据id查询

    想要在NEST里根据id查询 GET /employee/employee/1 可使用Get方法 public IGetResponse<employee> GetDoc() { var ...

  9. iOS - 安装CocoaPods详细过程(重装系统后!)

    重装的系统,发现很多东西都要重装,顺便复习和检验下以前的方法还有没有效 一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们 ...

  10. JavaScript常见的输出方式

    1.通过弹窗的形式来输出 alert(需要输出的内容); alert("hello world"); confirm(需要输出的内容); prompt("请输入内容:&q ...