性能测试-平均事务响应时间ART分析解析,要卷就卷成最强的...

news2024/11/27 8:43:47

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

业务背景:
很简单,项目第一次在银行生产环境上线,对核心交易进行压测,找出核心交易是否有瓶颈,对于整个专业的性能测试过程来讲,要求算简单的了。下面我们说所的是关于一个指标达标的定位,优化的过程,即ART响应时间。

ART是个啥:“平均事务响应时间”显示的是测试场景运行期间的每一次事务执行所用的时间,通过它可以分析场景运行期间应用系统的性能走向。

例如随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着时间的变化,整体性能将会有下降的趋势。

可能影响ART的指标有至少以下这些:

业务方面:
简单来说就以下两个:
1、用户量,用户量多了不受影响,那这个系统真的很牛X,当然我说的是大批量用户激增,或者日积月累大批量用户引入。正常系统都会被其影响响应时间。

2、业务复杂度提高,这个好理解,业务复杂了以前三步能搞定的事儿,需要六步搞定,肯定也会受到影响。

系统方面:这个比较多,性能测试中真正去调优的过程,恰恰是以下方式的倒叙。

系统资源,硬件资源过小,不足以支撑现有用户量,或者递增,激增用户及业务量;
系统资源配置,中间件配置,数据库配置,应用server配置,配置项可能包含的点:Linux系统参数,如文件句柄,端口回收机制。中间件连接数,数据库连接数,应用server框架及其部署方式,熔断机制,流控机制,应用日志级别等。

代码处理方式,代码逻辑方式;
数据库效率,SQL效率;
测试时的加压方式,性能测试脚本合理性,参数合理性,测试数据分布的合理性;

ART 分析:
分析之前,经常有人问你,你的交易响应时间是多少,TPS能到多少(这东西不在这儿说了),我们的系统性能差,应该如何分析响应时间呢。响应时间的长短如何定义呢。

以下几点非常重要:
1、性能测试是必须以性能测试目标(测试指标)为导向的测试(当然功能测试也应该是,但是好像功能测试最后可以妥协),否则没有任何意义。

2、有了第一点的意识,就必须知道你的目标在哪,ART值的多少就是你的其中一个很重要的测试指标。

3、指标一定是测试开始前分析出来的,数据量化出来的,如果你是脑洞的,你的测试就是最大的漏洞,测试结果对系统的影响也很有可能是破坏性的。

性能测试有多折磨人,显而易见了,因为就一个ART的结果你就要通盘考虑以上所有的,何况还有更恐怖的TPS。当然价值与成就感也不言而喻了。需要强调的是这种成就感和价值,这对于研发和测试起到的作用是同等的,且积极的。

分析定位:
要想准确定位ART是多少,那我们怎么入手,怎么分析呢,因为我们的系统有N个系统模块,还不算银行系统有多少次交互,和有多少个系统。

那么方法论来了:拆分,细化,排序外。逐一来讲一下:

1、拆分
无论你有多少个系统,多少个模块,我们都要在开始测试前拆分出来,认清楚你的交易路径经过了多少个系统,本次测试一笔交易要经过网关系统,账户模块,支付模块,及银行网关系统。

2、细化
清楚了交易路径,我们就要进行细化交易,细化到最简单的交易路径,比如我们的目的只是为了测试自己的充值逻辑是否有瓶颈,事实是测试过程中,充值,提现,都在基准负载测试中无法达标(我们定的目标是500ms-800ms以内)。

以充值交易为例,剔除其他任何指标的影响,只是支付模块进行了充值逻辑的处理,那么我们主要关注的就应该是这个模块。

3、排序
有了交易路径,有了主要测试核心目标模块(支付模块),我们要定位充值交易的响应时间耗时,都合理的在哪里消耗掉了。

响应时间ART定位准确尊从以下步骤:
收集性能目标;(也就是调查用户对响应时间的满意值);
量化性能目标(包括分解性能目标、量化各部分性能目标);
确定系统功能和交易路径;
满足性能目标。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你愿意为之奋斗,任何事情都有可能实现。每一次失败都是成功的必经之路,坚持下去,你会发现自己比想象中更强大。不要停止前进,即使路途艰辛,未来一定值得期待。

只要你心中有梦想,就不要停下奋斗的脚步;只有坚持努力,才能迎来更好的自己。让梦想成为你前进的动力,永不放弃,勇往直前,一定会收获成功的果实!

只有在你勇敢面对困难和挑战时,才能真正看到自己的潜力。所以不要害怕失败,不要逃避困难。用你的坚强和毅力去征服每一个难关,最终你会在奋斗中发现更好的自己!

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

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

相关文章

5.基于图神经网络的点云分类

目录 一、数据处理二、点云生成三、PointNet阶段1:通过动态图生成进行分组阶段2:邻居聚合 四、网络架构五、训练程序 在本教程中,您将学习使用图神经网络进行点云分类的基本工具。在这里,我们得到了一个对象或点集的数据集&#x…

北京大学研发基于机器学习的多能干细胞分化系统,高效、稳定制备功能性细胞

内容一览:20 世纪以来,干细胞与再生医学技术一直是国际生物医学领域的热点前沿之一。现如今,研究人员已开始探索将干细胞转变为特定类型细胞。然而,这一过程中干细胞会出现不规则生长或自发分化为不同类型细胞的情况,因…

大数据治理:数据安全

数据安全 (Data Security)一般指保护重要的、机密的纸质信息或数字信息,防止未经授权的非法访问、泄露、篡改、丢失、损坏、数据滥用等情形。数据安全涵盖的范围非常广泛,包括存储数据的硬件设备、访问数据的软件环境、访问权限控制、相关的规章制度等。…

vscode配置clangd和clang-format

