2023.8.29 关于性能测试

目录

什么是性能测试?

性能测试常见术语及其性能测试衡量指标

并发

用户数

响应时间

事务

点击率

吞吐量

思考时间

资源利用率

 性能测试分类

基准性能测试

负载性能测试

压力性能测试

可靠性性能测试

性能测试执行流程 


什么是性能测试?

性能测试的定义

测试人员借助性能测试工具,去模拟大量用户操作来验证系统能够承受的负载情况,其对应的性能指标是否达到预期,最后找出潜在的性能问题分析并解决!


性能测试和功能测试有什么区别?

功能测试 性能测试
依靠人工执行 依靠工具执行
不管在什么场景下,只要能够正常运行即可 软件在一些极端的情况下,是不是能够正常运行

影响一个软件性能因素有哪些?

  • 硬件:服务器 CPU 利用率、内存、磁盘操作频率、CPU 核心数 等
  • 软件:算法、编程语言 等
  • 用户:用户数量、用户使用时长、用户访问频率 等

性能测试常见术语及其性能测试衡量指标

并发

  • 业务层面的并发用户数:指同时向服务器发送请求的用户数量
  • 后端服务器层面的并发用户数:指同时向发服务器发送请求的请求数量

注意:并发强调的是大量用户同时性的操作对服务器造成的压力,并不是只要发出请求就会对服务器造成压力


用户数

  • 系统用户数:系统注册的用户数量
  • 在线用户数:成功登录系统的用户数量
  • 并发用户数:大量同时访问系统的用户数量

用户数量: 系统用户数 > 在线用户数 > 并发用户数


响应时间

2023.8.29 关于性能测试_第1张图片

  • N1 ~ N4 和 A1 ~ A3 都为时间段

用户响应时间

N1 + A1 + N2 + A2 + N3 + A3 + N4

请求响应时间

A1 + N2 + A2 + N3 + A3

影响一个软件响应时间的因素有哪些?

  • 数据库性能
  • 网络带宽
  • 服务器处理时间
  • 软件算法、逻辑
  • 用户设备

事务

  • 事务是衡量系统处理能力的重要指标

例子:

用户A和用户B,他们各自有自己的银行账户。用户A想要向用户B转账一定金额的资金。

在这个转账过程中,可以将以下步骤视为一个事务

  1. 开始事务:系统开始处理转账事务。

  2. 扣除用户A的账户余额:系统从用户A的账户中扣除转账金额。

  3. 增加用户B的账户余额:系统向用户B的账户中增加转账金额。

  4. 提交事务:系统确认转账操作成功,并将更改后的账户余额持久化到数据库中。

事务响应时间

指在系统或应用程序中完成一个特定事务所需的时间。这个时间通常从事务启动到事务完成的时间段,是性能测试中重要的综合性性能指标!

每秒事务通过数(TPS)

  • 处理的事务数量 / 事务所花费的总时间 = 每秒事务通过数 (TSP)
  • 每秒事务通过的数量越多自然说明该软件的性能越好

点击率

  • 每秒点击数代表用户向服务器提交 HTTP 的请求数量,点击率越大,服务器压力越大

注意:这里的点击不是 鼠标的一次点击,因为一次鼠标点击可能有多次 HTTP 请求


吞吐量

  • 指系统在单位时间内能够处理的工作量或事务数量,体现系统的性能承受能力
  • 吞吐量通常以每秒处理的单位数量来表示,如每秒请求数、每秒事务数等。较高的吞吐量表示系统能够在单位时间内处理更多的工作量,具有更高的效率和处理能力。

思考时间

  • 用户对软件进行操作的时候,每一个操作请求之间的间隔时间

资源利用率

  • 指不同系统资源的使用情况,包含 CPU、内存、硬盘、网络 等

面试题

了解性能测试的话,请说下当你做性能测试的时候,你关注哪些指标?

  • 概括上文的每一点

 性能测试分类

基准性能测试

  • 让系统在正常情况下运行,观察系统性能指标
  • 应用场景:系统刚上线需要进行性能摸底

负载性能测试

  • 验证系统在超过安全指标后增加压力直到系统出现拐点的情况(崩溃边缘,但不会崩溃)
  • 通过负载性能测试,可以发现系统的瓶颈、性能瓶颈和资源限制,以便进行性能优化和容量规划

压力性能测试

  • 验证系统处于饱和情况下或极限负载直至系统崩溃的情况,从而了解系统的承受极限

可靠性性能测试

  • 验证系统在一个持续的时间段内运行,在这个运行时间段,观察系统各项性能指标是否正常

2023.8.29 关于性能测试_第2张图片

性能测试执行流程 

  • 需求分析 ---> 测试计划 ---> 选择一款性能测试工具 ---> 性能测试脚本编写 ---> 执行性能测试脚本  ---> 产出一个性能测试报告

注意:

  • 性能测试中出现不合预期的情况,不称其为 Bug,而称之为性能瓶颈
  • 开发修复的过程,称之为优化
  • 一个系统一定会有性能瓶颈,只能不断对其进行优化

你可能感兴趣的:(测开,java,开发语言)