弱网测试神器—Qnet(上)

news2025/1/17 6:09:47

一、APP 弱网测试背景

App 在使用的过程中,难免会遇到不同的弱网络环境,像在公车上、在地铁、地下车库等。在这种情况下,手机常常会出现网络抖动、上行或下行超时,导致 APP 应用中出现丢包延迟,从而影响用户体验。

作为软件测试工程师,我们要在 app 上线前做一定弱网络环境场景模拟,查看 app 在弱网络环境下是否存在某些未知的问题。
例如:

  • 客户端卡死、崩溃等异常
  • 核心功能导致软件不能正常运行
  • 存在有损害用户利益或被用户额外获利的机会
  • 是否有合理的重连机制,避免每次重连都返回到登录界面
  • 是否有合理的重发机制,对丢包延时情况有对应的合理提示

如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以加裙485187702,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

二、APP 弱网络环境传统解决方案

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

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

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

鉴于以上方案存在的缺点,Qnet 这款工具可以完美解决,并且界面操作也非常简单,易于上手。

三、Qnet 弱网测试工具简介

  • 不借助 PC 或者服务器,只需在任一智能手机上安装 QNET App,即可搭建一套完善的弱网环境
  • 覆盖国内所有省份、海外 47 个主流的国家地区的运营商实时网络数据,提供真实的地铁、电梯等 20+ 弱网络场景
  • 提供了网络数据包抓包功能,便于进行网络数据问题的分析
  • 支持 adb 命令驱动,实现自动化弱网络测试,降低成本、提高效率

官网地址: wetest.qq.com/product/qne…

四、Qnet 工具界面介绍

1. 【登录】页面

点击 Qnet App,进入登录界面,勾选同意协议并点击【QQ 登录】按钮,授权 QQ 账号完成登录。

2. 【工作台】页面

  • 点击选择应用
    点击可选单一应用,全部应用
  • 弱网场景模板选择
    提供系统常用网络测试模板,可通过【网络场景】或右上角[新增]添加其他需要的弱网测试模板。
  • [启动]按钮

 

  • 更新弱网测试模板
    点击模板的右侧文字,进入编辑页面支持更新
  • 删除弱网测试模板
    向左滑动要删除的模板,出现[删除]按钮,点击可删除
  • 搜索弱网测试模板
    当添加的模板较多,可通过上方[搜索框]输入模板名称关键字,完成搜索

 

3. 【网络场景】页面

3.1【网络场景】页提供系统推荐的模板,覆盖常用的极差网络、正常网络模板,断线重连、wifi 与 4G 切换、100% 丢包模板等等。可以点击【添加】,通过编辑-【保存】后,添加已有模板到【工作台】以供选择测试。

 

3.2【工作台】页和【网络场景】页右上角【新增】按钮,用户可选择参数增加模板。主要包含两种:【场景模板】和【自定义模板】。

  • 【场景模板】/【场景模板】(全球):
    提供了网络选择(服务器所处地区、客户端所处地区、运营商类型、网络类型)、场景选择(电梯、地铁、高铁、地下停车场、wifi 穿墙、视频网络标准、语音网络标准等),最后填写对应的【模板描述】,【保存】按钮。

【自定义模板】:
提供了多种弱网参数:
网络带宽 (单位 kbps,限制当前网络上下行最大的带宽容量)
网络延时 (单位 ms,当前网络的上下行延时约等于设置值)
延时抖动 (对每个数据包以设置的概率进行抖动选择,延时范围在 0~抖动值之间随机产生)
随机丢包 (按设置的概率对每个包进行丢包)
周期弱网 (按照放行时长、弱网时长设置交替切换,根据弱网类型进行弱网)
协议控制 (支持对不同协议的弱网控制,协议类型包括 TCP\UDP\ICMP\DNS)
弱网 ip (可针对 IP 进行弱网控制,多个 IP 以 | 分割)
可以根据自己公司产品的测试需要,组合填写对应的参数,最后点击【保存】。

 