vscode安装和配置 如何安装和配置vscode以搭建c开发环境,可以查看我的另一篇博客:Windows上最轻量的vscode-C开发环境搭建。 在这篇博客中,详细介绍了如何安装vscode以及应该安装哪些插件。这里不再赘述。 vscode中想使用clangd来作为语言…

Unity极坐标Shader特效,以及使用Instanced Property实现相同材质不同参数

Unity极坐标特效 先看看效果 Unity极坐标Shader特效 有时候我们需要在场景中摆放一些热点,用户点击之后出现互动,当然实现这个功能的方法有很多,作为一名程序员,当然是要用最简单的实现。用shader程序化实现它。 啥是极坐标 极坐…

鲸落送书第二期清华出版社系列丛书

1.《Node.js从基础到项目实践(视频教学版)》 《Node.js从基础到项目实践(视频教学版)》以理论结合实践的形式,讲解了Node.js 基础、框架、进阶知识和项目实践。本书为视频教学版,每一章节都有相对应的视频讲解&#xf…

番茄工作法图解——简单易行的时间管理方法

ISBN: 978-7-115-24669-1 作者:【瑞典】诺特伯格(Staffan Noteberg) 页数:136页 阅读时间:2023-06-10 推荐指数:★★★★★ 番茄工作法(意大利语:Pomodoro Technique)是一…

网工内推 | 数通专场!最高19k*13薪,HCIE/CCIE认证优先

01 嘉环科技股份有限公司 招聘岗位:数据工程师 职责描述: 1、 承担TL/TE职责,负责数通接入(路由器、交换机、安全、PTN、OLT等)相关产品的工程项目交付。 2、 作为技术负责人/交付工程师支撑项目交付,指导…

zabbix监控域名证书期限

前言 zabbix通过自定义key"domain.discovery"发现域名(Json格式),然后自动生成监控项,监控项通过自定义key"https"获取域名证书有效期,若少于30天则出发告警。 说明 名称作用domain.txt域名列表…

day06--java高级编程:多线程,枚举类,注解,反射,网络通讯

1 Day16–多线程01 1.1 程序概念 程序(program):是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 1.2 进程 1.2.1 概念 进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一…

基于Python3.7的robotframework环境搭建步骤

Windows环境搭建 安装Python3 官网下载,我这边环境是Python 3.7.0 安装robotframework基础依赖 在dos命令输入 pip install robotframework 在线安装robotframework 在dos命令输入 pip install Pypubsub3.3.0 在线安装 Pypubsub 在dos命令输入 pip install wxPy…

汇编学习教程:寻址大总结

前言 在上篇博文中,我们主要学习了一个全新的寄存器:bp。bp 寄存器在功能和使用上与 bx 有着异曲同工之妙,只不过两人绑定的服务对象不同:bx 默认绑定的是 DS 段寄存器,而 bp 默认绑定的是 SS 段寄存器。bx 和 bp 有着…

抓包!抓包! HTTPS中间人抓包

简介 抓包是一种网络分析技术,可以用于捕获和分析数据包,通常用于网络故障排查、协议分析、安全审计等。网络上所有的数据包都是以二进制的形式在网络上传输的,抓包工具可以捕获到这些数据包并将其转换为可读的格式,方便进行分析…

Python使用阿里API进行身份证识别

Python使用阿里API进行身份证实名认证 1. 作者介绍2. 身份证识别介绍3. 调用阿里智能云API4. 代码解析4.1 完整代码4.2 实验结果 参考 1. 作者介绍 孟莉苹,女,西安工程大学电子信息学院,2021级硕士研究生,张宏伟人工智能课题组 研…

极致呈现系列之:Echarts折线图的视觉冲击力

目录 认识折线图折线图的创建折线图的美化修改折线的样式修改坐标轴的样式修改折线图上点的样式将折线设置为平滑曲线设置渐变色面积给折线图添加标记线给折线图添加标记点 折线图的交互添加鼠标悬停提示添加数据区域选择与缩放 认识折线图 折线图是一种常用的数据可视化图表&…

React中的HOC高阶组件处理

先了解函数柯里化 柯里化函数(Currying Function)是指将一个接受多个参数的函数转化成一系列只接受单个参数的函数,并且返回接受单个参数的函数,达到简化函数调用和提高可读性的目的。 简单来说,柯里化即将接收多个参…

大数据为什么如此重要?

简单来说,大数据就是结构化的传统数据再加上非结构化的新数据。那么传统数据和新数据又是什么呢?传统数据就是IT业务系统里面的数据,如客户资料、财务数据等。这些数据是结构化的,量也不是特别大,一般只是TB级。对比传…

如何让自己的代码顺利通过代码审查?

最近很多同学,都去暑期实习了,实习就意味着要在公司项目是写代码了。 大多数同学,可能面试能力不错,但是实操还是弱了一些。之前有位同学,春招靠面试能力去了大厂,然后实习刚工作的时候,要写代…

Java30天拿下-----第二天(运算符,标识符,Scanner,进制转换)

Java30天拿下-----第二天 一 运算符算术运算符赋值运算符关系运算符逻辑运算符三元运算符运算符的优先级 二 标识符关键字保留字 三 控制台接收键盘输入:Scanner四 进制进制的转换(基本功)其他进制转为十进制十进制转为其他进制二进制转为其他…

《当我谈跑步时,我谈些什么》痛楚难以避免,而磨难可以选择

《当我谈跑步时,我谈些什么》痛楚难以避免,而磨难可以选择 村上春树,日本当代小说家,情感类类型作家。主要作品有《且听风吟》《挪威的森林》《海边的卡夫卡》《奇鸟行状录》《1Q84》等。 施小炜 译 来自百度百科的一条&#xff1…