弱网测试,你真的会做吗?

Posted 七月的小尾巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弱网测试,你真的会做吗?相关的知识,希望对你有一定的参考价值。

相信很多小伙伴在面试的时候,可能会被问到,如果一个功能要进行弱网测试的时候,你会怎么做呢?

一个功能需要做弱网测试,你会怎么做?

首先,我们要做的第一点就是需要分析这个功能为什么要做弱网测试,这样才会有针对性的去进行弱网测试。

通常一个功能在需要做弱网测试的时候,通常有两种原因。

  1. 原因一: 我们需要去看一下这个功能在客户端弱网状态下,所呈现的形式是怎么样的,是否会影响到我们的用户操作及体验。
  2. 原因二:也是比较重要的,就是我们这个功能他有网络相关的逻辑。

什么是网络相关的逻辑?

非常典型的功能,就是上传和下载。比如我们日常的看图片,或者看视频的时候,经常服务端就会有这样的逻辑,根据你客户端的状态,返回不同的分辨率或者视频,还有一种就是客户端可能在你发生网络切换的时候,会有对应的提示,这样的逻辑就是网络相关的逻辑。

怎么去做弱网测试呢?

如果你只是想要去查看一下弱网状态下的用户体验,那么方式有非常多,如 CharlesFiddler 等,(下方内容中会详细描述如何使用 charles模拟弱网环境)都可以设置弱网状态,我们只需要将当前所在的网络调慢即可。

但是如果说我们需要测试网络相关的逻辑,那就不是简单的调慢网速就可以了。我们需要根据我们的业务逻辑也进行具体的网络测试。

比如说我们的业务逻辑是,2G、3G、4G,WIFI、不同的网络下,给用户对应的分辨率。那么我们就需要在服务端不同的条件逻辑判断下,去测试不同的分辨率。

弱网测试的关注指标

各个网络功能测试

  1. 测试 WIFI/4G/3G/2G/无网 状态下的用户体验
  2. 高延时高丢包、假热点

在弱网测试过程中,我们可以借助 tc工具

通常我们是在应用服务器上使用tc工具模拟网络丢包。tc工具是工作在服务端的,是专门针对网卡来进行一些相关的策略的。比如当我们请求传到网卡的时候,其实这个时候请求还没有到程序里面,那我们可以在网卡出来的时候加长延时时间或者丢包。

关于如何模拟 延时、丢包,可以查看我的这篇博客。: 《Linux环境下模拟延时和丢包实现–tc》

无网络测试

测试断网状态下,各个功能是否会受到影响。通常程序会提供一个 无网络的 toast 提示或者兜底页。

网络切换测试

测试切换不同的网络环境,如 wifi切换至 4G、2G等,功能是否正常,弱网下,重复提交,事务的处理。

也需要校验弱网状态下的用户体验,如:

  1. 响应时间:安卓手机无响应报 ANR ,ios手机响应超时也会有提示
  2. 加载图标:loading、进度条

异常机制

同样也需要测试弱网状态下的 异常信息容错机制超时机制重连机制

利用 charles 模拟弱网环境

点击 proxy --> Throttle Settings, 打开网络设置页面。


首先勾选Enable Throttling,在Throttling preset中可以选择工具默认配置的一些网络状况。


配置参数解析

配置参数名称配置参数说明
bandwidth带宽,即上行、下行数据传输速度
utilisation带宽可用率,大部分modern是100%
round-trip latency第一个请求的时延,单位是毫秒
MTU最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
Releability指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
Stability连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。

如果测试中,我们只需要针对部分域名的请求进行网络控制的话,可以勾选 only for selected hosts选项,添加hosts。


进入添加hosts页面,输入指定的参数,不需要的话填*号,填写完成后点击ok


点击ok保存就可以了。

以上是关于弱网测试,你真的会做吗?的主要内容,如果未能解决你的问题,请参考以下文章

弱网测试,你真的会做吗?

基于LabVIEW的数字调制信号解调分析软件设计,有高人会做吗,求助啊!!!会做的我可以把分全给他

设计基础——引导页你会做吗?

专项测试之弱网测试

培训机构常见sql查询练习题目,你会做吗?

ios真机弱网测试