【性能测试】性能测试之性能测试指标详解(详细)

news2025/2/23 21:20:24

前言

刚开始,以为做性能测试,就是做些脚本、参数化、关联,压起来之后,再扔出一个结果。

但实际上不止这些内容,还要加上性能分析,关注调优之后响应时间有多大的提升,TPS 有多大的提高,资源有多少的节省

我们努力的方向是完整的工程,既要有前期的测试,还要有中间的分析,以及最后的调优,而不仅仅是做做脚本。如果你想把性能测试做好,就不要局限自己的技术范围和认知范围。

无论是系统、数据库、代码、中间件、存储、网络,你遇到什么问题,都要试着去分析下该如何判断,并考虑如何在后续的过程中进行调优。

性能测试不同于功能测试,功能测试只要求软件的功能实现即可,而性能测试是测试软件功能的执行效率是否达到要求。

例如某个软件具备查询功能,功能测试只测试查询功能是否实现,而性能测试却要求查询功能足够准确、足够快速。但是,对于性能测试来说,多快的查询速度才是足够快,什么样的查询情况才足够准确是很难界定的,因此,需要一些指标来量化这些数据。

性能测试常用的指标包括响应时间、吞吐量、并发用户数、TPS等,下面分别进行介绍。

1.响应时间

响应时间(ResponseTime)是指系统对用户请求做出响应所需要的时间。这个时间是指用户从软件客户端发出请求到用户接收到返回数据的整个过程所需要的时间,包括各种中间件(如服务器、数据库等)的处理时间。

响应时间越短,表明软件的响应速度越快,性能越好。但是响应时间需要与用户的具体需求相结合,例如火车订票查询功能响应时间一般2s内就可以完成,而在网站下载电影时,几分钟完成下载的速度就已经很快了。

系统的响应时间会随着访问量的增加、业务量的增长等变长,一般在性能测试时,除了测试系统的正常响应时间是否达到要求之外,还会测试在一定压力下系统响应时间的变化。

2.吞吐量

吞吐量(Throughput)是指单位时间内系统能够完成的工作量,它衡量的是软件系统服务器的处理能力。吞吐量的度量单位可以是请求数/秒、页面数/秒、访问人数/天、处理业务数/小时等。

吞吐量是软件系统衡量自身负载能力的一个很重要的指标,吞吐量越大,系统单位时间内处理的数据就越多,系统的负载能力就越强。

3.并发用户数

并发用户数是指同一时间请求和访问的用户数量。例如对于某一软件,同时有100个用户请求登录,则其并发用户数就是100。并发用户数量越大,对系统的性能影响越大,并发用户数量较大可能会导致系统响应变慢、系统不稳定等。

软件系统在设计时必须要考虑并发访问的情况,测试工程师在进行性能测试时也必须进行并发访问的测试。

4.TPS(TransactionperSecond)

TPS是指系统每秒钟能够处理的事务和交易的数量,它是衡量系统处理能力的重要指标。

5.点击率(HitsperSecond)

点击率是指用户每秒向Web服务器提交的HP请求数,这个指标是web应用特有的个性能指标,通过点击率可以评估用户产生的负载量,并且可以判断系统是否稳定。

点击率只是一个参考指标,帮助衡量Web服务器的性能。

6.资源利用率

资源利用率是指软件对系统资源的使用情况,包括CPU利用率、内存利用率、磁盘利用率等。资源利用率是分析软件性能瓶颈的重要参数。

例如某一个软件,预期最大访问量为1万,但是当达到6000访问量时内存利用率就已经达到80%制了访问量的增加,此时就需要考虑软件是否有内存泄漏等缺陷,从而进行优化。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结

只要你有能力去做的事就一定要去做,不要给自己留下任何遗憾,人生最重要的不是所站的位置,而是所朝的方向。

相信自己,坚信自己的目标,去承受常人承受不了的磨难与挫折,不断去努力去奋斗,成功最终就会是你的!

