【软件测试】性能测试相关指标

性能测试

了解性能测试相关指标

1.什么是做性能测试

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

软件用着用着就不能用了,一看热搜,发现该软件的服务器崩崩溃了。

1.2 性能测试定义

测试人员借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否满足需求。

1.3 性能测试和功能测试的区别

  • 功能测试依靠人工去执行。性能测试依靠工具完成。
  • 功能测试:验证软件是否实现了需求。不管在什么场景下,只要能够正常运行即可。
  • 性能测试:在软件能够正常运行的前提下。软件在极端的情况下,是不是能正常运行。

性能测试是在功能测试之后执行的。

1.4 什么样的表现属于软件性能好的表现

相应时间短,资源利用率高,日活跃用户数多,吞吐量大。

  • 一个软件登录时间3ms比登录时间3s的性能要好
  • 软件日活跃用户数多的,比日活跃用户数少要性能好
  • 软件由于用户访问次数多,软件采用了较少并发数,软件算法优化,服务器升级的软件性能比用户访问人数一多就崩溃的软件好。

image-20231128172205669

DAU:日活跃用户数。

1.5 影响一个软件性能因素

  • 硬件:服务器CPU利用率,内存,磁盘操作频率,CPU核心数,网络带宽。
  • 软件:实现软件的算法,编写软件的编程语言
  • 用户:用户数量,用户使用时长,用户的使用频率

为什么要做性能测试?

  • 获取系统性能的指标,作为性能指标的基准(基准性能测试)
  • 验证系统的性能指标是否达到要求(性能需求)
    • 应用程序是否能够满足系统要求的各种性能指标
    • 应用程序是否能处理预期的用户负载并有盈余能力
    • 应用程序是否能处理业务所需要的事务数量
    • 在预期和非预期的用户负载下,应用程序是否稳定
    • 是否能确保用户在真正使用软件时获得舒服的体验
  • 发现系统的性能瓶颈,内存泄漏等问题。
  • 系统正常工作的情况下的最大容量。
  • 帮助系统运维部门能更好的规划硬件配置

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

2.1 并发:

  • 1个用户访问该网站(×)
  • 100万个用户每隔10s时间访问该网站(×)
  • 100万个用户同时访问该网站(√)

并发要满足大量用户同时访问

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

后端服务器层面的并发用户数 >= 业务层面的并发用户数

2.2 用户数:

  • 系统用户数:系统注册用户数(数据库对其进行维护,不一定访问系统,不访问的不会对系统产生压力)
  • 在线用户数:成功登录系统的用户数(相当于qq登录上账号了 ,停留在登录成功页面。并不会对系统产生压力)
  • 并发用户数:大量用户同时访问系统,此时访问的用户数就是并发用户数。

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

2.3响应时间

image-20230918081412023

用户响应时间:发出请求开始,到客户端接收完所有的字节数据所消耗的时间 N1+A1+N2+A2+N3+A3+N4

请求响应时间:服务器收到请求发出相应这段时间是请求响应时间。A1+N2+A2+N3+A3

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

用户设备,网络带宽,服务器的配置(CPU,内存),软件算法逻辑,数据库性能

2.4 事务

数据库的事务就是把多个操作打包到一起,构成原子操作。

性能测试中,事务指的是指一组密切相关的子操作的组合 ,比如一次登录、一次筛选条件查询,一次支付等;

  • 事务响应时间:用户完成某个具体事务(比如支付操作)所需要的时间。
  • 358原则:对于一般系统而言,如果用户点击按钮后,系统可以在3秒钟内得到应答,则用户比较满意;如果系统在5秒内得到应答,则用户能够忍受;如果系统在8秒后得到应答,则用户不能忍受
  • 每秒事务通过数: 处理的事务数量/事务花费的时间, 每秒事务通过的数量越多说明软件性能越好的。

TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。这个指标衡量了系统在同一时间内处理业务的最大能力。 当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变

2.5 点击率

点击量:用户点击发送的http请求数,并不能衡量软件性能

点击率:点击量/时间

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

2.6 吞吐率

吞吐量:用户一次请求和服务器之间的数据交互量。并不能衡量软件性能

吞吐率:吞吐量/时间。吞吐率越高软件性能越好

2.7 思考时间

用户在对软件进行操作的时候,每一个操作中间的时间间隔。

2.8 资源利用率

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

面试题:了解性能测试,那么你给我说一下你做性能测试的时候,你关注哪些指标?

image-20231128172317966

3.性能测试的分类

基准性能测试

定义:让系统在正常情况下运行,观察性能指标。建立一个性能基准,作为以后性能测试的参考。

应用场景:软件刚上线需要对性能进行摸底,软件进行升级后,性能测试的参考,衡量软件是变好了还是变坏了。

负载性能测试

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

压力性能测试

系统处于临界饱和的情况下,观察系统性能指标。(往往会把系统搞崩溃)

可靠性测试

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

持续1day -> 持续运行一周 -> 持续运行1个月 -> 一个季度 -> 一年

如果持续一天没问题就持续一周,如果持续一周没问题就持续一个月……

可靠性就是可用性,正常使用时间的占比。可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)* 100*%*可用性指标一般要求达到4个或5个“9”,即99.99%或者99.999%

