银行项目性能压测?关键链路性能压力测试,测试老鸟总结...

news2024/11/16 21:44:13

目录:导读

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


前言

随着银行业数字化转型的日益深入,银行信息系统的规模和复杂度日趋庞大,系统之间的耦合度越来越高,交易链路的长度和复杂度也日益增加,交易链路中任一个环节出现性能问题均可能导致交易操作失败,甚至影响整个系统和关联系统的运行。

性能测试作为系统投产前性能把控的最后一道关口,其效果影响着生产系统的稳定运行,而当前性能测试主要以系统为维度进行测试。

如何对交易链路尤其是关键链路进行有效的性能测试,从而提前避免可能的生产问题,成为性能测试面临的挑战。

银行系统性能测试多数着眼于单个系统,对于关联系统大多采用挡板代替,导致无法对交易的整个链路进行有效测试,近年来生产上屡次出现了由于某系统出现性能问题导致关联系统性能受影响的情况,传统的单系统性能测试显然已经无法满足生产稳定运行的需求。

但银行业对系统稳定运行的要求较高,加之业务和关联关系复杂、技术架构和基础软件多样化、测试环境构建和维护困难等原因,在生产环境进行全链路压测的成本和风险较大。

基于以上情况,有必要结合银行业实际情况,探索对重要系统的关键链路性能测试。

1、实施目标

针对银行重要敏感对客系统,梳理重要交易的关键链路,构建关键链路压测环境,定期或在业务峰值来临前开展模拟生产场景的测试,从而发现关键链路潜在的性能问题,为生产系统性能优化和容量管理提供参考。

2、实施路线

以单个系统为试点,梳理覆盖生产系统日交易量90%以上的重要交易,分析各交易涉及的关联交易和系统,形成重要交易关键链路视图,并据此构建关键链路性能测试环境,按需开展关键链路压测。

总结单个系统的关键链路性能测试的试点情况,完善实施方案和技术支撑,逐步推广到其它重要敏感对客系统,实现重要敏感对客系统关键链路性能测试的全覆盖。

3、关键环节

关键链路梳理:
首先分析生产系统交易监控数据,从上一年日峰值交易量中找出覆盖日交易量90%以上的服务端交易,然后根据服务端交易找出前台对应的交易或功能,分析交易或功能涉及的交易和系统,形成重要交易关键链路视图。

如:A系统覆盖日交易量90%以上的交易为A1、A2、A3、A4、A5,以上交易对应A系统的前台交易或功能为B1、B2、B3,则只需要梳理B1、B2、B3涉及的链路。

测试环境配置:
以关键交易或功能列表和交易链路视图为基础,构建关键链路测试环境,形成覆盖前、中、后台相关系统的测试环境,关键链路测试环境应根据生产环境的变化定期更新维护。

测试场景设计:
测试场景应该压到测试环境性能拐点,以便找出关键链路的薄弱环境,并进行优化,同时也可以找出关键链路服务器的最佳配比。

测试场景包括正常场景和异常场景两类。
正常场景:
为关键交易组成的混合场景,交易配比应尽可能与生产系统的交易配比相同,交易量应以上一年峰值交易量为基础并考虑业务的增长速度,具体可通过交易监控结果动态调整测试场景交易配比,以便尽可能模拟生产系统实际运行情况;

异常场景:
可结合以往生产事件设计,如考虑关联系统响应超时等异常情况下,系统能是否设置了限流或熔断等保护机制;此外混合场景可考虑分别进行单机或集群模式下的压力测试,以便为生产环境容量管理提供参考。

3、压力测试工具

传统的压力测试工具Jmeter、Loadrunner、nGrinder等在面对高TPS的时候,受工具本身架构的制约,controller组件由于数据传输较大常常会出现性能瓶颈,导致测试无法进行,因此,需要对现有的压力测试工具架构进行重构,以适应高TPS的测试要求。

4、关键链路监控

考虑到生产环境的交易量监控维度与测试环境不同,生产环境往往以服务端交易为监控对象,而测试环境则以前台页面的功能或交易为监控对象,为准确对比测试结果,测试环境应配置与生产环境相同的交易监控系统。

