性能测试、负载测试、压力测试、稳定性测试简单区分


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

性能测试

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

关键词提取理解

有性能指标,验证

性能测试目标

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

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

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

负载测试

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

关键词提取理解

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

负载测试目标

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

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

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

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

压力测试

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

关键词提取理解

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

通俗理解

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

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

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

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

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

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

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

稳定性测试

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

关键词提取理解

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

稳定性测试目标

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

稳定性测试特点

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

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

性能测试压力变化模型

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

a 点:性能期望值

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

c 点:高于期望,拐点

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

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

性能测试

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

负载测试

b 点到 c 点之间

压力测试

b 点到 d 点之间

稳定性测试

a 点到 b 点之间

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
果冻人工智能5 小时前
OpenAI 是怎么“压力测试”大型语言模型的?
人工智能·语言模型·压力测试
霍格沃兹测试开发学社测试人社区8 小时前
提升软件测试报告的质量:Allure2中添加用例失败截图、日志、HTML块和视频的方法
软件测试·测试开发
幽兰的天空8 小时前
默语博主的推荐:探索技术世界的旅程
学习·程序人生·生活·美食·交友·美女·帅哥
hopetomorrow11 小时前
学习路之压力测试--jmeter安装教程
学习·jmeter·压力测试
行則独善其身11 小时前
计算机网络-VPN虚拟专用网络概述
程序人生
行則独善其身16 小时前
华为无线AC+AP组网实际应用小结
程序人生
霍格沃兹测试开发学社测试人社区17 小时前
数据驱动与并行策略:用 JUnit 5 让软件测试更高效
软件测试·测试开发·junit
霍格沃兹测试开发学社测试人社区17 小时前
软件测试丨探索 JUnit 5 中的参数化与调度执行:提升软件测试的效率与灵活性
软件测试·测试开发·junit
AI_小站1 天前
RAG 示例:使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答
人工智能·程序人生·langchain·kubernetes·llama·知识库·rag
互联网杂货铺1 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例