随着银行主机应用的陆续下移,开放平台应用的数量和规模均呈上升趋势,应用系统性能的高低不仅影响着系统上线后的稳定运行,更关系着银行的声誉。性能测试作为应用系统上线前性能把控的最后一道关口,其重要性不言而喻。本文针对性能测试过程中的存在的问题,梳理并研究开放平台应用系统性能测试方法和技术,明确了性能测试过程重要环节的工作策略,目的在于指导性能测试工作开展,进而提升性能测试质量。

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内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

银行手机APP软件做性能测试吗,浅谈银行开放平台应用系统性能测试相关推荐

  1. 银行手机APP软件做性能测试吗,20家农村商业银行个人手机APP评测:CPU占用率差距最大可达32倍 流量消耗成重灾区...

    为持续跟踪和检测手机银行APP的兼容性和易用性等方面的表现,为行业发展提供有益参考,中国电子银行网联合CFCA兼容和性能测试平台对20家农村商业银行客户端进行测试.今年测试范围首次加入IOS系统,与安 ...

  2. 银行数据仓库体系实践(20)--浅谈银行数据仓库发展趋势

    整个系列的文章从银行数据仓库架构,ETL,模型,数据管理以及几大方面应用介绍了数据仓库,可以让大家对银行数据仓库有个概要的了解,但在各子系统设计,技术方面没有太深入介绍,后续也会陆续补充.作为这个系列 ...

  3. 银行手机APP安全评估报告【转载】

    猫头鹰工作室 我不相信命运,但尊敬命运 主页 大数据 Kafka Spark Hbase Redis Flume ActiveMQ 渗透测试 方法论 Kali测试 APP安全 OWASP 脑图 Too ...

  4. 想开发手机APP软件,首先要弄清楚以下10点

    当今互联网时代,手机app软件开发已经成为时代的潮流,企业想开发自己的专属手机软件APP,却不知道怎么去和手机软件开发公司谈合作,更不知道一款手机APP开发需要经历哪些流程,因此,达不到各取所需的成效 ...

  5. 如何开发手机APP软件?

    一门APP开发平台能做APP嘛 1.可靠的.专业的在线app开发平台可以满足中小企业的基本功能,而且制作出来的app非常专业,也可以拿来进行使用,如应用之星,就是采用控件式操作方式,菜鸟也可以制作出来 ...

  6. 怎么DIY快速制作一款手机App软件?

    随着APP软件的普及,越来越多的企业以及个人都加入创建自己的APP应用软件,现在我们来分享一下如何DIY快速制作一款手机App软件. 市面上有很多DIY App制作工具,它们普遍使用的是拼装式.这样的 ...

  7. 数字经济时代下老年群体手机APP软件网络推广适老化需求日益明显

    随着"3·15"国际消费者权益日的来临,曝光了一系列虚假诱导.泄露消费者信息等企业品牌或商家,在"3·15"晚会上指出老年人使用手机更应该注意安全陷阱,避免因为 ...

  8. 安卓手机软件开发_无代码手机app软件开发,让人人都是专业开发工程师

    点击上方蓝色字关注我们~ 近期,谷歌发布了自己的无代码在线app开发平台,这款全新工具旨在让任何一个人都可以轻松进行手机app软件开发.这样的动作无疑指引着安卓软件开发的未来.

  9. 医疗器械小程序或手机APP软件开发方案

    提供海内外高品质医疗器械 医疗器械市场国内近几年发展速度加快,但是与发达国家的部分医疗器械产品仍存在一定的差距,为给用户提供高品质多元化医疗器械产品,企业通过小程序或手机APP软件除了为用户提供国内先 ...

  10. 制作一个手机APP软件需要拥有哪些资质证明?

    移动互联网+商业时代的井喷期已至.在你的事业蓝图中,是否早已打算好开发制作一个属于自己的APP应用平台呢?那么,在制作APP前应该有哪些准备工作,今天小编就带您了解一番,制作一个手机APP软件都需要拥 ...

最新文章

  1. c语言程序代码_10道C语言笔试模拟题,来看看你掌握的怎么样?
  2. 【Android】Java回调原理并结合Android源码进行理解
  3. 自定义曲线_完美动力小课堂:AnimationCurve(动画曲线编辑) 如何使用?
  4. Python的交互式界面 编写 .
  5. 【Wordpress】分享500多款国外WordPress经典主题 其之三
  6. [react] 说说你对reader的context的理解
  7. 四、操作系统——读者写者问题(详解)
  8. sql azure 语法_Azure Data Studio中SQL代码段
  9. django-debug-toolbar 工具
  10. 如何提高WEB程序的效率
  11. windows jdk8
  12. hdu 6638 Snowy Smile
  13. 神经网络基础知识--感知器,S型神经元,梯度下降法,神经网络架构
  14. Linkerd 2.10(Step by Step)—设置服务配置文件
  15. 30分钟完成pandas入门
  16. [软考]挣值管理EVM详细解释及应用,实例讲解收集(信息系统项目管理师-成本管理)...
  17. Hive常用函数大全
  18. 如何通过命令行查找一个IP的地理位置信息
  19. DBN的浅显易懂解释
  20. 服务器添加二级域名网站教程,服务器添加二级域名

热门文章

  1. 蓝牙的四种音频编码:Apt-X、SBC、AAC、LDAC
  2. 2020牛客暑期多校训练营(第九场) The Flee Plan of Groundhog
  3. 著名球星罗纳尔迪尼奥担任巴西旅游大使
  4. PTA - 二分查找
  5. 按键精灵手机版_关于截屏一些方法
  6. 游戏设计模式——观察者模式(Observer)
  7. python转xlsx为xls 或重新保存xls
  8. 【数字IC/FPGA】时钟无毛刺切换
  9. 在Blender中使用代码控制人物模型的头部姿态 - 代码实践Dlib版本
  10. Java实现微信红包随机金额算法