征服畏惧建立自信的最快最确实的方法,就是去做你害怕的事,直到你获得成功的经验。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索 HTML 语义化:让你的网页更有意义(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

【链表Linked List】力扣-117 填充每个节点的下一个右侧节点指针II

目录 问题描述 解题过程 官方题解 问题描述 给定一个二叉树: struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 N…

ELK(三)—安装可视化工具

目录复制 目录 一、ElasticSearch-Head可视化工具介绍1.1特性:1.2用法: 二、安装2.1docker安装2.2Chrome插件安装 一、ElasticSearch-Head可视化工具介绍 ElasticSearch-Head 是一个基于浏览器的 Elasticsearch 可视化工具,它提供了一个直观…

Linux中的网络时间服务器

本章主要介绍网络时间的服务器 使用chrony配置时间服务器配置chrony客户端服务器同步时间 1.1 时间同步的重要性 一些服务对时间要求非常严格,例如如图所示的由三台服务器搭建的ceph集群 这三台服务器的时间必须保持一致,如果不一致,就会显…

随机Numpy数组的创建方法(第2讲)

随机Numpy数组的创建方法 (第2讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ&…

python socket编程6 - 使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的例子

使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的示例。 一、PyQt6 实现的界面 二、TCP server代码的修改示意 界面提供网络参数的配置,以及提供人机交互过程中的数据获取和显示。 1、把上面的server代码封装成两个部分 A、class Server 负责接受UI界面…

6.1 U-boot的使用

由于Ubuntu出现了一些问题,后面都是使用正点原子官方版本。 一、U-boot使用 1. U-boot源码 Linux 系统要启动需要通过 bootloader 程序引导,也就说芯片上电以后先运行一段 bootloader 程序。这段 bootloader 程序会先初始化 DDR 等外设,然后…

Redis生产实战-Redis集群故障探测以及降级方案设计

Redis 集群故障探测 在生产环境中,如果 Redis 集群崩溃了,那么会导致大量的请求打到数据库中,会导致整个系统都崩溃,所以系统需要可以识别缓存故障,限流保护数据库,并且启动接口的降级机制 降级方案设计 …

【c】小红的漂亮串

#include<stdio.h> #include<string.h> int main() {char arr[1000];int count0;gets(arr);//在数组中输入字符串int lenstrlen(arr);//求字符串长度printf("%d\n",len);for(int i0;i<len;i){if(arr[i]r){if(arr[i1]e){if(arr[i2]d){countcount1;}}}}…

C#winform上下班打卡系统Demo

C# winform上下班打卡系统Demo 系统效果如图所示 7个label控件(lblUsername、lblLoggedInEmployeeId、lab_IP、lblCheckOutTime、lblCheckInTime、lab_starttime、lab_endtime)、3个按钮、1个dataGridView控件、2个groupBox控件 C#代码实现 using System; using System.Dat…

1、初识 llvm源码编译 及virtualbox和ubuntu环境搭建

很久没更新了&#xff0c;最近准备研究逆向和加固&#xff0c;于是跟着看雪hanbing老师学习彻底搞懂ollvm&#xff0c;终于把所有流程跑通了&#xff0c;中间遇到了太多的坑&#xff0c;所以必须记录一下&#xff0c;能避免自己和帮助他人最好。 环境搭建太重要了&#xff0c;…

c语言指针详解下

指针下 1 指针与字符串 int main01(){//指针与字符串char a[] "helloworld";//定义了一个字符数组,字符数组内容为helloworld\0//定义一个指针用来保存数组首元素的地址char * p a;printf("%s\n",p);//%s打印一个字符串,要的是首个字符的地址printf(…

使用Rust 构建C 组件

协议解析&#xff0c;这不就很快了&#xff0c;而且原生的标准库红黑树和avl 树支持&#xff0c;异步tokio 这些库&#xff0c;编写应用组件就很快了 rust 标准库不支持 unix 的消息队列&#xff0c;但是支持 shm 和 uds&#xff0c;后者从多方面考虑都比&#xff0c;消息队列更…

flutter添加全局水印

效果&#xff1a; 可以直接引用&#xff1a;disable_screenshots: ^0.2.0 但是有时候直接引用会报错&#xff0c;可以不引用插件直接把下面的源码工具类放在项目里面 工具类源码&#xff1a; import dart:io; import dart:math;import package:flutter/cupertino.dart; impor…

oomall课堂笔记

一、项目分层结构介绍 controller层&#xff08;控制器层&#xff09;&#xff1a; 作用&#xff1a;负责输出和输入&#xff0c;接收前端数据&#xff0c;把结果返回给前端。 1.处理用户请求&#xff0c;接收用户参数 2.调用service层处理业务&#xff0c;返回响应 servi…

uniapp 打开文件管理器上传(H5、微信小程序、android app三端)文件

H5跟安卓APP 手机打开的效果图&#xff1a; Vue页面&#xff1a; <template><view class"content"><button click"uploadFiles">点击上传</button></view> </template><script>export default {data() {return…

【Linux】已安装 powerlevel10k,报错 command not found: p10k

问题描述 在配置 zsh 时&#xff0c;已经安装了 powerlevel10k&#xff0c;但是当尝试启动 Powerlevel10k 配置向导时&#xff0c;出现了以下错误&#xff1a; p10k configure zsh: command not found: p10k原因分析 出现这个错误的原因是因为 zsh 终端还没有加载最新的配置…

Kafka性能调优:高吞吐、低延迟的数据流

Apache Kafka作为一种高性能、分布式流处理平台&#xff0c;对于实时数据的处理至关重要。本文将深入讨论Kafka性能调优的关键策略和技术&#xff0c;通过丰富的示例代码为大家提供实际操作指南&#xff0c;以构建高吞吐、低延迟的数据流系统。 Broker 配置的优化 首先&#…

[全志Tina/Linux]全志在线生成bootlogo工具

一、需求 由于全志的bootlogo文件要求使用bmp格式的32位RGBA图像&#xff0c;经测试在使用不同版本的ps软件修图时&#xff0c;导出的bootlogo.bmp经常无法被全志uboot识别&#xff0c;因此使用在线工具转换。 二、操作 1、登录工具网站 https://online-converting.com/ima…

C++面试宝典第3题:找不同的数

题目 封装两个函数&#xff0c;分别完成下面的编码任务。 &#xff08;1&#xff09;在一个整型数组中&#xff0c;数字都是两两相同&#xff0c;只有一个不同&#xff0c;请编写代码&#xff0c;最快找出这个不同的数字。 &#xff08;2&#xff09;在一个整型数组中&#xff…