弱网测试探索

一、背景

随着网络技术的不断发展,Wi-Fi、4G甚至5G也已经开始普及,但是移动设备的网络环境复杂,易出现弱网环境,如骑手配送出入各种高楼之间、楼梯间、电梯、停车场、通勤地铁、高铁隧道、偏僻的景区、晚上wifi使用高峰期等,优化弱网体验始终是业务的重要诉求,也是一个很重要的测试方向。

 

二、弱网定义

弱网是个相对性的概念,3G时代2G算是弱网,4G时代3G也可以算是弱网。常用的衡量网络质量的指标有:

  • 带宽:带宽指的是单位时间内的数据传输量,带宽越大,单位时间传输的数据量越大,数据的传输速率越高。

  • 延时:报文从进入网络到最后离开网络所需要的时间,一般ping值越低,网速越快,延时越低;反之,延时过高将导致API数据迟迟不得返回,最终加长应用的页面加载时间,影响用户的使用体验。

  • 抖动:抖动和延时有相对密切的关系,但抖动主要指的是在网络上连续传输的数据包具有不同的延时,抖动过高将导致数据丢包率增加和网络阻塞严重。

  • 丢包:丢包指的是数据传输过程中,数据包的数据无法透过网络达到目的地,出现丢包是正常的现象,但如果丢包率过高,会严重数据的传输质量,造成数据的不完整。

弱网测试就可以针对以上这些指标进行模拟。

三、弱网测试的目的

  • 提高不同网络场景下的用户体验

使用过程中,弱网的高延迟和高丢包,在实时性要求非常高的场景,容易损失用户体验。

  • 验证应用在不同网络场景下表现是否符合预期,会不会触发未知的系统bug

在日常需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境较为恶劣。而服务面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug。

具体地,弱网测试最重要的四个目的:

  1. 保证方案数据的一致性和准确性。例如:网络状况比较差时,不能发生方案内的数据丢失或者数据异常

  2. 保证界面显示的正确性。例如:加载方案时,页面的加载可以一直在刷加载动画, 但是白屏或者黑屏是不好的用户体验

  3. 保证请求不发生堆积,导致数据错乱。例如:弱网情况下,商家用户频繁触发充值,导致请求堆积,金额被扣但充值实际未到账,或被扣金额只有一笔,但实际充值到账多于预期的情况,涉及公司资损

  4. 保障异常网络状态下各类处理机制。例如:网络不稳定时,给与合理提示时的用户体验,对比无提示页面显示异常时的用户体验

四、弱网测试的关注点

  1. 用户体验:响应时间、页面呈现、超时文案、超时重连机制、安全及大流量风险

    1. 页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间、首屏时间等。

    2. 页面呈现是否完全一致。

    3. 超时文案是否符合定义,异常信息是否显示正常。

    4. 是否有超时重连。

    5. 安全角度:是否会发生DNS劫持、登陆IP更换频率、单点登录异常等。

    6. 大流量事件风险:是否会在弱网下进行更新apk包、下载文件大流量动作。

  2. 弱网测试:功能在高丢包高延时下的实现等

  3. 无网状态:断网功能、本地数据存储

  4. 网络切换:wifi-有线-无网及之间切换。包括:wifi-2G/3G/4G、wifi-无网、2G/3G/4G-wifi、2G/3G/4G-无网、无网-2G/3G/4G、无网-wifi等等

五、如何进行弱网测试

  1. SIM卡的网络切换:3G、4G卡都可以设置关闭3G/4G,只走2G网络。

  2. 具体弱网场景测试,包括高楼之间、楼梯间、电梯、停车场、通勤地铁、高铁隧道、偏僻的景区、晚上wifi使用高峰期等。

  3. 使用虚拟机模拟网络速度,如:树莓派搭建的弱网测试仪。

  4. 使用软件进行网络代理,搭建不同的网络带宽、延时率、丢包率。

六、弱网测试常用工具

通过设备连接到PC上进行弱网络测试,比如fiddler,Charles,NET,Clumsy,WANem等

在专有服务器上构建弱网络WiFi,移动设备连接该WiFi进行弱网络测试,相关的技术方案有ATC、WANem等

以独立 app 的方式,为用户提供弱网络模拟服务。比如QNET,在Android设备上直接安装使用

工具名称

描述

优缺点

使用链接

fiddler

抓包工具,PC 端安装,作为代理服务器,设置延迟参数,模拟不同的网络情况

只能模拟延迟,如丢包、带宽等等是无法支持

Fiddler

Charles

抓包工具,PC端安装,作为代理服务器,可以支持延迟、丢包、带宽等弱网配置

弱网配置项只支持HTTP/HTTPS

Charles

NEWT

微软早年推出的弱网测试工具,PC 端安装,作为代理服务器,支持延迟、丢包、带宽等弱网配置

在win10上按照配置步骤配置后未生效,后续未再尝试

NEWT

Clumsy

专门针对弱网测试的工具,PC 端安装,作为代理服务器,支持延迟、丢包、带宽等弱网配置

对比的这几款软件中使用最简单的软件

Clumsy

ATC

Facebook推出,需要部署在 Linux 系统上,移动端设备通过浏览器访问就可以切换不同的网络环境,还可以同时支持多台设备连接

环境部署较为复杂

ATC

WANem

广域网模拟器,支持从光盘启动,可以运行于虚拟机上,也可以直接刷到物理设备上

虚拟机部署不支持上下行网络设置

WANem

QNET

腾讯推出app,自动化弱网测试,支持adb命令驱动,用户可以编写脚本,实现自动化弱网测试,自带真实的全球网络和弱网场景

仅适用于安卓

QNET

简单使用推荐使用Clumsy,环境部署简单,使用门槛低;要模拟完全真实环境推荐WANem,直接刷到交换机上;安卓app推荐使用QNET

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...