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

  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支持动态探测当前网络和远端服务器的延迟,然后动态适配用户设置的上下行延迟,保证真实网络延迟和用户设置的尽量一致。

弱网参数

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协议,如下图是一个抓包示例:

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

QNET,一款给力的APP弱网络测试工具的更多相关文章

  1. 4款APP原型设计工具助你搞定移动应用设计!

    随着信息化社会的不断发展,不仅手机迭代更新的速度飞快,就连手机里的App 也层出不穷.作为一名UI/UX设计师或产品经理,如何才能设计一款出色的移动App?光有好的创意是不够的,你还需要一款正确的Ap ...

  2. APP弱网测试工具(QNET)

    QNET介绍官网链接:https://wetest.qq.com/product/qnet 目前在测试移动设备上进行弱网络专项测试的方案主要有两种: 通过Android设备连接到PC上进行弱网络测试, ...

  3. APP弱网测试方法

    常用工具 •利用抓包工具   -Fiddler/Charles•使用chrome浏览器的开发者工具•使用手机自带的限速功能(只适用IOS设备)•需要硬件设备(路由器或者网卡)   -NEWT/ATC/ ...

  4. APP弱网测试

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

  5. 开发者必知的8款App快速开发工具

    开发者必知的8款App快速开发工具 “我有一个好创意,就差一个CTO……” “原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了.” “APP版本迭代更新,都是企业的一道难关,没有一个一劳 ...

  6. 10款无需编程的App DIY开发工具

    10款无需编程的App DIY开发工具 你有一个很棒的创意但不会编程怎么办?外包.合伙开发还是从零学编程?这里提供另外一种方式--使用无需编程的App  DIY开发工具.DIY开发工具不仅节省了开发时 ...

  7. Clumsy 利用无线网卡结合Clumsy软件模拟弱网络测试

    利用无线网卡结合Clumsy软件模拟弱网络测试 by:授客 QQ:1033553122 实践环境 Clumsy 0.2 下载地址:http://jagt.github.io/clumsy/downlo ...

  8. 每一个开发人员都应该有一款自己的App

    [谋哥每天一干货]          这篇文章不是鸡汤,是谋哥自己的感悟了. 谋哥近期每日一干货,坚持每天写,才发现这个事情你要是能坚持一年超级难.365天无论刮风下雨.心情好或不好.生病或生气.每天 ...

  9. 开发一款即时通讯App,从这几步开始

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 " ...

随机推荐

  1. 本地操作功能 --local_action

    Ansible 默认只会对控制机器执行操作,但如果在这个过程中需要在 Ansible 本机执行操作呢?细心的读者可能已经想到了,可以使用 delegate_to( 任务委派 ) 功能呀.没错,是可以使 ...

  2. Hadoop学习------Hadoop安装方式之(三):分布式部署

    这里为了方便直接将单机部署过的虚拟机直接克隆,当然也可以不这样做,一个个手工部署. 创建完整克隆——>下一步——>安装位置.等待一段时间即可. 我这边用了三台虚拟机,分别起名master, ...

  3. 微信小程序:POST请求data数据请求不到

    最近开始开发小程序,遇到许多小问题,直奔主题. wx.request()是微信封装的ajax请求方法,也是小程序中ajax唯一的一个方法,被放在了API文档的第一个位置,的确使用率是最高的. 但是wx ...

  4. CSS效果:简单的登录框

    HTML: <html lang="en"> <head> <meta charset="UTF-8"> <meta ...

  5. sdn学习-1(概念:Underlay网络和Overlay网络)

    随着云计算.大数据.移动互联网等新技术的普及,部署大量虚拟机成为一种必然趋势.解决这些虚拟机迁移问题理想的方案是在传统单层网络(Underlay)基础上叠加(Overlay)一层逻辑网络,将网络分成两 ...

  6. c++ — 运算符重载与strcmp自实现

    #include <iostream> #include <string.h> #include <stdlib.h> using namespace std; c ...

  7. PostgreSQL注入基础

    一般注入多用于在mssql和mysql两类数据库中,如mssql+asp.mysql+php则是最为常见的搭配环境.不同的网站应用的数据库也大不一样,根据数据库的处理能力.负载等多重因素决定.本文主要 ...

  8. python中的字典

    字典:由多个键及与其对应的键-值对组成,用:隔开,用花括号 括起来  phone_book={'Daming':'2202','Amy':'5462','Sam':'4785'} dict函数:

  9. flex 布局 实现电商页面商品展示floor

    有了上一篇,对flex的初次使用,心里痒痒的试着,实现了电商首页,商品展示的floor,先看下效果: 要实现首先是对组件构件的拆解,拆解如下: 页面布局如下: <div class=" ...

  10. ORACLE用户表空间使用情况查询

    1.查询用户使用的表空间: select username,default_tablespace,temporary_tablespace from dba_users where username ...