1024程序员节特供:APP弱网络测试利器(QNET)实战

背景介绍

QNET:腾讯WeTest的APP弱网络测试专家

背景一

弱网络测试为专项测试之一,最近软件质量标准过程管理中也添加了测试要求:

生命周期弱网络测试
运营期

必选

试运营期必选
研发期/
低维期/
Demo/

 

要求客户端的核心场景必须有断线重连机制,并在网络抖动、延时、丢包的网络场景下,需要满足:

一、不能出现以下情况:

1.收支不等、客户端卡死/奔溃等异常

2.核心功能不能有导致软件正常进行的问题

3.不能有损害用户利益或者被用户额外获利的机会

4.合理的重连机制,避免每次重连都返回到登录界面

二、对延时情况有对应的提示

 

以及测试报告中必须体现弱网络测试是否通过

背景二

最近的一个UI体验优化的案子中体现加载中和加载失败的场景

1.骨架图由Web实现

2.优先获取XX数据,并不能获取默认显示“XX”,点击跳转到XX选择页

3.加载成功后再显示新手引导等提示

综上,借助一款有利的弱网络测试工具,势在必行。

弱网络测试工具对比

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

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

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

 

Fiddler:

 

Network Emulator Toolkit:

Facebook ATC

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

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

为了更好的满足开发者对于弱网测试的需求,腾讯WeTest推出了一款针对移动应用的弱网测试工具QNET,解决了在Android设备上进行弱网络专项测试的痛点:

  1. 无需ROOT手机,无需连接数据线,以独立app的方式,为用户提供给快捷、可靠、功能完善的弱网络模拟服务。
  2. QNET还能提供TCP/UDP网络协议抓包功能,帮助开发和测试人员进行网络流量分析,而不需要ROOT手机,使用tcpdump进行抓包。

QNET使用介绍

1.下载:可以到应用市场或者腾讯wetest官网下载

2.登录

3.选择APP:次启动的时候需要对悬浮窗权限进行授权

4.弱网络模板选择

  • 预设模板包含了常见的2G/3G/4G网络模板
  • 弱网测试中比较常用的100%丢包模板等
  • 预设模板不支持编辑,可以删除
  • 持用户根据自己的测试需求自定义弱网参数模板,有比较好的灵活性。

           

4.悬浮窗

  • 左边:拖动控制位置
  • 中间:开始/停止
  • 右边:切换网络模板

5.弱网参数

  • 上下行延时(Delay)
  • 上下行延时抖动(Jitter)
  • 上下行带宽(Bandwidth)
  • 上下行随机丢包(Random Packet Loss)
  • 上下行连续丢包(Continuous Packet Loss)
  • TCP/UDP协议控制(Protocol)

7.网络抓包

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

QNET测试实战

通过选择丢包,模拟UI交互的异常,校验案子设计

     

另外,我们也可以找一些其他的软件进行测试:

                 

总结

QNET 使用起来非常方便:

  • 环境部署简单:安装应用即可使用 
  • 参数配置灵活:支持自定义参数
  • 多种弱网参数支持:包括带宽、延时、随机/连续丢包等等
  • 支持网络协议抓包:无需 Root 手机即可抓取 UDP/TCP 协议请求包
posted @ 2020-10-24 16:22  BruceLan  阅读(649)  评论(0编辑  收藏  举报