软件测试体系学习及构建(22)测试专项丨性能测试基本理论
Posted NoamaNelson
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试体系学习及构建(22)测试专项丨性能测试基本理论相关的知识,希望对你有一定的参考价值。
(22)测试专项丨性能测试基本理论
- 1 什么是性能?
- 2 什么是性能测试?
- 3 都有哪些人关注性能?
- 4 性能测试基本内容
- 5 性能测试常用名词解释
- 6 性能测试基本原理
- 7 性能主要指标
- 8 性能测试流程
- 9 常用工具
- 10 报告生成
- 11 性能调优
1 什么是性能?
其中产品的性能可以理解为(内容来源于《百度百科》):
- 性能是指产品具有适合用户要求的物理、化学或技术性能,如强度、化学成份、纯度、功率、转速等。
- 而通常所说的产品性能,实际上是指产品的功能和质量两个方面。功能是构成竞争力的首要要素。用户购买某个产品,首先是购买它的功能,也就是实现其所需要的某种行为的能力。
- 质最是指产品能实现其功能的程度和在使用期内功能的保持性,质量可以定义为“实现功能的程度和持久性的度量”,使它在设计中便于参数化和赋值。
另一种理解(内容来源于《辞海》):
- 性能是用来描述机械、器材、物品所具有的速度、效率和能力的综合评价。
2 什么是性能测试?
以下内容来源于《百度百科》:
- 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
- 负载测试和压力测试都属于性能测试,两者可以结合进行。
- 通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
- 压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
以下内容来源于网络博客:
- 性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。
3 都有哪些人关注性能?
关注者 | 描述 |
---|---|
用户 | 通俗的讲会关注响应时间或者反应时间 |
测试 | 资源的使用情况,以及资源的可扩展性 |
开发 | 关注以上所有问题,同时关注内存泄漏、中间件、数据库死锁、服务器等 |
4 性能测试基本内容
- 性能测试
- 负载测试
- 压力测试
- 稳定性测试
4.1 性能测试
以下会引用网络上一个经典的示例:负重与跑步距离的关系。
- 表示在给定的基准环境下,目标系统执行服务最快速度或最好表现
- 比如:在无负重的情况下,跑100m需花多少时间?
4.2 负载测试
- 表示目标系统正常服务的前提下,目标系统所能承担的最大服务负荷数量。
- 比如:在负重20、30、50、100公斤…等情况下,跑100m需要多长时间?
4.3 压力测试
- 表示在给定负载的情况下,目标系统长时间提供正确的服务系统能力;
- 比如:在没有负重,或者负重为20公斤、50公斤…等情况下,能跑多长举例?
4.4 稳定性测试
- 给定负载的情况下,有外界或内部非正常干扰的,系统能提供稳定服务的能力;
- 比如:负重20公斤长跑时,不时的风、雨、坡等的出现,在这种情况下还能跑多远?
5 性能测试常用名词解释
名词 | 解释 |
---|---|
请求访问量 | 发送请求压力的数量 |
事务 | 衡量脚本中代码的执行所耗费的时间 |
场景 | 为模拟真实用户的业务处理过程的一系列动作的集合 |
加载时间 | 请求端发送预设的请求量所用时间长度 |
标准偏差 | 由数理统计概念得来,标准差越小说明波动越小,反之系统不稳定 |
事务平均响应时间 | 每一事务执行所用的时间,反应系统的性能走向 |
每秒处理事务 | 每秒处理事务的数量(通过、失败、停止),反应系统的任务负载 |
吞吐率 | 场景运行过程中服务器每秒的吞吐量 |
系统负载 | 计算机系统中进程队列的大小 |
CPU利用率 | 分用户态和空闲态 |
6 性能测试基本原理
6.1 BS架构性能测试模式
- 前后端分离
- BS架构
6.2 性能测试基本原理
7 性能主要指标
分类 | 指标 |
---|---|
性能指标 | 每秒处理事务 |
性能指标 | 事务平均响应时间 |
性能指标 | 最大响应时间 |
性能指标 | 最少响应时间 |
性能指标 | 最大并发数 |
负载测试 | 最大负载 |
压力测试 | 压力强度 |
压力测试 | 长时间运行最大负载 |
压力测试 | 压力持续时间 |
系统性能监控 | CPU负载 |
系统性能监控 | 内存使用率 |
系统性能监控 | 网络IO |
8 性能测试流程
9 常用工具
工具 | 官网 | 是否开源 | 说明 |
---|---|---|---|
LoadRunner | https://www.microfocus.com/en-us/products/loadrunner-professional/overview | 否 | 支持多种架构 |
Jmeter | https://jmeter.apache.org/ | 是 | 对Java支持好 |
Qaload | https://www.microfocus.com/en-us/home | 是 | 支持多种架构 |
Nmon | http://nmon.sourceforge.net/pmwiki.php | 否 | 性能监控工具 |
。。。。。 |
10 报告生成
参考https://www.cnblogs.com/georgexu/p/11224141.html
11 性能调优
参考https://www.cnblogs.com/georgexu/p/11224141.html
『全栈测试技术,分享,共勉,共进,提升』
【特别说明】:知识来源于网络、各种资料、书本、网站等,本文仅用于学习使用,不做他用,如果涉及版权问题,请联系博主删除,谢谢
以上是关于软件测试体系学习及构建(22)测试专项丨性能测试基本理论的主要内容,如果未能解决你的问题,请参考以下文章
软件测试体系学习及构建(26)Selenium使用丨WebDriverAPI常用操作
软件测试体系学习及构建(25)Selenium使用丨元素定位和函数调用
软件测试体系学习及构建(24)Selenium使用丨安装和注意事项