本期讲解性能测试的相关指标。
目录
1. 什么是性能测试
1.1 性能测试定义
测试人员借助性能测试工具,模拟在不同场景下,对于的软件性能指标是否能够达到预期。
1.2 软件出现性能问题
购物平台服务器奔溃,商品不能选购。
短视频服务器奔溃,导致视频刷不出来。
游戏维护更新预期上午10点完成,到点没有维护成功。
1.3 性能测试和功能测试有什么区别
- 功能测试:依靠我们人工进行
- 性能测试:依靠工具进行
- 功能测试:软件是否满足需求
- 性能测试:软件在某些场景下能够正常的运行
1.4 软件性能的好坏
买票时出现购买不了票、网购平台点击商品没有商品显示,这样的软件可以说不是一个好软件。
解决:购物平台,DAU(day active user 用户日活跃度)太大怎么办。更换硬件服务器,太贵了。因此我们可以减少并发数,如我们访问一个网址时出现图形验证。
1.5 影响软件性能的因素有哪些
- 硬件:服务器CPU利用率、内存占用率、磁盘操作频率、CPU的核心数、网络带宽。
- 软件:算法、编程语言。
- 用户:并发数、用户的使用时长、用户访问频率。
2. 为什么要做性能测试
2.1 获取系统性能测试的指标作为性能测试指标的基准
软件 1.0 版本登录时长30ms,软件 2.0 版本登录时长50ms 就能证明 2.0 版本性能比 1.0 差。
3. 性能测试常用的术语以及性能测试衡量指标
3.1 并发
并发的条件:第一大量用户,第二对系统进行请求(同时间)。
3.2 用户数
系统用户数:系统注册的用户数,包含已创建但从不登录的用户。
在线用户数:当前成功登录系统用户数。
并发用户数:大量的用户访问系统,此时的访问数为并发用户数
系统用户数 > 在线用户数 > 并发用户数。
3.3 并发用户数
满足了并发条件后,对应的用户数量就是并发用户数
3.4 并发请求
满足并发条件之后,对应的请求数量。
3.5 响应时间/平均响应时间
用户响应时间和请求响应时间
3.3.1 用户响应时间
影响用户响应时间的因素有哪些
N1+A1+N2+A2+N3+A3+N4
3.3.2 请求响应时间
服务器收到请求到发出响应这段时间就是请求响应时间
A1+N2+A2+N3+A3
3.3.3 影响软件响应时间的因素有哪些
数据库性能:加索引、缓存等。
网络带宽
服务器处理性能
软件算法
用户设备
3.4 事务响应时间
事务:一个购物流程:点击商品,点击购买按钮,选择地址,付款,确定地址,这就是一个关于购物的事务。
用户关心的是一个事务的响应时间即需要花费的时间。
3.5 每秒事务通过数
每秒完成的事务数,通常指的是每秒事务的完成数,是性能测试中的一个综合性性能指标。
每秒完成的事务数:处理的事务数量/事务花费的时间,每秒事务通过的数量越多证明软件性能越好。
3.6 点击率
用户每秒向服务器发送请求数量,点击率越大,服务器的压力越大。每次点击可能有多次 http 请求。
3.7 吞吐量
软件测试中的吞吐量(Throughput)是指系统在单位时间内能够处理的请求数量,通常以每秒处理的事务数(TPS,Transactions Per Second)或每秒查询数(QPS,Queries Per Second)来衡量。吞吐量是衡量系统性能的重要指标之一,反映了系统的处理能力和并发性能。
3.8 思考时间
用户在对软件进行操作的时间,每个操作中间间隔的时间。从业务角度来看,是每个操作,请求之间的间隔时间。
3.9 资源利用率
不同系统资源的使用情况,如CPU、内存、硬盘、网络等。
3.10 问题
你了解性能测试,请你说下做性能测试时,你关注哪些指标?
并发用户数、响应时间、每秒事务通过数、点击率、吞吐量、思考时间。
请你说说这些指标具体代表什么?
并发用户数是,同一时刻有大量的用户对软件进行使用。
响应时间:用户在发送请求时,请求回复的时间。
每秒事务数:每秒事务的通过数量,如一个购物操作。
4. 性能分类
4.1 基准性能测试
让系统在正常情况下运行,观察性能测试指标。
应用场景:软件刚上线需要进行性能摸底。
4.2 负载性能测试
让软件在一定的压力的情况下运行,观察其性能测试指标是否出现拐点。
4.3 压力性能测试
系统处于饱和状态下,观察其性能测试指标。往往会把系统搞崩溃。
4.4 可靠性测试
验证系统在一个持续的时间段内运行,在这个运行时间段,观察系统各项指标是否正常。
先让系统持续1天无问题->持续一周->持续一个月->一个季度->一年
如果在某个阶段报错,则证明该系统并不可靠。
5. 性能测试执行流程
功能测试执行流程:需求分析->测试计划->测试设计->测试执行->测试评估(测试报告)->上线
性能测试执行流程:需求分析->测试计划->选择一款性能测试工具->性能测试脚本工具->执行性能测试脚本->产出一个性能测试报告
- 性能测试中出现问题,不叫 bug 而是叫性能瓶颈。
- 性能测试中出现性能瓶颈,开发修复的过程叫优化。
例:某网页的登录页面,采用基准测试。
需求分析
测试计划,测试该登录页面底层 page 接口可容纳的用户数。
选择性能测试工具,使用 Loadrunner 针对需求进行编写脚本。
产出一个性能测试报告:包含项目名称,测试人员,测试时间,测试环境(可以是线上环境),性能指标截图,结论,解决方案,