App 在使用的过程中,难免会遇到不同的弱网络环境,像在公车上、在地铁、地下车库等。在这种情况下,手机常常会出现网络抖动、上行或下行超时,导致 APP 应用中出现丢包延迟,从而影响用户体验。
作为软件测试工程师,我们要在 app 上线前做一定弱网络环境场景模拟,查看 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 这款工具可以完美解决,并且界面操作也非常简单,易于上手。
官网地址:https://wetest.qq.com/product/qnet
点击 Qnet App,进入登录界面,勾选同意协议并点击【QQ 登录】按钮,授权 QQ 账号完成登录。
点击可选单一应用,全部应用
提供系统常用网络测试模板,可通过【网络场景】或右上角[新增]添加其他需要的弱网测试模板。
点击模板的右侧文字,进入编辑页面支持更新
向左滑动要删除的模板,出现[删除]按钮,点击可删除
当添加的模板较多,可通过上方[搜索框]输入模板名称关键字,完成搜索
3.1【网络场景】页提供系统推荐的模板,覆盖常用的极差网络、正常网络模板,断线重连、wifi 与 4G 切换、100% 丢包模板等等。可以点击【添加】,通过编辑-【保存】后,添加已有模板到【工作台】以供选择测试。
3.2【工作台】页和【网络场景】页右上角【新增】按钮,用户可选择参数增加模板。主要包含两种:【场景模板】和【自定义模板】。
【场景模板】/【场景模板】(全球):
提供了网络选择(服务器所处地区、客户端所处地区、运营商类型、网络类型)、场景选择(电梯、地铁、高铁、地下停车场、wifi 穿墙、视频网络标准、语音网络标准等),最后填写对应的【模板描述】,【保存】按钮。
【自定义模板】:
提供了多种弱网参数:
网络带宽 (单位 kbps,限制当前网络上下行最大的带宽容量)
网络延时 (单位 ms,当前网络的上下行延时约等于设置值)
延时抖动 (对每个数据包以设置的概率进行抖动选择,延时范围在 0~抖动值之间随机产生)
随机丢包 (按设置的概率对每个包进行丢包)
周期弱网 (按照放行时长、弱网时长设置交替切换,根据弱网类型进行弱网)
协议控制 (支持对不同协议的弱网控制,协议类型包括 TCP\UDP\ICMP\DNS)
弱网 ip (可针对 IP 进行弱网控制,多个 IP 以 | 分割)
可以根据自己公司产品的测试需要,组合填写对应的参数,最后点击【保存】。
用户注销
注销账号,则退回到登录页面;使用 Qnet 需重新登录
测试报告
勾选后再启动弱网时生效,结束弱网后会保存(iOS 暂不支持),保存文件包括。csv 和.html;
网络抓包
勾选后再启动弱网时生效,结束弱网后保存到对应文件路径
控制悬浮窗
测试过程中方便用户进行 Qnet 暂停继续、切换模板等快捷操作。开启则显示控制悬浮窗,关闭则不显示
信息悬浮窗
显示弱网测试参数的悬浮窗。开启则显示,关闭则测试过程中不显示
使用文档
点击可下载 Qnet 工具官方使用 PDF 文档
常见问题
会跳转到官方收集的常见问题页面
用户协议/隐私政策/儿童隐私保护声明
点击可查看对应文档的详细内容
删除账号
删除账号,则清除当前账号下所有的模板和数据
以上仅从背景、到解决方案,到 Qnet 工具的各个功能界面做了详细介绍,关于 Qnet 工具的具体应用操作,咱们继续下篇文章~
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…