4. 【设置】页面

  • 用户注销
    注销账号,则退回到登录页面;使用 Qnet 需重新登录
  • 测试报告
    勾选后再启动弱网时生效,结束弱网后会保存(iOS 暂不支持),保存文件包括。csv 和.html;
  • 网络抓包
    勾选后再启动弱网时生效,结束弱网后保存到对应文件路径
  • 控制悬浮窗
    测试过程中方便用户进行 Qnet 暂停继续、切换模板等快捷操作。开启则显示控制悬浮窗,关闭则不显示
  • 信息悬浮窗
    显示弱网测试参数的悬浮窗。开启则显示,关闭则测试过程中不显示
  • 使用文档
    点击可下载 Qnet 工具官方使用 PDF 文档
  • 常见问题
    会跳转到官方收集的常见问题页面
  • 用户协议/隐私政策/儿童隐私保护声明
    点击可查看对应文档的详细内容
  • 删除账号
    删除账号,则清除当前账号下所有的模板和数据

五、总结

以上仅从背景、到解决方案,到 Qnet 工具的各个功能界面做了详细介绍,关于 Qnet 工具的具体应用操作,咱们继续下篇文章~

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

8小时传疯!大厂面试真题全被大佬整理在这个小程序上了!【软件测试,建议收藏】

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础 

  全套资料获取方式:点击下方小卡片自行领取即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1154215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

写在2023末,很庆幸自己入了软件测试这行...

为什么会学习软件测试? 已经28岁了,算一下快过去3年了,刚毕业那会工作了一年,因为自己当时很迷茫(觉得自己挺废的),所以就没去工作就一直在家,家里固定每个月给点生活费&#xff0c…

查看公司电脑里软件安装

查看公司电脑里软件安装是一项重要的任务,可以帮助管理员了解员工在工作中使用的软件情况,以及发现潜在的安全风险。 方法一:事件查看器 点击开始菜单,搜索“事件查看器” 2、点击“windows”日志,打开“应用程序”&a…

XAMPP的下载安装配置详细教程

XAMPP的下载安装配置详细教程(含拒绝访问坑) ​ xampp 话不相瞒,当初为了在XAMPP(ApacheMySQLPHPPERL)里面配置phpwind,我在卸载与安装之间来回了不下10次,但是我的phpwind始终还是安装不成功…

『OpenStack』云计算平台『Nova』计算服务学习指南

前言 本文将会讲解 OpenStack 平台计算服务组件 Nova ,结合抽象概念和简单易懂的实战操作,帮助您更好的理解 Nova 计算服务在 OpenStack 中的作用 系统配置:宿主机 Ubuntu 20.04(WSL2) 简介 OpenStack 官网链接&…

如何利用数字化系统发挥数据的最大价值?

社会日新月异,企业管理也在时刻发生着变化,数字化系统的引入,解决了企业纸质化的汇报形式,简便快捷,一切事物都是有两面性的,数字化也给企业带来了新的挑战,如何利用数字化发挥数据的最大价值&a…

【记录】使用yolov5_obb训练自己的数据集

引言 对于寻常的yolov5目标检测任务,只能检测水平或者垂直的检测框,而对于旋转框的检测却无能为力。为此,在这记录下使用yolov5_obb来训练自己数据集。 一、准备数据集 1、我们先看所需要的数据集文件什么样子,如下图文件夹Sym…

Spring Boot与Redis的完美结合:高效实现订单超时处理

redis监听超时 概述修改配置文件redis配置yml/properties配置 pom依赖配置类创建订单时设置超时时间监听类优缺点 主页传送门:📀 传送 概述 Redis支持过期监听,可以根据这个监听过期数据来进行订单的超时处理 流程如下: 修改配置文件 re…

golang的类型断言

