当前位置: 首页 > news >正文

性能测试、负载测试、压力测试、稳定性测试简单区分【超详细】

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快

性能测试是一个总称,可细分为性能测试、负载测试、压力测试、稳定性测试。

性能测试

以系统设计初期规划的性能指标为预期目标,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能瓶颈。

关键词提取理解

有性能指标,验证

性能测试目标

验证系统的性能指标,是否为初期规划的预期目标

客户指定相关性能指标,有性能相关要求,测试以这些指标为参数,进行测试,验证

运用场景:此类型的测试目前最常见。每个项目的性能点,都需要做性能测试。

负载测试

负载测试,又称为强度测试,是通过逐步增加系统负载,测试系统性能变化,并最终确定在满足系统性能指标的情况下,系统所能承受的最大负载量的测试。

关键词提取理解

负载是逐步增加的、在满足性能指标的前提下、发现最大负载量

负载测试目标

评估系统的性能指标,如:响应时间、事务处理效率等

确定并确保系统超出最大逾期工作量的情况下仍能正常运行

日常我们说的这个软件性能咋样,基本说的就是负载测试,因为我们考虑的是这个软件用起来流畅度,响应快不快、耗不耗资源等。

运用场景:此类型的测试目前运用得比较少。一般情况下,是以服务器资源安全临界值为界限的测试。如果要模拟某个应用在指定服务器上最大且安全的负载量,则属于负载测试。

压力测试

压力测试,对系统逐渐增加压力的测试,来获得系统能提供的最大服务级别的测试或者不能接受用户请求的性能点。

关键词提取理解

压力是逐步增加的,直到系统不能接受用户请求的性能点

通俗理解

让系统崩溃的压力点,去发现系统在什么情况下,应用程序的性能会变得不可接受。

压力测试可以细分为并发测试和大数据量测试:

并发测试:当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题。并发测试不是为了获取系统的性能指标,而是为了发现并发引发的问题,如:线程锁、内存泄漏、资源占用等

大数据量测试:包含独立数据量测试,主要是针对某些系统存储、传输、查询等业务进行大数据量测试,如测试系统存储能力,IO传输速率、读取速率、慢查询等

负载测试和压力测试之间的区别

负载测试用来评估系统的性能指标,而压力测试是去制造问题,然后去分析引起问题的原因

运用场景:此类型的测试目前运用得比较少。但对于大型的共享中心或者核心的应用,也会用到。

稳定性测试

稳定性测试,又称为疲劳强度测试,通常是采用系统稳定运行情况下的并发用户数,或者日常运行用户数,持续运行较长一段时间,保证达到系统疲劳强度需求的业务量。

关键词提取理解

日常运行用户数、运行时间长

稳定性测试目标

确定系统最大工作量强度性能的过程【负载量一般来说相比其它较小】

稳定性测试特点

是一种概率测试,即使系统通过了稳定性测试,也无法保证系统在运行的时候不出问题。【符合测试原则之:测试无法保证软件或系统没有问题】。采取的措施:尽量增加测试次数、延长测试时间、适当增加测试压力

运用场景:此类型的测试目前也最常见,针对需要长时间稳定运行的性能点,需要执行稳定性测试。往往在一个项目的性能测试过程中,会划分出优先级较高的性能点,做稳定性测试。

性能测试压力变化模型

随着单位时间流量的不断增长,被测系统的压力不断增大,服务器资源会不断被消耗,TPS值会因为这些因素而发生变化,而且符合一定的规律。性能测试压力变化模型如图中:

图片

a 点:性能期望值

b 点:高于期望,系统资源处于临界点

c 点:高于期望,拐点

d 点:超过负载,系统崩溃

由上述压力变化模型,将性能测试分成狭义的4种类型:

性能测试

a 点到 b 点之间的系统性能

负载测试

b 点到 c 点之间

压力测试

b 点到 d 点之间

稳定性测试

a 点到 b 点之间

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

相关文章:

  • Solr安装IK中文分词器
  • 【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
  • 使用PowerShell开启防火墙端口
  • 在C++中内存泄露的几种情况及解决内存泄露和指针越界有哪些方法?
  • leetcode 403周赛 包含所有1的最小矩形面积||「暴力」
  • 玄机——第七章 常见攻击事件分析--钓鱼邮件 wp
  • AI绘画Stable Diffusion 解锁精美壁纸创作:利用SD与LLM定制你的专属壁纸,AI副业变现指南!
  • 使用LabVIEW报告生成工具包时报错97
  • 解决pip默认安装位置在C盘方法
  • react apollo hooks
  • 如何在Docker容器中,修改MySQL密码
  • 解决mybastis-plus加入逻辑删除SQL语句自动拼接未删除的问题
  • Java数据结构面试题(一)
  • 联合查询(多表查询)
  • Nikto扫描器,扫描网站信息
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【node学习】协程
  • go语言学习初探(一)
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Linux中的硬链接与软链接
  • MD5加密原理解析及OC版原理实现
  • Node + FFmpeg 实现Canvas动画导出视频
  • 产品三维模型在线预览
  • 分布式任务队列Celery
  • 浮动相关
  • 力扣(LeetCode)56
  • 学习Vue.js的五个小例子
  • 移动端 h5开发相关内容总结(三)
  • 源码安装memcached和php memcache扩展
  • zabbix3.2监控linux磁盘IO
  • 阿里云服务器如何修改远程端口?
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 如何用纯 CSS 创作一个货车 loader
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • (07)Hive——窗口函数详解
  • (1)无线电失控保护(二)
  • (javascript)再说document.body.scrollTop的使用问题
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm高校实验室 毕业设计 800008
  • (三)c52学习之旅-点亮LED灯
  • (三)mysql_MYSQL(三)
  • (转)关于多人操作数据的处理策略
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .NET连接数据库方式
  • /3GB和/USERVA开关
  • :如何用SQL脚本保存存储过程返回的结果集
  • ?php echo ?,?php echo Hello world!;?
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [Angular] 笔记 8:list/detail 页面以及@Input