备注:个人学习笔记整理,仅供测试同学学习,切莫转载商用,有错误或者更好的方案可以留言,一同进步!
参考学习:
- https://blog.csdn.net/qq_28351609/article/details/84568422
- https://www.cnblogs.com/sunshine-blog/p/12558871.html
- https://www.beihaiting.com/a/WKN/JYW/20121017/802.html
- https://blog.csdn.net/qq_28351609/article/details/84568422
一:为什么要进行弱网测试
弱网测试属于健壮性测试重要组成部分。
因为不是大多数人都有网速稳定的wifi,也有2/3/4G用户,而且移动端使用场景多变,比如在地铁,进电梯,去郊外等。(比如你在搭地铁,在碎片化的时间,你可能会看看app或者打一盘游戏),而且有些国外的app,网络环境相对落后。
按照移动的特性来说,一般应用低于2G速率的都属于弱网,也可以将3G划分为弱网
验证app在出现丢包、延时等异常网络下的处理机制,避免因体验差而导致用户流失,所以弱网测试是非常有必要的。
二:衡量网络性能好坏的指标
三:更多术语了解
网络参数会看到这些内容:上/下行宽带(kbps:千比特每秒)、上/下行丢包率(%)、上/下行延迟(ms)、DNS延迟(ms)
(1)上/下行宽带
宽带上行下行是指一般ADSL上网方式上行与下行速率。
ADSL全称是Asymmetric Digital Subscriber Line( 即非对称数字用户线路),也叫非对称数字用户环路。是一种新的数据传输方式。属于DSL技术的一种,是一种异步传输模式。
ADSL技术采用频分复用技术把普通的电话线分成了电话、上行和下行三个相对独立的信道,从而避免了相互之间的干扰。
上行带宽即上行速率:本地信息上传到网络的速率。
下行带宽即下行速率:网络信息下载到本地的速率。
上行速率不等于下行速率,在大多数情况下,下行带宽与上行带宽的比率可以达到10:1。
(为什么会有这种情况?宽带运营商限制用户的上行宽带,主要是因为用户的习惯影响的,用户习惯下载,浏览视频等,下行宽带使用较多,而上行使用较少(上传数据),为了上行资源不浪费,于是限制了)
(还有就是下载速度问题?我们平时所使用的宽带说多少M,都是指的下行宽带,比如我办理的是10M的宽带,下载速度只有1M/s左右,其实是因为宽带运行商对下行速度和Windows电脑上面下行速度的单位不一样,Windows电脑的单位是KBbs,而宽带运营上的单位是 Kbbs,1B=8b;比如你办理10M宽带,10Mbps=10240Kbps/8=1280KBps,所以你的最大的下载速度只有1280KBps,也就是只有1M/s左右的样子)
(2)上/下行丢包率
有时候打开网页特别慢,造成这种原因一是网站服务器问题,这个我们无能为力;二是我们自身网络问题,可能是线路、路由器、ADSL等问题,可以通过查看网络是否存在数据丢包或者网络延迟现象分析。
数据在网络上是以数据包为单位传输的,每包nK,由于种种原因,不可能百分百完成,碰到这种情况,网络会自动让双方的电脑根据协议来补包。如果你的线路好,速度快,包的损失会非常小,补包工作也容易完成,因此可以近似的将你的数据看做是无损传输。但是,如果你的线路较差,数据的损失量就会非常大,补包工作也不可能百分之百完成。在这种情况下,数据的传输就会出现空洞,造成丢包。
丢包率:1 - (指单位时间内接受到的数据包数 / 发送的总数据包数)
查看丢包率:ping(空格) 网址或者IP地址(空格)-t
如果出现请求超时这种,说明丢包了
1、如果PING外网掉包,而内网网关不掉。应该是局域网路由器有问题,就要检查本地路由器。
2、如果内外网都掉包,就检查自己系统。如TCP/IP设置、网卡有没有禁用等,自己系统没问题,然后再检查局域网线路、路由器、ADSL。
(3)上/下行延迟(ms)
有时候我们会说网络很卡,是由于网络在数据包发送和接受过程中,存在较大的网络延迟造成的。
ping一下DNS
ctrl+z
参考:
1-30ms:极快,几乎察觉不出有延迟
31-50ms:良好,没有明显的延迟情况
51-100ms:普通,能感觉出网络有明显延迟,稍有停顿
大于100ms:差,有卡顿,丢包并掉线现象
(4)DNS延迟(ms)
DNS是域名解析服务器,延迟就是你和这个服务器的连接速度, DNS的作用就是把网址解析成IP地址,因为电脑网络连接只能通过IP连接。
四:网络参数参考
五:弱网测试点
前面已经说过,网络条件复杂(WiFi,4G,3G,2G);而且目前三大运营商(移动、电信、联通),所提供的网络制式不太相同;而且用户使用场景(地铁,郊外,室内)也不一样。
所以对客户端的要求比较高,如果不做任何处理的话很可能会崩溃闪退,所以需要做容错处理(异常机制,缓存处理,重连机制,超时机制)
(容错处理:指软件运行时,能对由非正常因素引起的运行错误给出适当的处理或信息提示,使软件运行正常结束。)
简单来说:弱网测试包括弱网功能、无网络状态、网络切换、用户体验等测试情况
(1)弱网功能
非wifi环境下进行功能测试,用2G/3G/4G网络模拟高延时、高丢包的异常网络。关注页面响应时间和页面呈现是否完整一致
建议是将整体的功能测试用例在弱网下过一轮,同模块分不同网络条件测试
可能发现的问题:图片加载不出、页面排版混乱、响应时间长且没有异常提示
(2)无网络状态
断网下的测试。关注页面显示与交互,本地数据存储、断网下功能使用等
建议是将页面单独测试,页面的显示和页面间跳转显示,页面功能点击,无网络到有网络时页面恢复显示、网络恢复后数据上报是否正常
可能发现的问题:没有网络异常提示、没有提示重连、没有缺省样式、断网下请求一个完全本地数据的页面显示不正常、恢复网络后上报服务器的数据不正常(本地数据存储是否正确)
(3)网络切换
场景在图片里面有。关注是否有页面的crash以及显示错误、session是否一致、请求堆积处理等
(4)用户体验
响应时间、页面显示、异常提示、超时重连、是否会在弱网下进行应用更新、大流量操作等等
六;弱网测试方案
在移动设备进行弱网测试一般有两种方案:
1:Android设备连接到PC上,通过Fiddler,Charles,NET-Simulator等工具实现。
2:在专有服务器上构建弱网络Wi-Fi,移动设备连接该Wi-Fi进行弱网络测试,如Facebook的ATC和腾讯的Wetest-WiFi。
缺点:开销大、依赖PC端,功能不完善(如丢包,抖动)。
对于游测来说,以上不是很好的选择。可以使用qnet或者clusmy(工具另开章节整理了)