弱网测试的概念
在当今移动互联网盛行的时代,网络的形态除了有线连接,还有2G/3G/Edge/4G/Wifi/5G等多种网络连接方式。不同的协议、不同的制式、不同的速率,场景更加丰富。
不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分。按照移动的特性来说,一般应用低于2G速率的都属于弱网,弱信号的Wifi通常也会被纳入到弱网测试场景中。
如何做弱网测试
测试环境
弱网环境测试主要依赖于弱网环境的模拟。环境搭建方式一般有两种:软件方式和硬件方式。软件方式的成本低,主要就是通过模拟网络参数来配置弱网环境,通常来讲可以达到测试目的.一般可通过热点共享设置。在各类网络软件中,主要就是对带宽、丢包、延时等进行模拟弱网环境。如果要求更接近弱网环境,比如现在很多的专项测试,会更倾向于通过硬件方式来协助测试,但这种方式相对会麻烦很多,一般会由运维或者部署人员协助搭建。当然,对于有些无法模拟的情况,只能靠现实模拟测试,去电梯等信号弱的地方。
测试场景
有关上传数据,导致出现数据重复写入:登录,传文件,硬件传json等
有关下载数据,数据还没来得及返回,导致崩溃:加载页面,下载文件等
测试工具
浏览器弱网测试
打开浏览器单击右键点选检查,或直接F12。即可在PC端模拟弱网环境。
青花瓷(Charles)弱网测试
抓包功能
要设置成系统代理时,选择菜单中的 “Proxy” –> “电脑系统名称 Proxy” ,一般第一次安装请求你给它设置系统代理的权限已经设好。
有时候我们只想看到目标网站的相关信息。
方法一:在主界面的下部的 Filter 栏中填入需要过滤出来的关键字即可。
方法二:在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,Add一个项目,填入需要监控的协议,主机地址,端口号。这样就可以只抓目标网站的包了。
当我们要抓设备(手机)的包时,使手机和电脑在一个局域网内,把证书安装好。
接下来打开Charles的代理设置:Proxy->Proxy Settings,设置一下端口号,默认的是8888勾选Enable transparent HTTP proxying。
在手机上连接上和电脑在同一局域网的网络上设置http代理。然后在手机上随便打开一个网址,这时候Charles会弹出一个框让你确认是否代理。
注意:如果是https请求出现的乱码,这时候需要安装Charles的CA证书了,当然如果要抓取设备上的https请求,需要在设备上也安装一个证书。
弱网功能
很容易只需要在Proxy->Throttle Setting进行设置就行。
拦截与修改功能
选取需要拦截的地址,鼠标右击选择Breakpoints,可以在修改内容。
设备与PC之间的弱网测试
当测试目标有和某些硬件设备交互时,有时也需要利用相关手段让传输速度变慢。在windows下可以运用很多端口延迟,或者抓包。主要着重说下linux的端口延迟。
tc qdisc add dev wlan0 root netem delay 1s
这条命令给无线网卡wlan0发送的包设置了1秒网络延迟。
但是这样会影响所有通过该网卡发送的包。把这条延迟规则去掉:
tc qdisc del dev wlan0 root
可以使用的比较麻烦的方法附网页地址学习
https://www.linuxidc.com/Linux/2015-01/111187.htm
Fiddler弱网测试
以后再说
测试报告
以后再说