引领农业银行性能测试一体化平台建设
Posted 我们的开心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引领农业银行性能测试一体化平台建设相关的知识,希望对你有一定的参考价值。
文/杨易寰
近年来,随着大数据、人工智能、云计算等新技术不断落地应用,农行也开展了主机交易下移、开放核心银行建设等系列工作。在新的科技形势下,性能测试工作对安全生产发挥的支持和保障作用也愈发重要。IT系统架构和技术栈的不断升级,给性能测试工作带来了需求种类增多、测试密度加大、执行链路拉长、测试节点增多等诸多挑战,使得传统“单兵”化的性能测试工作开展方式已无法适应,测试环节独立分散、测试资产缺乏积累、测试工具种类繁多等现实因素也限制了性能测试工作无法在新环境下高效开展。
为推进性能测试工作在新的科技形势下不断发展,面对新需求、新场景、新方法的实际测试要求,探索构建具有统一视图展示、统一归口接入、统一资源管理的性能测试工具体系,建设发压工具统一、执行流程标准、发压资源集中、测试资产统一管理的全流程一体化性能测试平台势在必行,将对提升性能测试开展效率和工作质量具有重要意义。
“1+2+3”一体化设计构思
性能测试一体化平台设计,需综合考虑测试需求、工具操作、执行环节、功能扩展等诸多要素,但核心还是要在统一的性能测试工具体系下,将设计、调试、发压和管理的操作标准化,集中有效的管理测试资源和资产,依靠灵活的扩展特性为多平台多类别的测试需求提供支持适配,最终建立起覆盖线下和线上的全流程性能测试一体化平台。结合行内性能测试工作实际特点,平台在一体化设计方面提出了“1+2+3”的整体构思。
“1”代表统一测试工具。测试工具的使用是性能测试整体流程中的核心环节,具体包括了交易或接口调试、测试脚本设计、性能发压实施、监控数据分析等流程。测试工具的选取和应用对整个测试工作开展的影响至关重要,统一的性能测试工具也是一体化平台建设的关键基础。长期以来,农行使用的性能测试工具包括Hiperstation和LoadRunner等传统主机端或开放端商业化产品。但在IT技术日益革新的背景下,这些传统测试工具在技术功能、应用场景、灵活扩展、保障支持、费用成本等多方面,已不能满足农行日渐增长的性能测试需求和持续更新的技术栈要求。为此农行从2017年初就着手组织性能测试工具的产品调研和技术选型工作,以性能优秀、扩展灵活、自主可控、业内流行为目标,开展了对各类性能测试工具的研究试用。统一后的性能测试工具作为一体化平台整体建设基础,需要具备可本地化调试和可线上执行管理的线上线下交互能力,满足常规对性能测试的协议适配、功能支持、调试发压等测试需求,还要具备与行内科技工作同步更新发展的能力,包括技术流行、可自主扩展、可对接外部的灵活特性。综合功能性、扩展性、业内应用情况、工具发展现状等多方面因素,最终建设形成以JMeter为工具基础的本地化调试和线上云发压的统一操作流程,建立工具使用统一、发压资源统一、测试方法统一的测试工具应用支撑环境,最大限度确保测试稳定性,降低管理和操作的复杂度。
“2”代表支持农行两大性能测试领域,农行性能测试包括主机和开放平台两大性能测试类别,两大平台的测试需求、场景、方法和流程存在诸多差异,涉及特有的系统资源和程序数据,实际执行独立性较强。性能测试一体化平台应有针对性的对两大测试类别提供差异化测试辅助和自动化支持,包括需求协议适配、特色功能增配、操作执行自动化等,通过自研扩展、工具对接、流程改造等方法支持多平台的性能测试工作,确保不同测试的方法和流程都能得到效率提升。
“3”代表3类性能测试进阶发展方向,在测试工具、操作流程统一的基础上,探索测试资产管理、测试监控分析、测试链路对接三方面高纬度功能的扩展,一方面帮助测试人员更清晰的获取测试状态,捕捉并挖掘测试过程中的异常,协助开展执行分析。另一方面提升性能测试整体工作的管理和扩展能力,为后续性能测试接入开发测试全流程自动化链条打好基础。依托自主研发实现自底向上的测试工作分层支持,推进整体性能测试工作向更标准、更前沿、更有效的方向不断创新发展。
“1+2+3”设计构思下实施的性能测试一体化平台建设,将测试环节做到有效组织和关联,在工具层面将调试、发压、结果分析流程统一,在管理层面把服务、资源、资产进行高效管理,组成了多系统和多工具联合交互的统一整体,支撑性能测试工作又快又好开展。
图1 “1+2+3”一体化设计构思
一体化平台技术实现
性能一体化平台涵盖脚本设计调试、线上发压、监控分析、辅助支持等多个功能模块,各模块穿插在测试周期之内应用,彼此交互形成统一整体。测试人员在线下使用本地化工具进行测试脚本的设计和调试,支持自主研发扩展测试工具实现对新技术的适配和支持。线上的发压作业调度和发压资源管控确保了测试过程的稳定性和可靠性。测试脚本、测试日志等记录的统一保存实现了测试资产管理的基础功能。对外提供的多种功能接口,可灵活对接使用,为后续系统间对接和性能测试链条融合提供了开放性保障。整体来看一体化平台模块间有序交互,测试环节标准化程度加强,测试管理和需求适应能力得到了明显提升,很好的支撑了性能测试工作开展。
图2 一体化平台功能模块交互架构图
在测试人员本地端,常规的性能测试脚本设计、调试转移到了JMeter工具上。将接口结构录入、报文录制、测试元件配置、测试数据关联及生成、参数化设置等方面的操作集中起来,根据不同用户需求实现元件化搭配。根据业务需求和测试人员需要,进行启动前配置、数据配置、执行策略配置等组装操作,最终实现测试交互的全流程。本地化操作载体的统一,解决了因测试工具差异、执行流程差异、关注要素差异带来的测试效率低下与测试管理分散问题,形成了测试标准化管理模式,为对接发压平台或进行脚本间关联复用提供了统一的基础工具保障。
而在发压阶段测试人员则可借助线上发压功能模块,实现脚本发压统一管理。测试发压作为实施性能测试的核心环节,对测试结果的影响至关重要。为统一管理发压资源,最大限度降低因设备差异、资源差异带来的压力效果不一致问题,依靠XMeter线上发压模块,提供大并发压力执行、发压资源管理、发压过程监控等功能,为整个测试发压环节提供统一、稳定、可靠的资源保障。
图3 XMeter线上发压模块功能介绍
自主研发支撑主机和开放性能测试
在工具功能支持和新需求适配上,JMeter工具支持用户自定义的各类协议、函数和功能插件,尤其是对核心的测试协议支持,自主扩展的能力可伴随农行科技系统发展灵活满足各类测试需求。由于原生工具无法支持农行主机性能测试,农行人自主研发实现了报文解析、收发、组装、验证、调试、录制等多种主机性能测试功能,不仅实现了协议适配和发压支持,还扩展了多项辅助功能,有效支持了主机性能测试的开展。
针对涉及主机和开放性能测试的部分差异化操作步骤,自主研发测试辅助支持功能模块,将部分高频操作进行了自动化改造,实现了多平台测试中特有的功能需求,提供包括主机监控报告解析生成、生产指标展示对比、数据格式转换等多种辅助功能,帮助测试人员提升工作效率。
一体化平台高维度功能扩展
在对常规性能测试流程提供支持的基础上,一体化平台还在不断研发更多提升测试效能的功能。在测试监控方面,推出了被测资源监控和分析功能,通过在被测端部署资源采集探针,将压测过程和系统资源波动相关联,为测试人员提供更多维度的数据指标参考,更便捷的辅助测试人员发现和识别测试异常或系统问题。在测试资产管理方面引入了脚本标签化概念,在系统级、项目级层面进行测试脚本绑定,并可由测试人员自定义脚本信息,实现对测试脚本、测试记录、测试信息的分类清晰保存,为系统级脚本复用、定期交易回归等后续工作打下基础。
图4 监控分析服务交互
总结与展望
尽管性能测试一体化平台还处于发展融合的早期阶段,但从应用效果来看,平台对性能测试开展效率和测试管理水平的提升作用已有所体现。一体化平台借助统一工具将测试操作流程标准化,线上提供稳定的高频性能发压资源保障,并具备了有效的测试资产集中管理能力,满足了新科技发展形势下行内性能测试工作需要,为农行IT系统安全生产保驾护航。后续性能测试一体化平台将持续进行工具扩展、过程自动化、监控分析、系统对接融合等功能研发,为提升农行研发过程中的性能测试工作开展水平不断努力!
杨易寰,现就职于中国农业银行研发中心系统支持部,2015年以来专注性能测试领域工具平台研发、性能测试实施管理支持、主机交易性能优化分析等工作。
12.
轮值总编:曹 宁
责任编辑:张笑冰
美 编:黄 翔
技术支持:张 娜
我们的开心 · 总编辑部
(引 领)
以上是关于引领农业银行性能测试一体化平台建设的主要内容,如果未能解决你的问题,请参考以下文章