没有性能指标,无法开展性能测试吗?

news/2024/7/6 8:43:15/文章来源:https://www.cnblogs.com/imyalost/p/18282585

刚才我的知识星球里,一位同学问了我这样一个问题:

问题:没有性能指标,是不是就不能开展性能测试?

背景:开项目会议,产品和研发提出要对系统进行性能验证,但又无法提供明确的性能技术指标。

如果你是该项目的测试同学,你会如何解决这个问题呢?

下面的内容我不会透露直接的答案,我会谈谈和性能测试有关的一些理解误区,以及作为一个技术博主的想法。

 

我写技术文章超过八年了,全网也有几百万的阅读量,特别是性能测试四相关的文章,应该是写的最多的类型。

上面提问的这位同学,也算我的老读者了,他看了我不少性能测试相关的文章。在他的认知里,性能是一个相对概念,没有参考系的性能测试数据是不可靠的。

他的理解有错吗?没有。性能确实是一个相对概念,如果没有性能度量评估指标,对系统稳定性来说,确实很不靠谱。

但从我的角度来理解,我更认为指标是一个滞后的参考值,它只有在有测试结果之后才能发挥真正的作用。要有性能测试结果,那前提条件一定是有对应的测试场景,否则测试结果在逻辑上就站不住脚。

至于性能测试的结果和性能指标之间的关系,我更认为性能指标是一个参考值。与之相比更重要的是,最终的性能测试结构是否能被团队或项目中其他角色认可和接受

在性能测试开展之前要确定性能测试指标,这句话没错。网上很多文章或者专业的性能测试书籍是这么写的,我自己的性能测试文章中也是这么描述的。

但我这样写的初衷是:文章要通俗易懂,更要考虑技术水平和实践经验没那么多的同学看了之后能对性能测试有更全面的理解。

简单来说,在性能测试开展之前要确定性能测试指标,这是按照比较标准的模版或者套路往下走,更适合初学者或者没太多实践的同学。

但对于技术能力强有丰富实践经验的同学来说,遇到问题解决问题从来都是因地制宜的,而不是纯粹的参考或者遵循模版或套路。

理论正确和实践正确,是两码事。

理论正确指导实践,但最终的实践结果,绝不是照本宣科。

 

接着聊聊如何面对需求不明确或者一句话需求的性能测试问题。

作为测试同学特别是专职的性能测试同学,有责任也有义务在面对需求不明确时,去牵头搞定需求不明确的问题。

需求不明确,那就找相关干系人(产品/研发/运维)沟通确认,帮他们捋清思路,确认需求。作为专业的性能测试人员,你要自信在性能测试领域,绝大多数业务开发和运维,是不如你专业的,术业有专攻。

很多时候,并不存在明确的需求。作为专业领域的人,你的岗位职责中有一项潜在的职责就是抹除不确定性,通过不断的沟通交流和实践,最终得到确定的具体的结果。

性能测试中,最核心的就是三大模型:业务模型+流量模型+数据模型。再加上较为完善的监控分析工具辅助,做好性能测试其实并不难。

消除需求的不确定性,这个过程也是个人成长最快的过程。

技术能力和经验的提升,从来没有捷径可走,不要因噎废食。

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

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

相关文章

[Paper Reading] GAIA-1: A Generative World Model for Autonomous Driving

