性能测试知多少 | 什么是性能测试?性能测试原理是什么?指标都有哪些?如何进行测试?
目录
1 性能测试基本理论
1.1 性能测试概念
1.1.1 什么是性能?
其中产品的性能可以理解为(内容来源于《百度百科》):
- 性能是指产品具有适合用户要求的物理、化学或技术性能,如强度、化学成份、纯度、功率、转速等。
- 而通常所说的产品性能,实际上是指产品的功能和质量两个方面。功能是构成竞争力的首要要素。用户购买某个产品,首先是购买它的功能,也就是实现其所需要的某种行为的能力。
- 质最是指产品能实现其功能的程度和在使用期内功能的保持性,质量可以定义为“实现功能的程度和持久性的度量”,使它在设计中便于参数化和赋值。
另一种理解(内容来源于《辞海》):
- 性能是用来描述机械、器材、物品所具有的速度、效率和能力的综合评价。
1.1.2 什么是性能测试?
以下内容来源于《百度百科》:
- 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
- 负载测试和压力测试都属于性能测试,两者可以结合进行。
- 通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
- 压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
以下内容来源于网络博客:
- 性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。
1.2 性能测试基本内容
- 性能测试
- 负载测试
- 压力测试
- 稳定性测试
1.2.1 性能测试
以下会引用网络上一个经典的示例:负重与跑步距离的关系。
- 表示在给定的基准环境下,目标系统执行服务最快速度或最好表现
- 比如:在无负重的情况下,跑100m需花多少时间?
1.2.2 负载测试
- 表示目标系统正常服务的前提下,目标系统所能承担的最大服务负荷数量。
- 比如:在负重20、30、50、100公斤…等情况下,跑100m需要多长时间?
1.2.3 压力测试
- 表示在给定负载的情况下,目标系统长时间提供正确的服务系统能力;
- 比如:在没有负重,或者负重为20公斤、50公斤…等情况下,能跑多长举例?
1.2.4 稳定性测试
- 给定负载的情况下,有外界或内部非正常干扰的,系统能提供稳定服务的能力;
- 比如:负重20公斤长跑时,不时的风、雨、坡等的出现,在这种情况下还能跑多远?
1.3 性能测试常用名词解释
名词 | 解释 |
---|---|
请求访问量 | 发送请求压力的数量 |
事务 | 衡量脚本中代码的执行所耗费的时间 |
场景 | 为模拟真实用户的业务处理过程的一系列动作的集合 |
加载时间 | 请求端发送预设的请求量所用时间长度 |
标准偏差 | 由数理统计概念得来,标准差越小说明波动越小,反之系统不稳定 |
事务平均响应时间 | 每一事务执行所用的时间,反应系统的性能走向 |
每秒处理事务 | 每秒处理事务的数量(通过、失败、停止),反应系统的任务负载 |
吞吐率 | 场景运行过程中服务器每秒的吞吐量 |
系统负载 | 计算机系统中进程队列的大小 |
CPU利用率 | 分用户态和空闲态 |
2 性能测试基本原理
2.1 BS架构性能测试模式
- 前后端分离
- BS架构
2.2 性能测试基本原理
3 性能主要指标
分类 | 指标 |
---|---|
性能指标 | 每秒处理事务 |
性能指标 | 事务平均响应时间 |
性能指标 | 最大响应时间 |
性能指标 | 最少响应时间 |
性能指标 | 最大并发数 |
负载测试 | 最大负载 |
压力测试 | 压力强度 |
压力测试 | 长时间运行最大负载 |
压力测试 | 压力持续时间 |
系统性能监控 | CPU负载 |
系统性能监控 | 内存使用率 |
系统性能监控 | 网络IO |
4 性能测试流程
5 主要工具
- LoadRunner
- Jmeter
- Nmon
- Locust
6 报告生成
参考https://www.cnblogs.com/georgexu/p/11224141.html
7 性能调优
参考https://www.cnblogs.com/georgexu/p/11224141.html
【备注:以上笔记来源于网络、部分博客、书籍等,仅用于个人学习,不做他用。如涉及版权请联系删除,谢谢】
【分享、共勉、共进、提升】更多、更全、更新的软件测试领域知识,请关注: