1、什么是弱网测试?
弱网测试是在网络环境不佳的情况下,对应用软件或系统进行的测试。这种测试主要模拟宽带、丢包、延时等弱网环境,以验证客户端的展示效果以及丢包、延时的处理机制。弱网测试属于健壮性测试的内容,目的是确保软件或系统在各种网络条件下都能稳定、可靠地运行。
具体来说,弱网测试的关注点主要包括:
-
网络环境模拟:通过模拟不同的网络环境,如2G、3G、4G、5G网络,以及调整网络参数(如上行丢包、下行丢包)来模拟弱网环境。
-
客户端表现:在弱网环境下,观察客户端的展示效果,包括是否出现异常(如闪动、崩溃等),加载的图标、文案、进度条等是否正常,以及加载异常时的显示(与断网区分)。
-
功能表现:测试在弱网环境下,软件或系统的核心功能(如登录、支付、游戏单局等)是否能正常运行,是否会出现导致游戏无法正常进行的UI、交互问题,以及是否有损害用户利益或可被用户额外获利的问题。
-
断线重连机制:验证客户端在断线后是否能自动重连,以及重连后的状态是否正确。断线重连机制需要合理设计,避免每次重连都返回到登录界面。
-
合理提示:在网络延时或中断时,客户端需要给出合理的提示,以便用户了解当前的网络状况。
弱网测试的目的是确保软件或系统在任何网络环境下都能表现自如,避免因网络问题导致用户体验不佳或用户流失。通过弱网测试,开发人员可以提前发现问题并进行有针对性的优化,提高软件或系统的健壮性和可靠性。
2、弱网测试中常用的网络参数有哪些?
-
带宽:
-
定义:带宽是指上行、下行数据传输速度,通常以bps(比特每秒)、kbps(千比特每秒)、Mbps(兆比特每秒)为单位。
-
示例:对于2G网络环境,上行带宽可能为20kbps。
-
-
丢包率:
-
定义:丢包率是指测试中所丢失数据包数量占所发送数据组的比率。
-
重要性:高丢包率可能导致网络延迟高、数据缺失、卡顿、网络异常等问题。
-
-
时延:
-
定义:时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。
-
组成部分:发送时延、传播时延、处理时延、排队时延。
-
示例:在模拟2G网络环境时,需要设置合理的时延来模拟实际的网络状况。
-
-
网络稳定性:
-
定义:网络稳定性反映了网络连接是否可靠和持久。
-
重要性:在弱网测试中,模拟不稳定的网络环境可以帮助发现软件或系统在网络波动时的表现。
-
-
连接可靠性:
-
定义:连接可靠性用于模拟网络不稳定的情况,如成功发送10kb消息的可能性。
-
重要性:通过模拟连接可靠性,可以测试软件或系统在网络不稳定时的错误处理和重连机制。
-
-
请求往返延迟:
-
定义:请求往返延迟测量客户端和远程服务器之间的第一次往返通信的毫秒延迟。
-
重要性:对于实时性要求较高的应用,如在线游戏、视频会议等,请求往返延迟是一个关键指标。
-
-
最大传输单元:
-
定义:MTU是指TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
-
重要性:MTU的设置会影响数据传输的效率和稳定性。
-
3、如何模拟网络丢包?
模拟网络丢包可以通过多种方式实现,其中一种是使用Linux系统中的TC(Traffic Control)命令。例如,使用以下命令可以将eth0网卡的传输设置为随机丢掉1%的数据包:
tc qdisc add dev eth0 root netem loss 1%
同时,也可以设置丢包的成功率,如:
tc qdisc add dev eth0 root netem loss 1% 30%
这个命令将eth0网卡的传输设置为随机丢掉1%的数据包,但成功率为30%,意味着大约只有30%的情况下会真正发生丢包。
4、弱网测试中常用的测试工具:
弱网测试中常用的测试工具有多种,包括但不限于以下几种:
-
QNET:腾讯推出的App弱网测试工具,适用于安卓系统,支持自动化弱网测试,自带真实的全球网络和弱网场景。
-
Fiddler:PC端安装的抓包工具,作为代理服务器,可以设置延迟参数模拟不同的网络情况,但只能模拟延迟,不支持丢包、带宽等配置。
-
Charles:与Fiddler类似的抓包工具,但支持延迟、丢包、带宽等弱网配置,但弱网配置项只支持HTTP/HTTPS。
-
Clumsy:专门针对弱网测试的工具,PC端安装,作为代理服务器,支持延迟、丢包、带宽等弱网配置,使用较简单。
-
WANem:广域网模拟器,支持从光盘启动或运行在虚拟机上,也可以直接刷到物理设备上。
-
Network Link Conditioner:iOS自带的弱网测试工具,也可以在MacBook中使用。
5、弱网测试和性能测试的区别:
-
测试目标:
-
弱网测试:主要测试软件在网络连接不稳定或网络带宽不足的情况下的表现。
-
性能测试:主要测试软件在正常网络环境下的响应速度、吞吐量、并发量等方面的表现。
-
-
测试方法:
-
弱网测试:通过模拟网络连接不稳定或网络带宽不足的情况来测试软件的表现。
-
性能测试:通过模拟用户的实际操作来测试软件的响应速度、吞吐量、并发量等方面的表现。
-
-
测试环境:
-
弱网测试:侧重于模拟各种网络问题,如丢包、延迟等。
-
性能测试:更关注于系统或软件的运行效率和资源消耗情况。
-
-
关注点:
-
弱网测试:更关注软件在网络不佳时的稳定性和用户体验。
-
性能测试:更关注软件在正常运行时的性能指标和瓶颈。
-
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取