GAIA-1: A Generative World Model for Autonomous Driving GAIA-1 时间:23.09 机构:Wayve TL;DR 本文介绍一种生成世界模型,该模型利用视频、文本和动作输入来生成逼真的驾驶场景,同时提供对自身车辆行为和场景特征的细粒度控制。 Method模型输入 训练过程输入video/text(…

进度报告1

(1)1.在黑马程序员中找到java的教学网课,初步学习了Java语言的概述以及完成了java的开发环境搭建,成功安装了jdk并且利用命令行窗口顺利验证java和javac是否正常安装并且能使用。2.编写入门代码helloworld代码:public class HelloWorld{ public static void main(String[]…

模拟集成电路设计系列博客——8.4.2 时间-数字转换器

8.4.2 时间-数字转换器 在上一节我们介绍了TDC的一种典型实现,即单延时链TDC,通过\(2^N\)的延迟单元和D触发器可以实现N bit的时间数字转换功能,但这种结构的分辨率受到延迟单元的最小延迟时间限制,即: \[LSB=\tau_{delay}=\frac{T}{2^N} \tag{8.4.10} \]其中\(T\)为TDC的…

聊一聊领域驱动与贫血模型

写在前面 前段时间跟领导讨论技术债概念时不可避免地提到了代码的质量,而影响代码质量的因素向来都不是单一的,诸如项目因素、管理因素、技术选型、人员素质等等,因为是技术债务,自然就从技术角度来分析,单纯从技术角度来看代码质量,其实又细分很多原因,如代码设计、代码…

《智能计算系统》第五章 编程框架原理(上)课程笔记

《智能计算系统》第五章 编程框架原理(上)课程视频链接:https://www.bilibili.com/video/BV1Ei421i7Rg 本文源自于B站国科大计算所 智能计算系统课程官方账号 所公开上传的视频,在原有视频之上,提取了关键帧、将音频转成了文字并进行了校正,以便学习使用。在此,也感谢国…

点云分割网络---Point Transformer V2

PDF: 《Point Transformer V2: Grouped Vector Attention and Partition-based Pooling》 CODE: https://github.com/Gofinge/PointTransformerV2 一、大体内容 前面一篇文章介绍了Point Transformer,这一篇在其基础上进行改进,提出了强大且高效的Point Transformer V2模型,…

【坚果识别】果实识别+图像识别系统+Python+计算机课设+人工智能课设+卷积算法

一、介绍 坚果识别系统,使用Python语言进行开发,通过TensorFlow搭建卷积神经网络算法模型,对10种坚果果实(杏仁, 巴西坚果, 腰果, 椰子, 榛子, 夏威夷果, 山核桃, 松子, 开心果, 核桃)等图片数据集进行训练,得到一个识别精度较高的模型文件,让后使用Django搭建Web网页端…

MRCTF 2022 EzJava

MRCTF 2022 EzJava 题目分析 下载附件得到一个 jar 包和一个 waf 配置文件。如果只是为了本地搭建环境,直接启动 jar 包就行了,但是如果需要进行远程调试就需要进行一些配置(这个网上教程很多),这个调试也要看具体需求,能直接打通的话就不需要调试。 但是不管怎么说,第一…

逻辑回归求解二分类问题以及SPSS的实现

分类问题就是给出物质的属性,判断其属于什么成分,本文将讲述逻辑回归求解二分类问题 本文着重于模型的实现,对于推导只是概括性的叙述 目录一、问题提出二、逻辑回归函数logistic1.线性线性概率模型2.sigmod函数3.求解方法————极大似然估计4.分类原则三、SPSS实现———…

线上的一次fullgc排查过程

线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力。同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验。过去半年时间里,我们的广告系统出现了多次和GC相关的线上问题,有Full GC过于频繁的,有Young G…

基于GWO灰狼优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印):2.算法涉及理论知识概要LDPC码是一种线性错误修正码,以其接近香农极限的优良性能而被广泛应用于现代通信系统中。NMS译码是一种基于最小平方误差准则的软判决译码方法,其目标是找到一个最可能的码字,使得接…

k8s-核心组件

核心组件组成 Kubernetes 主要由以下几个核心组件组成: - etcd :保存整个集群的状态 - API Server:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制 - Controller Manager:负责维护集群的状态,如故障检测、自动扩展、滚动更新等 - Scheduler:…

学习笔记485—Excel技巧:一键将文本数字转换为数值

Excel技巧:一键将文本数字转换为数值在使用Excel进行数据处理时,经常会遇到数据格式不匹配的问题。特别是当从外部导入数据或手动输入数据时,数字可能会被误识别为文本格式,这在进行数据计算和分析时会带来诸多不便。幸运的是,Excel提供了一些便捷的方法,可以帮助我们一键…

使用IDEA给项目打jar包

使用IDEA给项目打jar包参考地址:https://www.cnblogs.com/blog5277/p/5920560.html 感谢作者一、准备一个Java项目并先看看效果 ​ 只想打包,就跳过这一步: 一、准备一个Java项目并先看看效果。 ​ 如果启动jar包遇到报错:无法找到/加载主类就去看看第二步开头。 1、找一…

MCU点灯

MCU点灯 芯片型号:STM32F407ZET6 4个LED灯,网络标号分别为LED0 ,LED1,FSMC D10,FSMC D11。对应的引脚号分别为PF9,PF10,PE12,PE13。原理图//1.定义变量 GPIO_InitTypeDef GPIO_InitStructureF;//F端口 GPIO_InitTypeDef GPIO_InitStructureE;//E端口 int main()//中文注释 …

电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里!

本文主要介绍了工科类学生参加比赛的必要性和益处、电子计算机类比赛的基本思路等内容电子计算机类比赛的“武林秘籍”-电赛光电设计大赛计算机设计大赛嵌入式芯片与系统设计竞赛,你要的都在这里! 为什么需要参加电子计算机类比赛 对于实现短期目标而言: 电子计算机类学科竞…

VMware安装CentOS7环境

准备 CentOS7的iso镜像 下载链接:https://mirrors.aliyun.com/centos/7/isos/x86_64/配置步骤 步骤一——创建虚拟机 1、点击创建新的虚拟机2、选择典型3、选择镜像文件4、填写对应信息5、选择虚拟机存储的位置6、存储为单个文件7、创建步骤二——配置centos7 1、打开虚拟机后…

Mybatis执行器

mybatis执行sql语句的操作是由执行器(Executor)完成的,mybatis中一共提供了3种Executor:类型 名称 功能REUSE 重用执行器 缓存PreparedStatement,下一次执行相同的sql可重用BATCH 批量执行器 将修改操作记录在本地,等待程序触发或有下一次查询时才批量执行修改操作SIMPLE…

本地安装seata

1. 下载,解压steata安装包 2. 修改配置里面的端口号 只要是localhost或者不是自己的端口号都更改成自己的端口号3. 修改配置nacos的文件执行 4、数据库中添加对应的表 数据库中的表名称尽量位seata_server,避免后面去修改 5、线上nacos配置 在public 下面进行配置,修改自己对…

关于自定义unordered_set\unordered_map中Hash和KeyEqual:函数对象和lambda表达式简单应用

以unordered_set为例,首先在cppreference中查看其模板定义:可以看到Hash类默认是std::hash<Key,KeyEqual类似,本文将Hash以函数对象写出,将KeyEqual以lambda写出。 class hashvec{public:size_t operator()(const vector<int> & vec) const {return hash<…