网络测试

编程知识 更新时间:2023-04-30 00:29:23

备注:个人学习笔记整理,仅供朋友学习,有错误或者更好的方案可以留言,一同进步!

  • 为什么要进行弱网测试
  • 衡量网络性能好坏的指标
  • 更多术语了解
  • 网络参数参考
  • 弱网测试点
  • 弱网测试方案

 

一:为什么要进行弱网测试

弱网测试属于健壮性测试重要组成部分。

因为不是大多数人都有网速稳定的wifi,也有2/3/4G用户,而且移动端使用场景多变,比如在地铁,进电梯,去郊外等。(比如你在搭地铁,在碎片化的时间,你可能会看看应用或者打一盘游戏),而且有些国外的app,网络环境相对落后。

按照移动的特性来说,一般低于2G速率的都属于弱网,随着5G的普及,3G也逐渐划分为弱网。

验证app在出现丢包、延时等异常网络下的处理机制,避免因体验差而导致用户流失,所以弱网测试是非常有必要的。

 

 

二:衡量网络性能好坏的指标

  • 带宽(吞吐量):单位时间内传输的数据量,单位通常是:每秒比特数:bps。带宽反映了网络的传输能力,越大越好

 

 

平时说的下载速度单位是Mb/s,它们之间的换算关系是8mbps=1Mb/s。

1M带宽即指1Mbps=1000Kbps=1000/8KBps=125KBps;

因此1M的带宽下载的速度一般不会超过125KB每秒

 

 

 

  • 丢包:数据丢包个数=发送的数据包数-接收的数据包数。丢包反映了网络可靠性,越小越好
  • 时延:数据包从发送开始到接收到该数据,所耗费的时间,单位通常是ms(毫秒)。时延反映了网络的速度,越小越好
  • 抖动:指时延的变化,即两个数据包时延的差值。抖动反映了网络的稳定性,越小越好
  • 乱序:指接收到的数据包顺序和发送顺序不一致的次数。乱序反映了网络的稳定性,越小越好。当乱序比较严重的时候,丢包也会比较严重,所以一般都以丢包指标为主,忽略乱序指标。

 

 

 

三:更多术语了解

