初识性能测试

✏️作者:银河罐头
📋系列专栏: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.hqwc.cn/news/54943.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】初阶 --- 内联函数(inline)

文章目录 🥞内联函数🍟1、C语言实现"宏函数"🍟2、内联函数的概念🍟3、内联函数的特性🍟4、总结 🥞内联函数 🍟1、C语言实现"宏函数" 🥰用C语言先来实现普通的…

无人驾驶实战-第五课(动态环境感知与3D检测算法)

激光雷达的分类: 机械式Lidar:TOF、N个独立激光单元、旋转产生360度视场 MEMS式Lidar:不旋转 激光雷达的输出是点云,点云数据特点: 简单:x y z i (i为信号强度) 稀疏:7%&…

windows环境下安装elasticsearch、kibana

通过本文可以快速在windows系统上安装elasticsearch、kibana环境。 当你用Integer类型的时候,要非常小心,因为100等于100、但是200不等于200,当然,如果你会一点小花招,也可以让100不等于100、让200等于200。(运算符比较…

基于SpringBoot+Vue的漫画网站设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

AES与DES加密解密算法

一、AES简介 AES(Advanced Encryption Standard,高级加密标准)的出现,是因为以前使用的DES算法密钥长度较短,已经不适应当今数据加密安 全性的要求,因此2000年10月2日,美国政府宣布将比利时密码…

Spring Cloud 的版本和SpringBoot的版本

Spring Cloud 的版本选择 Spring Cloud 和SpringBoot的版本存在对应关系 Spring Cloud 的版本和SpringBoot的版本,存在对应关系。最新的SpringCloud版本(发布文章时为2022.0.3),需要SpringBoot(3.0.9) 的…

邀请媒体现场报道,有哪些作用?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 邀请媒体现场报道活动具有多种重要作用和意义,可以为你的活动带来广泛的曝光和正面影响。以下是一些邀请媒体现场报道的作用和意义: 1. 增加活动曝光度&#xff…

信息安全治理原则和过程

信息安全治理 本标准提供关于信息安全治理的指南。 信息安全已成为组织的关键问题。不仅法规要求日益增加,而且组织的信息安全措施失效会直接影响其声誉。 因此,组织治理者,越来越需要承担起治理责任中的信息安全监督职责,以确…

使用 OpenCV 和 Python 卡通化图像-附源码

介绍 在本文中,我们将构建一个有趣的应用程序,它将卡通化提供给它的图像。为了构建这个卡通化器应用程序,我们将使用 python 和 OpenCV。这是机器学习令人兴奋的应用之一。在构建此应用程序时,我们还将了解如何使用 easygui、Tkinter 等库。在这里,您必须选择图像,然后应…

K8s operator从0到1实战

Operator基础知识 Kubernetes Operator是一种用于管理和扩展Kubernetes应用程序的模式和工具。它们是一种自定义的Kubernetes控制器,可以根据特定的应用程序需求和业务逻辑扩展Kubernetes功能。 Kubernetes Operator基于Kubernetes的控制器模式,通过自…

Android 实现账号诊断动画效果,逐条检测对应的项目

Dialog中的项目 逐条检测效果&#xff1a; 依赖库&#xff1a; implementation com.github.li-xiaojun:XPopup:2.9.19 implementation com.blankj:utilcodex:1.31.1 implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.101、item_account_check.xml <…

IPv6地址分类,EUI-64转换规则

1、可聚合的单全球单播地址Global Unique Address&#xff1a; Aggregate global unicast address&#xff0c;前3位是001&#xff0c;即2000::/3&#xff0c;目前IANA已经将一部分可聚合全球单播进行了专门使用&#xff0c;如&#xff1a;2001::/16用于IPV6互联网&#xff0c;…