51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4057|回复: 1
打印 上一主题 下一主题

[原创] 浅谈银行开放平台应用系统性能测试

[复制链接]
  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 1042 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-12-25 10:33:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    随着银行主机应用的陆续下移,开放平台应用的数量和规模均呈上升趋势,应用系统性能的高低不仅影响着系统上线后的稳定运行,更关系着银行的声誉。性能测试作为应用系统上线前性能把控的最后一道关口,其重要性不言而喻。本文针对性能测试过程中的存在的问题,梳理并研究开放平台应用系统性能测试方法和技术,明确了性能测试过程重要环节的工作策略,目的在于指导性能测试工作开展,进而提升性能测试质量。
      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. 结束语
      本文围绕开放平台性能测试执行过程中的五个重要环节,给出了具体的实施策略和技术要求。进一步研究方向包括:一是梳理应用系统类型,按照应用系统类型和交易类型细化性能测试方法;二是建立性能指标监控平台,集中监控操作系统、中间件、数据库性能指标及应用性能指标,提高性能指标获取和性能调优的自动化水平;三是探索云测试技术,利用云端的测试服务来进行更高效的测试;四是研究挡板工具和交易日志回放技术,提升性能测试的专业化水平。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2020-12-25 13:43:56 | 只看该作者
    感谢大佬分享
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-10 06:50 , Processed in 0.071243 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表