网络参数会看到这些内容:上/下行宽带(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连接。

 

 

 

四:网络参数参考

 

 

 

 

五:网络测试点

(1)网络正常下

  • 功能正常可用、页面数据正常
  • 切后台、杀进程、锁屏、来电(如播放音频)

 

 

(2)无网络状态

断网下的测试。关注页面显示与交互,本地数据存储、断网下功能使用等

建议是将页面单独测试,页面的显示和跳转,页面功能点击,无网络到有网络时页面恢复显示、网络恢复后数据上报是否正常

问题

  • 没有网络异常提示(测app是使用toast)
  • 没有缺省样式
  • 没有提示重连(看开发策略,比如蚂蚁断线后会有断线重连的loading锁屏)
  • 断网下请求一个完全本地数据的页面显示不正常
  • 重连后功能不能使用或上传服务器的数据有问题(本地数据存储是否正确)(app出现断网下点了某功能,重连后无法使用)(手游出现断线前使用某功能,重连后由于空值报错)

 

 

(3)网络切换

场景在图片里面有。关注是否有页面的crash以及显示错误、session是否一致、请求堆积处理等

网络切换,超时时,关注数据的加载状态,超时可能出现ANR(application not responding)(无响应)  和 crash(闪退)

 

(4)弱网测试

前面已经说过,网络条件复杂(WiFi,2/3/4/5G);而且目前三大运营商(移动、电信、联通),所提供的网络制式不太相同;而且用户使用场景(地铁,郊外,室内)也不一样。

所以对客户端的要求比较高,如果不做任何处理的话很可能会崩溃闪退,所以需要做容错处理(异常机制,缓存处理,重连机制,超时机制)

  • 异常机制:网络异常,没有正常收到服务端数据,需要进行容错处理,不然可能出现奔溃、闪退。

(容错处理:指软件运行时,能对由非正常因素引起的运行错误给出适当的处理或信息提示,使软件运行正常结束。)

  • 超时机制:网络加载要时间,在加载过程中如果你看到菊花或者进度条,起码还有个期盼,比空白页面好多了,但是服务端一直没返回,时间过长用户的耐心也会消磨殆尽。一般用户所能忍受的最佳响应时间是2s,一般情况下超时时间设置为5s,不过这不是一定的,在2G下,5s就太短了(网络慢都还没加载好),但是在4G情况下,5s就相对长了点(网络快),具体根据网络制式来设置超时时间。
  • 重连机制:这个机制看需求吧,比如LOL就有
  • 缓存机制:这个机制看需求吧,比如新闻,页面显示是之前加载过的内容就可以继续浏览

 

 

简单来说:弱网测试包括弱网功能、网络切换、用户体验等测试情况

(1)弱网功能

  • 非wifi环境下进行功能测试,用2G/3G/4G网络模拟高延时、高丢包的异常网络。关注页面响应时间和页面呈现是否完整一致
  • 建议是将整体的功能测试用例在弱网下过一轮,同模块分不同网络条件测试
  • 可能发现的问题:图片加载不出、页面排版混乱、响应时间长且没有异常提示
  • 用户登录要下载数据,下载过程中取消或者杀进程,再次登录有可能出现问题-在下载过程中,下载失败后未进行数据回滚,重新下载出现数据重复
  • 弱网下,请求的数据返回时间长,等待过程中,操作页面的控件很容易出现问题-这些控件依赖数据,在数据加载过程中,设置页面对外暴露的控件为“不可操作”,当数据加载完再释放;也可以使用loading锁屏
  • 断网后,是否自动重发请求(如果有,可以询问自动重发的请求频率)-断网重连后,是否堆积网络请求(比如进行1次支付操作,断网后堆积多个支付请求,恢复网络后因为堆积多个支付请求,是否完成多次支付)

(2)用户体验

  • 响应时间长,是否有loading 或者进度条
  • 某操作响应时间-在弱网下loading超5s,用户很容易杀进程
  • UI的友好度
  • 超时界面是否友好
  • 断线后是否有重连机制
  • 是否会在弱网下进行应用更新、大流量操作等

 

 

哪些是弱网的测试点???

分析游戏,找出游戏中和网络交互有关的关键点。

1)主流程,如登录、加载进入游戏、游戏中操作(领取奖励、招募、聊天)

2)涉及支付购买,如购买钻石,充值(最容易掉单的环节出现在支付成功后服务器向客户端发送成功信息,但用户网络问题丢包,这样用户钱给了但是没收到道具)

概念:掉单一定是资金扣除但是交易失败

3)涉及领取奖励

4)交互功能,如实时对战

 

 

六:测试方法

(1)组合场景法

设置一种网络模式,执行玩家常见的游戏场景。配合测试点,采用断网、切换网络、弱网等操作,观察是否符合预期。

优缺点:

1)方便,发现缺陷效率高,适合实时对战类的游戏场景。

 

 

 

 

六;弱网测试方案

在移动设备进行弱网测试一般有两种方案:

1:Android设备连接到PC上,通过Fiddler,Charles,NET-Simulator等工具实现。

基本思路是在PC上装一个Fiddler网络抓包工具,然后再将Android设备的网络代理到PC上,通过在PC上的Fiddler在设置延时来进行弱网络模拟

2:在专有服务器上构建弱网络Wi-Fi,移动设备连接该Wi-Fi进行弱网络测试,如Facebook的开源工具ATC(在linux环境下创建热点)和腾讯的Wetest-WiFi。

缺点:开销大、依赖PC端,功能不完善(如丢包,抖动)。

3:苹果自带网速模拟工具network link conditioner,要在Xcode环境下激活手机设置中才会显示开发者选项

 

对于游测来说,以上不是很好的选择。可以使用qnet或者clusmy

 

更多推荐

网络测试

本文发布于:2023-04-22 07:45:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/0866adaf596c6fc4e44b7a4376c759fb.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网络测试

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 95394文章数
  • 24060阅读数
  • 0评论数