性能测试/负载测试/压力测试详解
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快做测试一年多来虽然平时的工作都能很好的完成但最近突然发现自己在关于测试的整体知识体系上面的了解很是欠缺所以在工作之余也做了一些测试方面的知识的补充。不足之处还请大家多多交流互相学习。现在看来虽然平时工作中所涉及虽然的是自动化测试但更多的是功能测试今天了解了一下性能测试。同时我也清楚的意识到对于测试工具而言会不会或者熟悉不熟悉是迟早的事只要你经常用但掌握测试的基础知识了解一些测试思想和观念更能让我们受益无穷。下面总结一下我所学习到的性能测试性能测试Performance Testing是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试。通过负载测试确定在各种工作负载下的系统的性能目标是测试当负载逐渐增加时系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点来获得系统能提供的最大服务级别的测试。负载测试Load Testing是模拟实际软件所承受的负载条件的系统负荷通过不断加载如逐渐增加模拟用户的数量或其他加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源CPU、内存等以检验系统的行为和特性以发现系统可能存在的性能瓶颈内存泄漏不能实时同步等问题负载测试更多的体现了一种方法或一种技术。压力测试stress testing在强负载大数据量、大量并发用户等下的测试查看应用系统在峰值使用情况下的操作行为从而有效地发现系统的某项功能隐患系统是否具有良好的容错能力和可恢复能力。压力测试可分为高负载下的长时间如24小时以上的稳定性压力测试和极限负载情况下导致系统奔溃的破坏性压力测试。三者的区别从测试的目的出发从用户的需求出发就比较容易区分性能测试、负载测试和压力测试了。性能测试是为了获得系统在某种特定的条件下包括特定的负载条件下的性能指标数据而负载测试、压力测试是为了发现软件系统中所存在的问题包括性能瓶颈、内存泄漏等。通过负载测试也是为了获得系统正常工作时所能承受的最大负载这时的负载测试就成为了容量测试。通过压力测试可以知道在什么极限情况下系统会奔溃、系统是否具有自我恢复性等但更多的是为了确定系统的稳定性。性能测试工具目前只是知道有这些工具后期在使用过程中在总结它们的使用方法(1) Apache Jmeter: 用户手册 Apache JMeter - Users Manual(2) Load Runner(3) QTP(Quick Test)(4) Web Polygraph性能测试不单单是熟悉测试工具更要注意的是其中的测试思想下面可以了解一下关于性能测试的三个观念精确和模糊i.e. 一辆汽车开100公里需要多少汽油做假设assumption下面有3个阶段的假设a. 做了假设却不知道自己做了假设有些人根据自己的切身体验来做测试然后写测试报告给别人看关键是你觉得自己的测试是正确的但并不是所有人都是处于你所处的环境做和你测试时做完全一样的事情所以测试出来的结果只会误导到别人。比如前面提到的那个耗油的问题有人的做法是我开100公里看看得出来多少就是多少。b. 做了过多的假设“当路面平坦一路绿灯风速5km/h,只有一名70kg的乘客时速稳定在70km/h良好驾驶习惯的情况下油耗是7.1L/100km.”这样可能很严谨但对于读你报告的读者这样的数据没有多大的意义。c. 做必要和合理的假设生活中有些时候是需要一些妥协和折衷的如果这些折衷是必要的和合理的。因为跳出来看我们的测试需要提供有价值的信息所以为了这样有价值的信息做出必要的合理的假设是可以接受的。宏观与微观这也是一个有趣的对立。在做性能测试特别是整个产品的性能测试的时候我们看到的是产品的核心功能和主要的大的功能模块比如数据库、web服务器、核心的daemon等等。在脑海里我们有一个架构图哪怕你没有把它画出来。所以有时候我们会想性能测试对于产品的视角是宏观的看大的组件而不是具体的细节的东西。果真是如此吗看看下面的例子1. 把daemon的log级别改为debug log_level从2改到5之后性能下降了差不多一半。2. 关掉一个cache选项3. 打开keepalive选项4. 打开DNS反向查询......上面都是些细枝末节的设置一个配置项而已藏在DB的某张表或者某个ini里面。但是改变之后得到的性能结果可能大不相同。这时候其实要不要考虑细枝末节主要是看他到底是否Critical。至于怎样的才是至关重要的这还需要在以后的工作中思考和总结。项目和任务性能测试本身肯定是一个任务无论对于被安排去做这个的人或者安排的人。但是它有时候也像一个项目对于去做这件事情的人。为什么呢首先你需要和很多的人打交道。产品经理或者客户获取需求设定目标。QA manager/lead讨论resource和schedule。包括需要的机器环境软件还有整个计划。开发人员查找问题和调优等。功能测试的owner 性能测试人员可能不是什么功能都很懂。AdminLab网络DB等等其次它是一个周期很长跨度很大的工作。特别是对于一个比较大的产品而言。你需要准备详细的测试设计包括目标、范围、可能的方法以及上面提到的资源和时间计划然后邀请很多人来评审这个计划接下来要准备工具、环境和测试数据。然后是执行记录分析结果。如果有问题还要反复的调整和regression。最后要整理报告回答疑问。说它是一个项目一来是因为上面的原因导致工作的复杂性还有一些原因是因为性能测试带有评测的性质因为你是在试图去度量、衡量或者评价一个东西而且带有比较绝对的结果。这样导致性能测试不可避免的要引入一些权威性的问题尽管你并不一定期望这样。这使得很多的东西就像一个其他项目一样有期望管理和良好的外部沟通和协调的需要。所以有时候更愿意把它作为一个小的项目来看待这样或许可以做得更全面。最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。

