1、测试方法及工具
随着互联网的快速发展,越来越多的应用核心功能需要联网实现。现在的网络制式有2G、3G、4G、5G,还有越来越多的公众WiFi,不同的网络环境和网络制式的差异都会对用户使用APP造成一定的影响。弱网测试作为健壮性测试的重要部分,对于移动端测试必不可少。
弱网环境测试主要依赖于弱网环境的模拟。环境搭建方式一般有两种:软件方式和硬件方式。
1.1 什么样的网络属于弱网
小于或等于2G速率的都属于弱网,随着5G的到来,3G网络速率的降低,未来3G也会逐渐划入弱网的行列。
1.2 如何进行弱网测试
(1)SIM卡的网络切换,手机—设置—移动网络设置—网络类型选择。
(2)具体弱网场景,常见场景有:地铁、电梯、楼梯间、卫生间。
(3)使用无线网卡、路由器修改宽带速度模拟网络速度。
(4)使用软件进行网络代理,模拟不同的网络带宽、延时率、丢包率。
1.3 网络模拟常用工具
硬件方式
方法一:无线网卡+360免费WiFi软件
(1)电脑插入无线网卡。
(2)打开360免费WiFi软件。
(3)手机连接360免费WiFi的网络。
(4)在电脑上修改360免费WiFi下的上行速度和下行速度。
方法二:路由器修改上行和下行速度
(1) 路由器通过网线和电脑连接在同一网络下。
(2)手机上连接路由器的网络。
进入路由器的管理页面,进入网络设置修改网络速度,有的路由器只能修改速度,有的支持单独修改上行和下行速度。
软件方式
方法一:iPhone手机自带Network Link Conditioner
(1)开启开发者模式:iPhone手机连接Xcode或者连接PP助手打开实时桌面。
(2)进入开发者模式:设置—开发者模式—Network Link Conditioner。
(3)可以选择已经设置好的网络条件,也可以自定义。
配置参数:
in Bandwidth:下行带宽,即下行网络速度
In packet loss:下行丢包率
in delay:下行延迟,单位ms
out bandwidth :上行带宽
out packet loss :上行丢包率
out delay :上行延迟
DNS delay DNS:解析延迟
protocol :支持Any,IPV4、IPV6
interface :支持Any,WI-Fi,cellular(蜂窝网)
方法二:fiddler中设置上行和下行速度
(1)进入fiddler脚本Customize Rules。
(2)在OnBeforeRequest中修改上行和下行速度。
方法三:Charles中设置上行和下行速度
(1)Proxy—Throttle Settings。
(2)配置需要测试的参数。
配置参数:
Bandwidth:带宽,即上行、下行数据传输速度
utilisation :带宽可用率,大部分modern是100%
round-trip latency :第一个请求的时延,单位是ms
MTU :最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况
Releability :指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定
Stability :连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠
Only for selected hosts:可以指定域名拦截
具体网络设置参考:
⽅案选择:
我们会使⽤ charles 对于重复请求和资源⼤⼩以及静默时的流量进⾏检测,⽽且 charles本⾝还具有 mock 请求和 response 的功能。另外也会通过NetWork Master来做一些弱网的性能测试。
通过标准:
控制资源个数和资源⼤⼩,⽆重复请求,静默时尽量⽆流量。