共计 2534 个字符,预计需要花费 7 分钟才能阅读完成。
本文首发于:行者 AI
在当今挪动互联网流行的时代,网络的状态除了有线连贯,还有 2G/3G/4G/5G/WiFi 等多种手机网络连接形式。不同的协定、不同的制式、不同的速率,使挪动利用运行的场景更加丰盛。目前挪动端产品的应用用户所处的网络并非齐全晦涩的网络环境,因挪动端产品应用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。毕竟思考到各种场景的客户端展现及容错,能极大晋升产品印象和用户体验。本文就和大家分享一下如何上手弱网测试,弱网测试工具的应用。
1. 什么是弱网测试?
弱网测试作为健壮性测试的重要局部,对于挪动端测试来说必不可少。从测试角度来说,须要额定关注的场景就远不止断网、网络故障等状况了。对于弱网的数据定义,不同的利用所界定的含意是不一样且不清晰的,不仅要思考各类型网络最低速率,还要联合业务场景和利用类型去划分。依照挪动的个性来说,个别利用低于 2G 速率的都属于弱网,也能够将 3G 划分为弱网。除此之外,弱信号的 WiFi 通常也会被纳入到弱网测试场景中。
1.1 弱网的功能测试
这一部分次要是在各种不稳固的网络环境下进行的功能测试,同时模仿高提早、高丢包的异样网络下进行健壮性测试。2G/3G/4G/5G 的网络能够通过应用电话卡挪动 / 联通 / 电信等网络进行模仿,关注游戏界面的响应工夫、界面出现是否残缺统一等。
弱网功能测试倡议将整体的性能测试用例在弱网环境下进行一轮测试,雷同的模块下的性能能够分多个网络条件进行测试。这部分发现的问题可能会有:界面图片在弱网环境下加载不进去(这就须要对图片加载逻辑进行优化)、界面排版构造凌乱(这就须要界面在布局是在弱网环境的加载进行优化)、界面长时间响应没有任何显示(这就须要在显示逻辑进行优化,以及引入重试机制)等。
1.2 无网状态测试
无网状态测试则是在切换网络的状况下进行的测试,次要关注界面的显示、用户交互、本地数据的存储断网性能的应用等。常常该局部也须要与网络切换局部协同进行。通常来说:
断网状况下申请一个非本地数据时须要设定肯定的工夫期待下限,及时提醒玩家网络异样以及重试机制;
断网状况下申请一个局部本地数据的界面须要察看本地数据的局部是否加载显示失常,待申请的局部是否合乎用户交互给的缺省款式;
断网状况下申请一个齐全本地数据的界面是否显示失常。这里还须要思考本地数据存储的状况,有些须要联网后上报服务器的数据本地是否正确的存储,联网后这些数据是否失常上报。
无网状态测试倡议依照页面划分进行,针对每个页面独自测试无网状态的显示,界面间跳转的显示,界面性能的点击和显示,同时关注无网到有网时的页面复原显示状态、数据上报状况是否失常。
1.3 网络切换测试
这部分次要是进行几个不同网络场景的切换,包含 WiFi 到 2G/3G/4G/5G、WiFi 到无网、2G/3G/4G/5G 到 WiFi、无网到 2G/3G/4G/5G、无网到 WiFi 等。次要关注页面的显示与交互、尤其是弱网到 WiFi、WiFi 到弱网的状况,是否会有 crash 以及显示的错乱、客户端服务器数据的一致性、申请沉积的解决等。
1.4 用户体验关注
弱网测试的最重要的目标就是尽可能保障用户体验。关注的关键点包含:
界面响应工夫是 否可承受,包含热启动、冷启动工夫,界面切换,前后台切换,首字显示工夫,首屏显示工夫等;
界面出现是否残缺统一;
超时文案是否合乎定义,异样信息是否显示失常;
是否有超时重连机制;
平安角度:登录 ip 更换频繁、单点登录异样等;
大流量事件危险:是否会在弱网下进行更新 apk 包、下载文件等大流量动作。
2. 如何做弱网测试?
对于测试人员来说,要高效的进行弱网测试,就须要借助第三方工具搭建出各种弱网的环境,模仿一个弱网环境即可。
2.1 弱网工具介绍
目前在测试挪动设施上进行弱网络专项测试的计划次要有 3 种:
第一种:通过设施连贯到 PC 上进行弱网络测试,比方 Fiddler,Charles,Network Emulator Toolkit 等。以 Charles 为例,基本思路是在 PC 上装一个 Charles 网络抓包工具,而后再将设施的网络代理到 PC 上,通过在 PC 上的 Charles 设置延时来进行弱网络模仿。
如下图所示:关上设置界面
进行罕用的网速模仿设置
第二种:在专有服务器上构建弱网络 WiFi,挪动设施连贯该 WiFi 进行弱网络测试,相干的技术计划有 Facebook 的 ATC 和腾讯的 Wetest-WiFi。以(Augmented Traffic Control)ATC 为例,原理理论是利用了 Linux 流量控制系统,通过纯 Python 的网络库 pyroute2 调用 netlink 的 API 管制,它是搭建在 Linux 服务端的 Web 服务,通过挪动设施拜访 web 服务来抉择测试的网络环境。
如下图所示:关上 Web 网页进行网络测试环境抉择
第三种:以独立 app 的形式,为用户提供弱网络模仿服务。比方腾讯 wetest 服务平台推出的弱网测试工具 QNET,在 Android 设施上间接装置应用。
如下图所示:用户依据本人的测试需要自定义弱网参数模板
2.2 弱网工具的优缺点比照
第一种通过设施连贯到 PC 上进行弱网络测试的抓包工具 Charles、Fiddler。
长处:抓包工具 PC 端装置不便,反对网络协议抓包;依据本人的测试需要自定义弱网参数,配置更为灵便;反对多零碎平台。
毛病:挪动设施网络代理连贯 PC 时须要装置相应证书,较麻烦;Fiddler 不反对丢包、抖动等弱网环境。
第二种在专有服务器上构建弱网络 WiFi 的形式。
长处:在手机上通过 Web 界面就能够随时切换不同的网络环境;多个手机能够连贯到同一个 WIFI 下,相互之间模仿的网络环境各不影响。
毛病:搭建老本高,须要筹备反对 AP 模式且有驱动的网卡和 Linux 服务器,有专门的技术人员反对;切换到网络模仿界面改参数,而后再切回被测 APP,影响被测 APP 的操作连贯性。
第三种以独立 app 的形式提供弱网络模仿服务。
长处:装置简便,利用界面简洁易上手;反对用户依据本人的测试需要自定义弱网参数模板,有比拟好的灵活性。
毛病:目前只反对 Android 平台设施。
以上各计划都是比拟成熟的弱网测试工具的应用,可依据理论状况进行抉择。
下方是不同网络环境下速度的图片,测试时可参照设置: