初识性能测试

news/2025/2/22 12:41:29/

✏️作者:银河罐头
📋系列专栏:JavaEE

🌲“种一棵树最好的时间是十年前,其次是现在”

目录

  • 什么是性能测试?
  • 为什么要做性能测试?
  • 性能测试常见术语及性能测试衡量指标
    • 并发用户数
    • 响应时间/平均响应时间(RT/ART)
    • 事务响应时间
    • 每秒事务通过数量
    • 点击量
    • 点击率
    • 吞吐量
    • 吞吐率
    • 思考时间
    • 资源利用率
  • 性能测试分类
    • 基准性能测试
    • 负载性能测试
    • 压力性能测试
    • 可靠性测试
  • 性能测试执行流程

什么是性能测试?

  • 生活中遇到的软件性能问题。

  • 性能测试定义

测试人员借助性能测试工具(LoadRunner, JMeter),模拟系统在不同场景下,对应的性能指标是否达到预期。

  • 性能测试和功能测试有什么区别:

功能测试:依靠人工执行。不管在任何场景下能够正常运行即可。

性能测试:依靠工具完成,软件在一些极端情况下, 是不是能够正常运行。

  • 什么样的表现属于软件性能好的表现,什么样的表现属于软件性能不好的表现。

DAU是“Daily Active User”的缩写,意思是日活跃用户。通常是指一天之内使用某产品的独立用户数。

软件性能不好的情况下:

可以通过:

减少并发数

软件算法优化

服务器升级

等手段来改善。

  • 影响一个软件性能好坏的因素有哪些。

硬件:服务器CPU利用率,内存,磁盘操作频率,CPU核心数,带宽

软件:算法,编程语言

用户:用户数量,用户使用时长,用户访问频率

为什么要做性能测试?

获取系统性能的指标,作为性能指标的基准。

验证系统的性能指标是否达到要求(性能需求)。

发现系统的性能瓶颈,内存泄漏等问题。

系统正常工作的情况下的最大容量。

帮助系统运维部门能更好的规划硬件配置。

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

并发用户数

并发:大量用户,同时。

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

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

系统用户数:系统注册的用户。

在线用户数:成功登录系统的用户数。

并发用户数:大量的访问系统,此时访问的用户数。

响应时间/平均响应时间(RT/ART)

1)用户响应时间

image-20230705123601718

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

2)请求响应时间

服务器收到用户的请求到发出响应这段时间。

A1+N2+A2+N3+A3

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

网络带宽

数据库性能

服务器处理性能

软件算法,逻辑

用户设备

事务响应时间

  • 2-5-8原则

响应时间的“2-5-8原则”,简单说,就是当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得到响应时,会感觉系统的响应速度还可以;当用户在5-8秒以内得到响应时,会感觉系统的响应速度很慢,但是还可以接受;而当用户在超过8秒后仍然无法得到响应时,会感觉系统糟透了,或者认为系统已经失去响应,而选择离开这个Web站点,或者发起第二次请求。

每秒事务通过数量

处理事务的数量/事务花费的时间。

每秒事务通过数量 这个值越大,说明性能越好。

点击量

用户点击数量

点击率

点击量/时间。

每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。 这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。

吞吐量

用户一次请求和服务器之间的数据交互量。

image-20230705145038477

吞吐率

吞吐量/时间

思考时间

用户在进行操作时,每个请求之间的间隔时间。

资源利用率

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

性能测试分类

基准性能测试

让系统在正常情况下运行,观察软件性能指标。

应用场景:软件刚上线需要进行性能摸底。

负载性能测试

验证软件在一定的压力情况下运行,观察性能指标是否出现了拐点。

压力性能测试

系统处于饱和情况下,观察系统性能指标。

(往往会把系统搞崩溃)

image-20230705152001210

可靠性测试

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

性能测试执行流程

功能测试执行流程:

需求分析 -> 测试计划 -> 测试设计 -> 测试执行 -> 测试评估(测试报告) ->上线

性能测试执行流程:

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

性能测试中出现了不符合预期的情况,不叫 bug, 叫做性能瓶颈。

在性能测试中,出现了 性能瓶颈,开发人员修复的过程,叫做 优化。

性能测试是在功能测试通过之后才实施的。

image-20230705154618447


http://www.ppmy.cn/news/1009653.html

相关文章

APP后端选择什么服务器

对于很多刚入行的朋友来说,不清楚应该选择什么样的服务器提供商,是选择传统的IDC, 租用服务器租用机柜,还是选择现在很火的云服务器呢?在本文中,通过对比传统的IDC和云服务,简单阐述一下服务器的选择。  …

乐鑫科技 2022 笔试面试题

岗位:嵌入式软件实习生。 个人情况:本科双非电子信息工程,硕士华五软件工程研一在读;本科做过一些很水的项目 ,也拿项目搞了一些奖,相对来说嵌入式方向比较对口。 时间线及面试流程 2021.04.02 笔试 题目分为选择题和编程题,选择题二十题,编程题两题; 选择题基本…

QT学习之QLabel

设置文本 mylbl->setText("Hello QT! Hello QT!"); 根据文本动态调整大小 mylbl->adjustSize(); 位置居中展示:利用横向布局和spacer控件 效果如下:

基于RASC的keil电子时钟制作(瑞萨RA)(7)----配置RTC时钟及显示时间

基于RASC的keil电子时钟制作7_配置RTC时钟及显示时间 概述硬件准备视频教程RTC配置RTC属性配置设定时间设定周期性中断设定日历闹钟时间回调函数演示效果数码管显示日期主程序 概述 本文将详细讲解如何借助e2studio来对瑞萨微控制器进行实时时钟(RTC)的…

Maven-生命周期

关于本文 ✍写作原因 之前在学校学习的时候,编写代码使用的项目都是单体架构,导入开源框架依赖时只需要在pom.xml里面添加依赖,点一下reload按钮即可解决大部分需求;但是在公司使用了dubbo微服务架构之后发现只知道使用reload不足…

边写代码边学习之LSTM

1. 什么是LSTM 长短期记忆网络 LSTM(long short-term memory)是 RNN 的一种变体,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。你可以将其看作网络的“记忆”。理论上讲&a…

如何在 Android 上恢复已删除的视频|快速找回丢失的记忆

想知道是否有任何成功的方法可以从 Android 手机中检索已删除的视频?好吧,本指南将向您展示分步说明,让您轻松从手机中找回丢失的视频文件! 您是否不小心从 Android 智能手机中删除了珍贵的生日视频?难道是无处可寻吗…

Julia 文件(File)读写

Julia 提供了一些基本的函数来处理文件: open() - 打开文件read() - 读取文件内容close() - 关闭文件 从文件读取或者写入数据需要使用文件句柄。 文件句柄其实就是一个指针,指针就是指向文件中的某个位置。 从一个文件读取数据,应用程序…