软件测试之弱网测试
创作时间:
作者:
@小白创作中心
软件测试之弱网测试
引用
CSDN
1.
https://m.blog.csdn.net/weixin_46232820/article/details/144452482
弱网测试是在网络环境不佳(如网络带宽低、延迟高、丢包严重等)的情况下,对应用软件或系统进行的测试。其目的是验证软件或系统在这种不稳定网络环境中的性能、稳定性和可靠性,确保用户在各种网络条件下都能获得良好的使用体验。
一.弱网测试的简要介绍
弱网测试是在网络环境不佳(如网络带宽低、延迟高、丢包严重等)的情况下,对应用软件或系统进行的测试。
其目的是验证软件或系统在这种不稳定网络环境中的性能、稳定性和可靠性,确保用户在各种网络条件下都能获得良好的使用体验。
主要测试场景:
- 高流量事件:音视频交互、大文件上传等
- 高实时性服务:在线游戏、实时交易平台
主要测试阶段: - 功能测试之后:在软件或系统的基本功能得到验证之后,进行弱网测试可以确保软件或系统在各种网络条件下都能正常运行。
- 性能测试之前:在性能测试之前进行弱网测试可以发现并解决与网络相关的问题,确保在性能测试时不会因为网络问题而影响测试结果。
- 回归测试阶段:在每次版本更新或功能修改后,进行弱网测试可以确保新引入的功能或修改没有引入与网络相关的问题。
- 发布前:在软件或系统发布前进行弱网测试是最后一道防线,可以确保软件或系统在实际部署到用户环境中时能够稳定运行。
二.弱网测试的基本指标
- 1.上下行带宽
定义:指网络传输数据的速率,通常用Mbps或Kbps表示。
意义:带宽反映了网络的传输能力,是评估网络性能的重要指标。在弱网测试中,带宽的限制会直接影响数据的传输速度和效率。 - 2.丢包
定义:数据丢包个数等于发送的数据包数减去接收的数据包数,通常用丢包率来表示。
意义:丢包反映了网络的可靠性。在弱网环境下,由于网络不稳定或信号弱,数据包在传输过程中可能会丢失,导致数据不完整或传输失败。 - 3.时延
定义:数据包从发送开始到接收到该数据所耗费的时间,单位通常是毫秒(ms)。
意义:时延反映了网络的速度。在弱网测试中,时延的增加会导致用户感受到的网络延迟和卡顿。 - 4.抖动
定义:指时延的变化,即两个数据包时延的差值。
意义:抖动反映了网络的稳定性。在弱网环境下,由于网络波动或不稳定,时延可能会发生变化,导致用户感受到的网络速度不稳定。 - 5.乱序
定义:指接收到的数据包顺序和发送顺序不一致的次数。
意义:乱序反映了网络的稳定性。当乱序比较严重时,可能会导致数据包的丢失或重传,从而影响网络的性能和稳定性。然而,在实际测试中,由于乱序通常与丢包相伴而生,且乱序对网络性能的影响相对较小,因此一般会以丢包指标为主,忽略乱序指标。
不同网络的参考配置参数:
三.弱网测试的基本方法
1.实地测试
实地测试是通过在实际的网络环境中进行测试,以真实反映应用程序在弱网条件下的表现。
常见的实地测试场景包括:
- 电梯、楼梯间等信号较弱的地方。
- 地下车库、地铁等信号屏蔽严重的地方。
实地测试的优点是能够直接反映应用程序在实际使用中的表现,但其缺点是受限于工作环境等客观因素,可能无法全面覆盖所有弱网场景。
2.工具模拟
由于实地测试的局限性,使用工具模拟弱网环境成为了一种更为常见和灵活的测试方法。以下是一些常用的弱网模拟工具及其使用方法。
抓包工具:(适用于PC端和移动端) - Fiddler:作为代理服务器,设置延迟参数,模拟不同的网络情况,但主要支持延迟模拟。(应用层的延时模拟)
- Charles:作为代理服务器,支持延迟、丢包、带宽等弱网配置,但弱网配置项只支持HTTP/HTTPS。(网络层的丢包、延时模拟)
弱网测试工具:(适用于PC端) - Clumsy:专门针对弱网测试的工具,支持延迟、丢包、带宽等弱网配置。(网络层的丢包、延时模拟)
- Network Emulator Toolkit:专门针对弱网测试的工具,支持延迟、丢包、带宽等弱网配置。(链路层的丢包、延时模拟)
浏览器开发者工具:(适用于PC端和移动端网页) - DevTools:适用于浏览器网页的弱网模拟
交换机路由器:(适用于PC端和移动端) - 通过登录路由器内置的网址进行网速调整
Qnet弱网测试工具:(适用于Android设备) - 腾讯WeTest推出的一款针对移动应用的弱网测试工具
具体使用方法: - 1.Fiddler:
- 1.启动fiddler找到Rules—Customize Rules点击打开Fiddler ScriptEditor
- 2.在Fiddler script里搜索delay关键字,找到设置模拟延迟的代码,设置网络请求和响应延迟的时间(MS),点击保存
- 3.在Fiddler→Rules→Performance,勾选Simulate Modem Speed启动生效
设置参数:
request-trickle-delay 为上行延迟的时间,即请求延迟的时间;
response-trickle-delay 为下行延迟的时间,即响应延迟的时间; - 2.Charles:
- 1.点击Proxy-Throttle Settings,进入到配置页面
- 2.设置需要模拟限速的域名,不设置默认对所有网址都生效
勾选Enable Throttling-Only for selected hosts
点击add添加,选择协议、域名、端口号 - 3.设置弱网参数,保存
设置参数:
Throttle preset:截流预制(Charles提供了一些可选择的网络类型)
Bandwidth:带宽
Download:下载的速率
Upload:上传的速率
Utilisation:利用率。宽带利用率,默认100%
Round-trip Latency:请求往返延时。客户端向服务端发送请求到服务端返回响应给客户端的总时间
MTU:最大传输单元。数据传输时,tcp数据包的最大尺寸。一般采用默认即可
Reliability:可靠性。数据传输过程中,丢包的百分比
Stability:稳定性。数据传输过程中,网络抖动造成的不稳定性
unstable quality range:不稳定质量范围 - 3.Clumsy
1.可设置上行/下行限制,生效的ip/网段
2.设置弱网参数(提供了一些可选择的网络类型))
3.点击start生效
设置参数:
Lag:延迟,把请求缓存一段时间再发出,可以用来模拟网络延迟,最大3000ms
Drop:丢包,随机丢弃一些请求
Throttle:节流,把一小段时间内的请求拦截下来,再在同一时间发出去
Duplicate:重发,随机复制一些请求,与原请求一起发送
OutOfOrder:乱序,打乱请求的发送顺序
Tamper:篡改,随机修改小部分请求的内容 - 4.Network Emulator Toolkit
- 1.新建VirtualChannel,点击Configuration->New Channel;
- 2.再建一个过滤器Filter,Configuration->New Filter
All Network 是指所有网络;
IPV4、IPV6(本地IP(Local IP),或者远程IP(Remote IP)及子网掩码(IP Mask));
可以指定本地端口(Local Port)或远程端口(Remote Port)大小范围;
协议(Protocol),针对TCP\UDP协议;
可以选择网卡适配器(Adapaters),对适配器增删改; - 3.新建连接Link,Configration->New Link
- 4.设置UpStream和DownStream
- 5.保存并应用,点击start生效
设置参数:
loss:丢包(No Loss/Periodic loss/Random loss/Burst loss/G-E loss)
error:数据错误(网络传输过程中,包中一个或者多个字节出现Error)(No Error /Random error/G-E error)
Latency:延时
BW&Queue:带宽和队列
BgTraffic:背景流,有延时效果
Recorder:接收顺序
Disconnection:模拟周期性断开 - 5.浏览器开发者工具(chrome/edge)
- 1.打开Chrome开发工具
- 2.选择Network-No throttling下拉按钮
- 3.选择Add按钮,进入到自定义页面,点击Add custom profile增加配置文件按钮
- 4.设置弱网参数,保存
设置参数:
Download:下载速率
Upload中:上传速率
Latency:延迟时间
Packet Loss:丢包率
Packet Queue Length:数据包队列长度
Packet Reodering:乱序
四.弱网测试的一些关注点
弱网测试更关注软件或系统在网络不稳定时的行为,如数据重传、错误处理、用户反馈等,以确保软件或系统在各种网络条件下都能正常运行。
五.弱网测试的主要流程
- 1.制定测试指标和测试计划,编写测试用例
确定测试的重点区域,如视频播放、实时通信、文件上传下载、支付交易等
设定明确的测试指标,如加载时间、失败率、重试机制触发频率等 - 2.搭建环境,选择测试工具,进行测试
- 3.记录测试数据和日志信息:
测试表现:包括客户端表现、功能表现等
指标数据:如响应时间、数据丢失情况、重传次数等 - 4.分析结果,进行优化:
对测试数据进行深入分析,找出应用在网络波动下的问题和瓶颈
比如调整网络参数、优化代码、调整服务器配置等
热门推荐
北京:保障性租赁房解决青年租房难,北京租赁住房如何提高配套设施?
优化车内组织结构,提升驾驶舒适性和驾驶安全性的方案
7种沙发材质清洁保养全攻略:从工具准备到日常维护一文掌握
鼻甲肥大:原因、治疗方法及日常养护全解析
市场租金暴涨有部门监管吗
房东擅自涨租金,合法权益这样维护!
汉殇帝刘隆为何被称为“百日皇帝”?他创下了哪两项记录?
糖尿病药物治疗:如何选择适合自己的降糖药?
白板文化成就了英伟达,黄仁勋心中藏着一个老师梦
自然卷发发型指南:从短发到长发的完美选择
更年期的先兆是什么
该如何调养更年期综合征
龙和羊配婚姻好不好?深度解析龙羊组合婚恋运势
麦粒肿的形成原因是什么?了解其背后的机制与影响因素
吃臭豆腐有什么好处
甾字读音、含义及在化学领域的应用价值探究
婴幼儿湿疹的科学治疗与护理,新手妈妈的必修课程
国产黑科技武器震撼亮相!电磁枪究竟有多牛?
新股民购买股票的注意事项有哪些?这些注意事项对投资收益有何影响?
量子计算的机遇挑战与未来前景
夜间停车1元起!西安这波操作暖心又硬核,网友:建议多普及!
美国留学需要带哪些被褥和床上用品
要不要给实习生安排关键岗位的工作?
【每周知一典】黄帝内经,不仅仅是一部医学典籍
牛油果核水培种植方法
酸奶能加热再喝吗?专家解读酸奶饮用指南
清风徐来,水波不兴。
襄阳周边自驾游小众景点推荐,7个襄阳周边乡村农场好去处攻略
火龙果吃多了会导致尿液发红吗
面对孩子的社交恐惧,家长如何提供心理支持与社交技能培训