目录
- 1. 什么是性能测试
- 1.1 生活中遇到的软件性能问题
- 1.2 性能测试定义
- 1.3 性能测试和功能测试的区别
- 1.4 软件性能好 / 坏的表现
- 1.5 影响软件性能的因素
- 2. 为什么要做性能测试
- 3. 性能测试常见术语以及衡量指标(重点)
- 并发
- 用户数
- 响应时间
- 用户响应时间
- 请求响应时间
- 影响软件响应时间的因素
- 事务响应时间
- 每秒事务通过数
- 点击量
- 点击率
- 吞吐量
- 吞吐率
- 思考时间
- 资源利用率
- 【面试】做性能测试的时候都关注哪些指标
- 4. 性能测试分类
- 基准性能测试
- 负载性能测试
- 压力性能测试
- 可靠性测试
- 5. 性能测试的执行流程
1. 什么是性能测试
性能测试是测试人员借助测试工具,模拟软件在不同的场景下性能指标是否满足用户需求。
1.1 生活中遇到的软件性能问题
618 双11淘宝崩溃
四六级网站崩溃
1.2 性能测试定义
测试人员借助性能测试工具,模拟系统在不同的场景下,对应的性能指标能否达到预期。
常见的性能测试工具:LoadRunner、jmeter
不同的场景:流量高峰期。。
1.3 性能测试和功能测试的区别
功能测试:依靠人工去执行;不管在什么场景下,只关心软件是否正常运行
性能测试;依靠工具来完成;软件在一些极端的情况下,是否能够正常运行
1.4 软件性能好 / 坏的表现
访问软件的反应时间,点击量
提升性能:
- 减少并发数
- 算法优化
- 硬件升级
1.5 影响软件性能的因素
- 硬件:服务器CPU利用率、内存、磁盘操作频率、CPU核心数、网络带宽
- 软件:算法、编程语言
- 用户:用户数量、用户使用时长、用户访问频率
2. 为什么要做性能测试
- 获取系统性能的指标,作为性能指标的基准
- 验证系统的性能指标是否达到要求(性能需求)
- 应用程序是否能够满足系统要求的各种性能指标
- 应用程序是否能处理预期的用户负载并有盈余能力
- 应用程序是否能处理业务所需要的事务数量
- 在预期和非预期的用户负载下,应用程序是否稳定
- 是否能确保用户在真正使用软件时获得舒服的体验
- 发现系统的性能瓶颈,内存泄漏等问题
- 系统正常工作的情况下的最大容量
- 帮助系统运维部门更好的规划硬件配置
3. 性能测试常见术语以及衡量指标(重点)
并发
大量用户,同时访问
业务层面的并发用户数:同时向服务器发送请求的用户数量
后端服务器层面的并发用户数:同时向服务器发送请求的请求数量
并发:
满足必须满足的两个条件
- 需要有大量的用户
- 对系统请求(同时)
并发用户:满足了并发的条件之后,对应的用户数量,就是并发数
并发请求:满足了并发的条件之后,对应的HTTP请求数量
用户数
系统用户数:系统注册的用户
在线用户数:成功登录系统的用户数
并发用户数:大量的用户访问系统,此时访问的用户数,就是并发用户数量
系统用户数 >= 在线用户数 >= 并发用户数
响应时间
用户响应时间
N1 + A1 + N2 + A2 + N3 + A3 + N4
请求响应时间
服务器收到请求,到发出响应的时间
A1 + N2 + A2 + N3 + A3
影响软件响应时间的因素
数据库性能
网络带宽
服务器处理性能
软件的算法逻辑
用户设备
事务响应时间
每秒完成的事务数,通常指每秒成功的事务数,是性能测试中重要的综合性性能指标。
每秒事务通过数
处理的事务数量 / 事务花费的时间
每秒事务通过的数量越多说明性能越好
点击量
用户点击的数量
点击率
点击量 / 时间 = 点击率
吞吐量
吞吐量以单位时间为度量
用户一次请求和服务器之间的数据交互量
吞吐率
吞吐量 / 时间
吞吐率越高,软件性能越好
思考时间
用户在实际操作时的停顿间隔时间。
用户在对软件进行操作的时候,每个请求之间间隔的时间。
指模拟正式用户在实际操作时的停顿间隔时间
从业务的角度来讲,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。
资源利用率
不同系统资源的使用情况。包含CPU,内存,硬盘,网络。
【面试】做性能测试的时候都关注哪些指标
并发用户数、响应时间、事务响应时间、每秒事务通过数、点击量、点击率、吞吐量、吞吐率、思考时间、资源利用率
4. 性能测试分类
基准性能测试
让系统在正常情况下运行,观察软件的性能指标
应用场景:软件刚上线,需要进行性能摸底
负载性能测试
验证软件在一定的压力的情况下运行,观察性能指标是否出现拐点
压力性能测试
系统处于饱和的情况下,观察系统性能指标。
往往会使系统崩溃
可靠性测试
验证系统在一个持续的时间段内的运行。在这个运行时间段,观察系统的各项性能指标是否正常。
5. 性能测试的执行流程
功能测试的执行流程:需求分析,测试计划,测试设计,测试执行,测试评估(测试报告),上线
性能测试的执行流程:需求分析,测试计划、选择性能测试工具、性能测试脚本编写、执行性能测试脚本、产出性能测试报告
当性能测试中出现了不符合预期的情况,不叫bug,叫性能瓶颈。
在性能测试中出现性能瓶颈,开发修复的过程,称为优化。