如果可用性达到99.99%,对于一个全年不间断(7*24的方式)运行的系统,意味着全年(252600min)不能

正常工作的时间只有52min,不到一个小时。

如果可用性达到99.999%,意味着全年不能正常工作的时间只有5min 。

可靠性测试靠人为是达不到要求的,需要借助工具比如(loadrunner)

造成可靠性降低的原因:软件硬件出现问题,网络故障出现问题,自然灾害导致服务器损坏出现问题,停电。

4.性能测试的执行流程

功能测试的执行流程:需求分析→测试计划→ 测试设计、测试开发→ 测试执行→ 测试评估(发布测试报告)→ 上线

性能测试的执行流程:需求分析→测试计划→选择一款性能测试工具→性能测试脚本编写→执行性能测试脚本→产生性能测试报告

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229205.html

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

相关文章

20天GMV超过百万美金!桌下迷你跑步机在TikTok Shop美国站热销

上周总GMV达到1.59亿美元,达到历史新高,是美国站自开通以来首次单周出单达到亿级;日均出单1660万美元,单日出单最高达2820万美元; 截至11月19日,GMV Top 5 的商品分类排名依次为:美妆个护、女士…

Unity WebGL通过URL的形式接收参数执行初始化

参考博客: http://t.csdnimg.cn/QnfhK 问题背景: 需要在外面的网页指定WebGL的打开初始化逻辑。 步骤: 1.配置jslib,用文本文件创建即可,"__Internal.jslib"。 2.加入一段代码: mergeInto(…

hutool工具连接数据库实现数据处理重新入库

1 引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.18</version></dependency><!--mysql驱动包--><dependency><groupId>mysql</groupId><ar…

Python开发——工具篇 Pycharm的相关配置,Python相关操作 持续更新

前言 本篇博客是python开发的工具篇相关&#xff0c;介绍pycharm的使用和相关配置&#xff0c;收录python的相关操作&#xff0c;比如如何启动jupyter。 目录 前言引出Pycharmpycharm如何不同等级日志显示不同颜色设置不同pycharm的python环境 Python操作如何启动Jupyter 总结…

第二证券:燃料电池产业进入发展快车道 多家公司披露布局进展

据悉&#xff0c;日前太原钢铁&#xff08;集团&#xff09;有限公司初次开发出超级超纯铁素体TFC22-X连接体材料并结束了批量供货&#xff0c;填补了国内空白。 燃料电池电堆连接体材料是行业中最为要害的战略材料。研发团队打破了特别元素含量精确操控的要害技术瓶颈&#x…

基于Python+OpenCV+dlib+Tensorflow深度学习的人脸表情识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 人脸表情识别是一种重要的计算机视觉任务&#xff0c;它涉及到对人脸图像中的表情进行分类和理解。在这个系统中&am…

直线(蓝桥杯)

直线 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 在平面直角坐标系中&#xff0c;两点可以确定一条直线。如果有多点在一条直线上&#xff0c; 那么这些点中任意两点确定的直线是同一条。 给定平面上 2 3 个…

2 线、3 线和 4 线 RTD 配置之间有什么区别?

电阻温度检测器 (RTD) 是温度传感器的一种&#xff0c;由于其准确性、可重复性和稳定性而广泛应用于各种工业应用。这些设备通过感测材料温度变化时电阻的变化来测量温度。 RTD 探头有多种配置&#xff0c;包括 2 线、3 线和 4 线型号。这些类型之间存在显着差异&#xff0c;在…

自写一个函数将js对象转为Ts的Interface接口

如今的前端开发typescript 已经成为一项必不可以少的技能了&#xff0c;但是频繁的定义Interface接口会给我带来许多工作量&#xff0c;我想了想如何来减少这些非必要且费时的工作量呢&#xff0c;于是决定写一个函数&#xff0c;将对象放进它自动帮我们转换成Interface接口&am…

网易区块链

目录 网易区块链 网易区块链 网易区块链成立于2017年,致力于Web3.0区块链技术的研发和应用。自主研发的区块链“天玄”引擎,在单链场景下支持每秒最高30万笔交易,单日可处理上链数据超10亿。 与国家信息中心、杭州互联网公证处等机构合作,支持公证信息存储与算法解决方案…

解锁Jira本地部署的数据中心版高级功能,打造高效、智能、精细化的项目管理

近日&#xff0c;在龙智携手Atlassian与JFrog共同举办的“大规模开发创新&#xff1a;如何提升企业级开发效率与质量”的线下研讨会中&#xff0c;龙智高级咨询顾问、Atlassian认证专家叶燕秀为大家带来了精彩演讲&#xff0c;解锁Jira Data Center版的诸多高级功能&#xff0c…

鸿蒙开发ArkUI -常用布局

线性布局(Row/Column) 间距/主轴排列方式/交叉轴对齐方式 Column({}) {Column() {}.width(80%).height(50).backgroundColor(0xF5DEB3)Column() {}.width(80%).height(50).backgroundColor(0xD2B48C)Column() {}.width(80%).height(50).backgroundColor(0xF5DEB3) } .width(1…