并配置Dynatrace或其它全链路的监控,以便对比和分析交易性能。此外,条件允许的情况下,应探索关键链路监控方法,实时显示关键链路上各系统的交易TPS、交易成功率及资源使用情况,并设置告警机制,以便快速发现链路的性能问题。

5、测试结果分析

对于性能测试TPS能够达到生产系统交易量级的,可以将性能测试结果与生产系统交易监控结果直接进行对比,对比结果可作为生产环境资源配置的参考。

对于性能测试TPS达不到生产系统交易量级的,首次测试完毕后作为基线,后续测试结果可与基线进行对比,从而评估系统性能的变化情况。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

热爱梦想,追求卓越,奋斗是实现自我的力量源泉。勇往直前,突破极限,用汗水浇灌成长的花朵。坚信坚持付出,迎接挑战,唯有奋斗,方能书写人生的辉煌篇章,绽放自己独特的光芒!

心怀信念,坚定前行,奋斗是追逐梦想的不竭动力。勇敢闯荡,逾越巅峰,用努力筑起辉煌之路。以自我为信仰,迎接挑战,唯有不懈奋斗,才能书写出属于自己的壮丽人生!

梦想燃烧心中,追逐扬帆,奋斗是腾飞的引擎。坚韧向前,超越极限,用汗水铸就辉煌华章。坚信自我力量,迎接挑战,唯有不懈奋斗,方能创造属于自己的壮丽人生!

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

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

相关文章

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集 前言相关介绍COCO格式实例分割数据集转换为YOLO格式实例分割数据集coco格式对应的json文件,以test.json为例格式转换代码,内容如下 前言 由于本人水平有限,难免出现错漏&#xf…

MySQL基础(五)主从复制及读写分离

目录 前言 一、概述 (一)、MySQL Replication (二)、MySQL复制类型 (三)、MySQL支持的复制方式 二、部署MySQL主从异步复制 (一)、master(主) &#x…

一起来学shiny把(3)—-添加控件

什么是shiny?Shiny是一个R包,可让您轻松地直接从 R 构建交互式 Web 应用程序(应用程序)。本系列是个长教程,带你由浅入深学习shiny。 上一节我们在文章《R语言系列教程—–一起来学shiny吧(2)》…

【C++11】——右值引用、移动语义

目录 1. 基本概念 1.1 左值与左值引用 1.2 右值和右值引用 1.3 左值引用与右值引用 2. 右值引用实用场景和意义 2.1 左值引用的使用场景 2.2 左值引用的短板 2.3 右值引用和移动语义 2.3.1 移动构造 2.3.2 移动赋值 2.3.3 编译器做的优化 2.3.4 总结 2.4 右值引用…

开源盛行:为什么学习国产达梦数据库?

开源盛行:为什么学习国产达梦数据库? 武汉达梦数据库股份有限公司成立于2000年,是国内领先的数据库产品开发服务商,国内数据库基础软件产业发展的关键推动者。公司为客户提供各类数据库软件及集群软件、云计算与大数据等一系列数据…

【数据结构】·顺序表函数实现·赶紧学起来呀

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

element-ui使用动态渲染下拉选择框el-select已经选择的下拉框的值不可以重复选择让其disabled