前言:原因很简单,写的代码panic了。报错如下。为此专门看下golang的类型断言。 “[PANIC]interface conversion: interface {} is string, not float64”。 1、类型断言(assertion) 所谓“类型断言”即判断一个变量是不是某个类型的实例(简单来讲就是判…

STM32-电源管理(实现低功耗)

电源管理 STM32 HAL库对电源管理提供了完善的函数和命令。 工作模式(高功耗->低功耗):运行、睡眠、停止、待机。 若备份域电源正常供电,备份域内的RTC都可以正常运行,备份域内的寄存器的数据会被保存,不…

制作一个可以arm架构下运行的docker镜像(for Python)

看完本篇文章,你将得到一个可以arm架构下运行的python 基础镜像。 题外话 这里直接说docker镜像有点儿草率,因为目前很多容器都是Podman了。 podman的介绍 arm和aarch傻傻分不清楚 现在这两个是一样的意思了。 arm64和aarch64之间的区别 开始制作镜…

笔记48:51序列模型--课程笔记

本地笔记地址:D:\work_file\DeepLearning_Learning\03_个人笔记\3.循环神经网络\序列模型 a a a a a a a a a a a a a a a a a a 8.1. 序列模型 — 动手学深度学习 2.0.0 documentation

双十一真香数码好物推荐!相信总有一款适合你!

在这个数字化时代,科技产品已经渗透到我们的日常生活,成为不可或缺的一部分。随着电商平台不断举办各种促销活动,双11购物狂欢节已经成为备受瞩目的盛事。在这场购物狂欢中,数码产品是热门之选。我们都期望在这个特殊的时刻找到高…

微信小程序 如何订阅消息?

微信公众号 微信公众号分为两种类型:订阅号和服务号,它们在功能和使用方式上有一些区别。 1.订阅号(Subscription Account): 主要用于向用户提供信息、资讯、新闻等更新性内容。每天可以发送1条群发消息给所有关注者…

墨者学院 身份认证失效漏洞实战

一、题目信息 二、漏洞利用 1.通过抓包,抓取test登录信息 发现card_id号以及一些回显的账号密码信息 搜索了一下这个id,发现是测试的头像 2.修改id号 分析请求包的逻辑,发现是请求了头像资源后再去请求头像id的详情包,所以根据…

el-dropdown自定义样式,不影响其他组件

原来的样式: 修改后的样式: 给el-dropdown-menu添加类名dropdown-menu <el-dropdown-menu slot"dropdown" class"dropdown-menu"><router-link to"/user/profile"><el-dro…

mysql出现Deadlock死锁排查

参考: https://www.yisu.com/zixun/664543.html 查看mysql死锁日志 show engine innodb status找到信息中LATEST DETECTED DEADLOCK这一行&#xff0c;可以看到mysql的死锁信息详情 ------------------------ LATEST DETECTED DEADLOCK ------------------------ 2023-10-31…

VS LiveShare使用操作介绍

VS LiveShare的使用教程 文章简介下载过程 文章简介 本篇文章主要介绍了如何安装和使用LiveShare的过程。 下载过程 1.在扩展->管理扩展&#xff0c;搜索Live Share后&#xff0c;下载对应的安装包&#xff0c;安装后对VS进行重启 2.安装后界面右上角会出现Live Share标…

酷克数据出席永洪科技用户大会 携手驱动商业智能升级

10月27日&#xff0c;第7届永洪科技全国用户大会在北京召开。酷克数据作为国内云原生数仓代表企业&#xff0c;受邀出席本次大会&#xff0c;全面展示了云数仓领域最新前沿技术&#xff0c;并进行主题演讲。 携手合作 助力企业释放数据价值 数据仓库是商业智能&#xff08;BI…

什么是接口自动化测试?接口自动化测试的目的是什么?

1、什么是接口测试 接口测试是对系统或组件之间的接口的测试。主要用于检测外部系统与系统间以及内部各个子系统间的交互点。测试重点是检查数据交换、传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 2、接口测试的目的 1> 尽早介入软件测试流程&#…

ubuntu(18.04) 安装 blast 并在php中调用

1、下载 https://ftp.ncbi.nlm.nih.gov/blast/executables/blast/LATEST/2、解压&#xff0c;配置环境变量 tar zvxf ncbi-blast-2.14.1-x64-linux.tar.gz解压后改名为 blast 配置环境变量&#xff0c;可以不配置 使用的时候直接绝对路径使用&#xff08;本次使用绝对路径&am…