相关新闻

linux 查找类指令

linux 查找类指令

find指令将从指定目录及其各个子目录的内容中,将满足条件的文件或者目录显示在终端 基本语法: find [搜索范围] [选项]搜索范围,即指定在哪个目录下 选项:-name按照指定的文件名查找模式查找文件-user按照属于指定用户名查找所有文…

2026/7/5 6:47:32 阅读更多 →
第三章:开始使用 gRPC 和 Golang——深入 Protocol Buffers

第三章:开始使用 gRPC 和 Golang——深入 Protocol Buffers

在前两章中,我们认识了 gRPC 的跨语言优势和微服务架构的通信模式。从本章开始,我们将正式进入 gRPC 的核心技术细节——Protocol Buffers(简称 Protobuf)的使用。Protobuf 是 gRPC 的接口定义语言(IDL)和数据序列化协议,掌握它等于掌握了 gRPC 开发的一半。 本章将带你…

2026/5/17 11:10:42 阅读更多 →
杰理之进低功耗时IO按键概率没作用【篇】

杰理之进低功耗时IO按键概率没作用【篇】

同时开IO按键和触摸按键

2026/5/17 11:10:41 阅读更多 →

最新新闻

STM32F410RB与MC6470 IMU的高精度姿态控制实现

STM32F410RB与MC6470 IMU的高精度姿态控制实现

1. 项目背景与硬件选型解析在嵌入式系统开发中,精确的运动感知和控制能力是许多应用的核心需求。MC6470作为mCube推出的6自由度惯性测量单元(6DOF IMU),集成了三轴加速度计和三轴磁力计,能够提供完整的空间姿态数据。而STM32F410RB则是STMicr…

2026/7/5 7:34:11 阅读更多 →
MAX9744与PIC18F2455构建高效D类音频放大器方案

MAX9744与PIC18F2455构建高效D类音频放大器方案

1. 项目背景与核心组件解析在DIY音频设备改造和嵌入式音频系统开发中,功率放大器的选型直接影响最终音质表现。MAX9744作为一款高效D类音频功率放大器,搭配PIC18F2455微控制器的灵活控制能力,可以构建出性能优异且可编程的音频放大解决方案。…

2026/7/5 7:34:11 阅读更多 →
STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

STM32与DS28EC20 1-Wire EEPROM嵌入式存储方案实战

1. 项目背景与核心需求 在嵌入式系统开发中,持久化存储用户配置和偏好设置是一个经典需求。无论是工业控制设备、消费电子产品还是物联网终端,都需要在断电后仍能保留关键参数。传统方案如EEPROM或Flash存储各有局限——前者容量小、成本高,后…

2026/7/5 7:34:11 阅读更多 →
AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

AppScan 10.0.1 安装部署全攻略:从证书导入到环境修复的避坑指南

1. 项目概述:为什么AppScan的安装值得你认真对待如果你是一名安全工程师、渗透测试人员,或者正在负责公司应用系统的安全评估,那么IBM Security AppScan这个名字你一定不陌生。作为一款老牌且功能强大的Web应用动态安全测试(DAST&…

2026/7/5 7:32:10 阅读更多 →
STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

STM32L152RE与25CSM04 EEPROM的高速数据检索优化方案

1. 项目背景与核心需求在嵌入式系统开发中,数据检索的速度和精度往往成为系统性能的瓶颈。传统方案通常面临两个矛盾:要么使用低速但容量大的存储介质(如SD卡),要么选择高速但容量受限的片上Flash。25CSM04这款4Mb SPI…

2026/7/5 7:30:10 阅读更多 →
WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间

WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间

WindowsCleaner:彻底解决C盘爆红的终极清理工具,快速释放磁盘空间 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到Windows电…

2026/7/5 7:30:10 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