随着银行主机应用的陆续下移,开放平台应用的数量和规模均呈上升趋势,应用系统性能的高低不仅影响着系统上线后的稳定运行,更关系着银行的声誉。性能测试作为应用系统上线前性能把控的最后一道关口,其重要性不言而喻。本文针对性能测试过程中的存在的问题,梳理并研究开放平台应用系统性能测试方法和技术,明确了性能测试过程重要环节的工作策略,目的在于指导性能测试工作开展,进而提升性能测试质量。
1、现状分析
近年来,各商业银行均组建了专业的测试团队承担性能测试工作,工作规范度日益加强,但由于银行开放平台应用系统具有规模大、交易量大、数据量大、技术架构和软件多样化、关联系统复杂等特点,性能测试工作仍存在一些问题。一是测试范围缺乏合理的筛选机制,导致重要交易可能未纳入测试范围;二是通过准则的制定依赖于开发人员和测试人员的项目经验,与实际情况可能存在较大差异;三是测试环境配置以完成测试任务为目标,与生产环境差距较大,无法有效模拟生产系统运行情况;四是场景设计风格各异,直接影响了测试质量;五是性能调优经验未能有效的传承,导致重复问题解决耗费时间较多。基于以上情况,规范性能测试过程,传承历史测试经验,对性能测试工作上的开展尤为重要。
2、实施策略
2.1 筛选测试交易范围
筛选测试交易范围应结合测试目标和项目范围,明确系统和关联系统的交易列表,分析用户量或交易量分布情况、交易复杂度、数据量,再根据交易特性评分表(如表1所示)对交易进行评分和排序,最终结合测试周期、工作量投入情况以及业务增长趋势等确定性能测试范围。
表1 交易特性评分表
其中,生产环境有应用监控的系统应获取生产环境交易的用户量、交易量及数据量,新系统或生产环境没有应用监控的系统应预估交易的用户量、交易量及数据量;交易复杂程度的可根据交易的表操作和外部调用计算,计算公式为交易复杂度=交易的表操作*0.1+外部调用*2。
2.2 制定测试通过准则
2.2.1 联机交易
联机交易的性能测试通过准则应包括但不限于并发用户数或TPS、响应时间、成功率、资源利用率。其中,经营管理类应用系统等交易量较小的系统,宜以并发用户数作为通过准则;网银、掌银、线上支付等交易量较大的系统,宜以TPS作为通过准则。在制订各项指标时,应采集交易系统日均交易量、峰值交易量、响应时间等生产监控指标,并结合业务预期进行评估,制订各项指标通过标准。
① 并发用户数估算可按实时在线用户数的10-20%估算,或通过公式C=nL/T、计算(C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T值考察的时间段长度;是并发用户数峰值)。
② TPS宜采用二八原则(指80%的日均交易量在20%的时间段内完成)或峰值交易量计算的最大值。
③ 普通联机交易基准响应时间推荐在500ms以内,接口类交易基准响应时间推荐在50ms以内;并发响应时间可参照非功能需求的相关指标制定,接口类联机交易推荐在500ms以内,非接口类普通联机交易推荐在1s以内,非接口类复杂联机交易推荐在3s以内。
④ 成功率应在99.6%以上。
⑤ 资源利用率参照生产环境上资源利用率的监控策略制定,例如:CPU利用率不超过80%,不存在内存溢出等。
测试环境不能完全匹配生产环境资源配置时,并发用户数或TPS、响应时间等指标应根据测试与生产环境的比例关系进行调整。
2.2.2 批量程序
批量程序的性能测试通过准则应包括但不限于批量节点号/节点名称/批量程序名称的处理数据量/生成数据量、并发子节点数、批量程序执行时长、成功率和资源利用率。
执行时长应符合批量程序要求的时间窗口,成功率应为100%,资源使用率参照生产环境上资源利用率的监控策略制定。
2.3 环境配置
环境配置涉及部署架构、软硬件配置和测试数据三个方面,各方面的具体配置要求如表2所示。
表2 环境配置要表
2.4 场景设计
测试场景应结合应用系统特点、测试目标、测试类型以及生产系统运行情况进行分析并设置,测试类型主要分为压力测试、负载测试、对比测试、容量测试、配置测试和高可用测试。
联机交易测试场景一般应包括基准测试、单交易负载测试和单交易/混合交易疲劳测试场景,涉及系统架构调整、基础软件升级、系统配置参数调整等情况应进行对比测试,对比测试场景应包括单交易/混合交易疲劳测试场景。其中,单交易负载测试/混合交易负载测试可按需增加阶梯负载测试;待测交易为单个交易时,疲劳测试场景可执行单交易疲劳测试场景;混合交易疲劳测试可加入背景交易模拟系统的实际运行情况,混合交易配比应根据各交易的交易量和响应时间来确定。常用测试场景描述如表3所示:
表3 常用测试场景表
批量程序测试场景应根据并发节点数设置基准测试和并发测试,铺底数据量与生产环境差距较大时推荐进行对比测试。
2.5 性能调优
性能调优推荐按照“硬件-网络-系统配置参数-应用程序-系统架构”依次进行分析、调优,各调优项的关注点如表4所示。
表4 性能调优关注点
3、结束语
本文围绕开放平台性能测试执行过程中的五个重要环节,给出了具体的实施策略和技术要求。进一步研究方向包括:一是梳理应用系统类型,按照应用系统类型和交易类型细化性能测试方法;二是建立性能指标监控平台,集中监控操作系统、中间件、数据库性能指标及应用性能指标,提高性能指标获取和性能调优的自动化水平;三是探索云测试技术,利用云端的测试服务来进行更高效的测试;四是研究挡板工具和交易日志回放技术,提升性能测试的专业化水平。
版权声明:本文出自《51测试天地》第五十四期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。