调接口拿到下拉框数据的数据的时候将其disabled全为true 但是如果编辑的时候就需要与详情接口对比,如果有id一致就将disabled为true if (res.code 0) {if (this.dialogtitle "新增合同") {res.data.map((v) > {v.nameUnitVoList.forEach((item) >…

九耶:产品经理面试题 ——请说说工作中你主导的产品上线后你会关注哪些数据指标?

【面试官考察的点】 实际的产品工作中需要通过数据驱动业务:产品经理了解用户对不同功能的使用情况,行为特征和使用反馈,这样可以为产品的改进提供很好的方向。面试官想考察你是否具备数据分析的意识和能力。 【满分回答】 在产品上线后&am…

百度开发者平台API地理编码,根据地址获取经纬度

地理编码 | 百度地图API SDK (baidu.com) 原始csv # encoding:utf-8 import requests import csv import json # 接口地址 url "https://api.map.baidu.com/geocoding/v3"# 此处填写你在控制台-应用管理-创建应用后获取的AK ak "XXXXXXX"# 创建CSV文件并…

vue 实现拖拽效果

实现方式:使用自定义指令可以实现多个面板拖拽互不影响 1.自定义指令 js directives: {// 拖拽drag(el) {el.onmousedown function (e) {let x e.pageX - el.offsetLeftlet y e.pageY - el.offsetTopdocument.onmousemove function (e) {el.style.left e.pag…

掌握Python的X篇_12_如何使用VS Code调试Python程序

本篇将会介绍如何使用VS Code调试Python程序。 文章目录 1. 什么是调试2. 断点3. 如何启动调试4. 监视窗口5. 单步 1. 什么是调试 我们可以利用VS Code对Python代码进行调试。所谓调试,大家可以理解成有能力将程序进行 “慢动作播放”让我们有机会看到程序一步一步…

一文2500字详解如何使用mock.js实现接口测试的自动化

这篇文章主要为大家介绍了如何使用mock.js实现接口测试的自动化详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 Mock.js 基础用法介绍 Mock.js是一个常用于生成随机数据和拦截Ajax请求的JavaScr…

linux基础学习

1.day1 1、修改虚拟机的网络; sudo vim /etc/netplan/*.yaml sudo netplan apply 2.day2 1、VIM配置; 2、安装SSH,调用putty接入终端; 3、shell命令; *:匹配任意长度的字符 ?:匹…

关于前端框架vue2升级为vue3的相关说明

一些框架需要升级 当前(202306) Vue 的最新稳定版本是 v3.3.4。Vue 框架升级为最新的3.0版本,涉及的相关依赖变更有: 前提条件:已安装 16.0 或更高版本的Node.js(摘) 必须的变更:核…

CAN总线开发必看! 如何使用CANlib检测CAN帧溢出情况? Kvaser三招帮你轻松解决

从1980年代,Kvaser就开始CAN产品的研发,在相关产品开发领域有近40多年的经验,对CAN和相关总线技术有着非常深入的研究。广州智维电子科技是KVASER的中国引进者,我们会不定期分享一些有趣的发现和特定情况的技术处理。 在开发严重…

美国过境签证申请也要面签吗?

随着人们出国旅行的增加,美国过境签证成为了一个热门话题。对于许多人来说,了解美国过境签证的流程和要求非常重要。在这篇文章中,知识人网小编将介绍美国过境签证是否需要面签,以及相关的注意事项。 首先,让我们来了解…

Redis7学习笔记01

一、redis7实战教程简洁 1、大纲: ①、适合对象,从小白到熟手,一套全包圆 ②、Redis专题-大厂面试题,含100道 ③、Redis专题-真实需求生产真实案例 ④、Redis7新特性 2、小白篇高阶篇: 3、大厂面试题&#xff1a…

web场景-静态资源规则与定制化

一、SpringBoot默认静态资源路径 1.1 静态资源放在类路径下: /static/public/resources/META-INF/resources 1.2 浏览器访问: 当前项目根路径/ 静态资源名 eg:如上图,要想访问这四张图片,访问路径依次为:localhos…

1400*C. Computer Game

Example input 6 15 5 3 2 15 5 4 3 15 5 2 1 15 5 5 1 16 7 5 2 20 5 7 3 output 4 -1 5 2 0 1 解析: k个电, 第一种为 k>a 时,只玩游戏 k-a; 第二种,k>b,一边玩一边充电 k-b 问完成n轮游戏的情况下,优先第…

被逼无奈在小公司熬了2年,现在我终于进了腾讯测试岗...

其实两年前校招的时候就往腾讯投了一次简历,结果很明显凉了,随后这个理想就被暂时放下了,但是这个种子一直埋在心里,想着总有一天会再次挑战的。 其实这两年除了工作以外,其余时间基本上都在学习,打磨自己…