版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 ·1进入21世纪后,我国各家商业银行相继完成了数据的大集中工 程,部分商业银行不仅完成了数据的物理集中同时也实现了数据的逻 辑集中,从而使商业银行的IT风险管理、生产管理、数据管理、运维 管理、研发管理、测试管理等诸多方面的IT管控能力得到进一步的提 升,数据集中工程实现之后,各家商业银行的IT体系布局也逐步形成 研发、测试、生产三足鼎立格局。在测试领域,由于数据集中之后面 临着数据量的增长、交易量的增长和程序变更频率加快等实际情况, 因而各家商业银行已经和正在面临着应用软件投产后的容量和性能的 缺陷和瓶颈的困扰。基于近年来性能测试的实践,笔者将从理论、流 程、方法、工具和技能5个
2、维度探讨银行应用软件的性能测试的实质 和规律,旨在引起有关领导、专家和专业人员对该领域的方法论的足 够重视,并对其共同进行一些研究。一、软件性能及性能测试目前,业界对软件性能的定义主要有两种观点。第一种的观点 是,软件性能是软件产品重要的质量指标之一,它描述软件系统或者 组件对其及时性要求的符合程度,通常用及时性、吞吐量及可伸缩金融软件性能测试的中国工商银行股份有限公司数据中心(北京 林勇 霍嘉 侯志荣 理论分析 性来衡量。软件性能是软件产品的非功能特性之一,目 前各家商业银行的软件开发部门提供的软件需求说明 书(或者其他单独的文档用专门的章节对软件性能 需求加以明确,主要分为系统性能、安全性
3、和可靠性等 具体方面。第二种观点是,软件性能是软件产品重要的 质量指标之一,它描述软件系统或者组件提供及时服务 的能力,性能包括速度、吞吐量和持续高速性三方面的 要求。具体而言,速度往往通过平均响应时间来度量, 吞吐量通过单位时间处理的交易数来度量,而持续高速 性是指保持高速处理速度的能力。以上两种定义没有本质的区别,定义中描述的软件 也完全适用于商业银行的应用软件。对于金融软件来讲,站在不同的角度,对于软件 性能的要求往往不同。作为业务人员,软件性能往往意 味着业务请求响应时间,这个响应时间不仅仅是软件的 响应时间,还包括网络的响应时间(比如某应用软件系 统在版本测试过程中,由于分行网络带宽
4、限制,业务人 员大都反应系统速度太慢,实际上系统性能问题并不明 显,甚至还要包括业务人员的操作时间。作为系统管 理员(或者应用维护人员,通常通过计算机系统的性 能指标,比如CPU利用率、内存使用率、用户并发请 求数等技术指标来衡量。作为软件开发人员,则可能把 架构设计复杂度、内存使用方式、资源竞争等指标作为 软件性能的重要指标。软件性能评价的不同“用户视 角”,是软件性能测试工程师不能忽略的因素。软件性能测试既可以作为软件测试过程中的一项内 容,也可以作为软件专项测试单独实施。软件性能测试 是软件非功能测试工作中的重要内容,既遵循软件测试 的一般规律,也有其特殊性,往往以基础的功能测试完 成为
5、前提。对一个系统而言,软件性能测试包括执行效 率、资源占用、稳定性、安全性、兼容性、可扩展性、 可靠性等。软件性能测试用来保障产品发布后系统的性 能和容量满足用户的需求,性能测试在软件质量保障中 起着重要作用。软件性能测试还可以分为负载测试、压 力测试、配置测试、破坏性测试、可靠性、容量测试等 多项具体的内容,其主要区别是测试目标和测试手段有 所差异。压力测试是软件性能测试的主要形式和基础。 在不同的应用领域开展性能测试工作,工作的目 标与工作过程会有所不同,一般包括三个方面的应用领 域。一是软件版本(包括了多个项目集中打包的综合版 本或者应用版本投产的生产补丁的性能测试,其目标 主要是发现应
6、用软件在性能和效率上的缺陷,或者证明 应用软件无性能和效率上的缺陷,从而测算应用软件版 本投产后生产系统的性能和容量变化情况,同时也为生 产系统的性能、容量的评估和规划提供以测试数据为事 实的依据证明,如主机(Mainframe联机综合压力测 试、主机批量压力测试、集中式平台应用的联机压力测 试。二是应用软件的性能和效率问题诊断,例如可靠 性、破坏性测试。三是系统性能优化调整,其目的在于 证明系统性能在当前环境下的性能优越性,如应用软件 版本的安装、投产演练,压力测试中某些参数的调整对 性能的提升等。面向问题诊断的性能测试工作,其目标主要在于通 过压力测试,发现性能问题的瓶颈所在,往往与研究问
7、 题解决方案相结合,其工作特点具有试探性,不带确定 目标,测试场景应该在实施过程中不断变化。面向性能优化调整的压力测试工作,主要目标在于 通过性能测试确认优化方案具有实际的改进意义。其工 作方式主要是比较,在优化前后的性能测试工作中,基 于同样的环境,使用同样的测试场景,比较前后的性能 指标,至少需要实施两轮或者两轮以上场景的性能测试 及比较。无论何种性能测试,其基本的实施过程大致相同, 只是在某些具体环境上有所侧重、有所调整。本文阐述的软件测试原理和方法主要针对基本的实 施过程,在不同应用领域开展实际工作时,可作适当精 简或者补充。需要指出的是,性能测试实际上也包括了疲劳及可 靠性等因素,例
8、如,性能(压力测试在一定的负载状 态下持续一定的时间,就是一个典型的考量应用软件的79 FINANCIAL COMPUTER OF CHINA 2009·1 ·1疲劳强度的方法。由上所述,我们可以将性能测试的目的描述为以下 几点。对待测试项目通过一系列的测试活动证明其不 存在性能缺陷,投产后该项目在性能上是易用、可靠和 优异的;找到其性能上的瓶颈所在;在当前的应用 软件性能表现情况下,根据银行业务发展的趋势为生产 环境的设备和容量管理及设备扩容提供依据。例如,某 银行的××应用系统生产环境下已经达到12台(套, 性能测试的目标将紧密围绕以下内容:在开发团
9、队交付 软件版本的基础上,性能测试证明了开发团队交付的应 用软件无典型的性能缺陷;或者找到了开发团队交付版 本的性能缺陷。此外,在测试环境下根据生产场景下的 主要交易特征发现单套××系统在CPU和内存负荷在 50%的情况下,以及单套××系统的处理能力在1200个并 发交易请求情况下,其交易时间和交易成功率仍然是在 合理的范围内;或者单套××系统在500个并发交易请求 的情况下,交易时间和成功率仍然在合理的范围内,生 产单位则可以根据该性能和容量基线进行合理的设备扩 容。二、性能测试的基本术语及度量指标软件性能可以用好、中和差来定性描述
10、,但没有明 确的标准。面对不同的用户,定性描述得出的结果往往 并不一致。随着对软件性能的要求越来越高,软件性能 评价通常必须进行量化计量,基于专业的度量指标进行 分析,然后得出结论。因此,从这个角度出发,性能测 试的过程,也是一个性能数据采集与数据分析的过程。 软件性能的度量指标包括以下具体内容。(1响应时间(Response Time。是指用户发出请 求到得到最终结果的时间。以开放平台典型的B/S应用为 例,系统响应时间包括系统处理时间(Web服务器处理 时间+应用服务器处理时间+数据库服务器处理时间以 及网络传输时间(Web服务器与应用服务器之间及应用 服务器与数据库服务器之间。(2平均响
11、应时间(Average Response Time。压力测试往往需要模拟多个用户,每个用户执行多次业务 操作。由于性能表现具有一定的随机性,系统性能也表 现出统计学特征,每个用户每次的响应时间往往并不相 同,计算全部用户全部请求的平均响应时间是评价系统 性能的通用方法。(3并发用户(Concurrent Users。并发用户是 衡量系统并发处理能力的一个重要指标,是指同时对 系统发出请求、施加压力的用户数量。一般并发用户 往往是针对交易或事务而言的,通常并发用户用TPS (Transactions Per Second指标来度量即每秒处理事 务的数量。对主机系统或者从CICS的角度来看,系统管
12、 理人员一般称之为交易率。(4吞吐量(Throughout。吞吐量是指“单位时间 内系统处理的事务请求数量”,直接体现系统的性能承 载能力。需要注意的是,事务请求数量可以在测试场景 中自行定义;在本文或者后续文章中采用计算机应用软 件在高峰期TPS下的持续30分钟或者60分钟的处理能力来 度量。(5性能计数器(Performance Counter。性能计数器是从系统管理员的视角出发的一种性能度量指标,比 如CPU使用率、内存PI/PO数据和I/O速率等。81FINANCIAL COMPUTER OF CHINA 2009·1 栏目编辑:李勇 liyong吞吐量响应时间成功率并发用户
13、 图1 性能测试指标三要素(6效率计数器(Performance Effective。效率 计数器是从系统管理员的视角出发的另一种性能度量指 标,例如数据移行的时间是否满足生产需要等。(7成功率(Success Rate。指在一定并发用户的 情况下计算机应用软件处理交易请求的成功处理的交易 占比的度量指标。(8性能测试指标三要素。在吞吐量相同的情况下 识别分析并发用户、响应时间、成功率。因此,并发用 户、响应时间、成功率是度量一个应用软件项目性能指 标的三重约束指标(如图1所示。并发用户的提高可能影响响应时间和成功率,响应 时间的变快可能影响并发用户和成功率,成功率的下降 可能影响并发用户和响
14、应时间。例如,响应时间提高了,需要考虑交易路径是否完 整;并发用户提高是不是在合理的响应时间内完成并达 到预期的成功率;成功率的下降是否意味着该并发用户 和响应时间在当前的情况下出现计算机应用软件的性能 瓶颈或者拐点。结合业界对软件性能的指标,通常金融软件系统的 联机性能指标也包括交易并发数、响应时间、平均响应 时间、I/O速率等基本的度量指标,但是对于不同类型的 性能测试其指标应结合项目特征而有所调整。上述性能度量指标在压力测试的数据采集与分析中 必不可少,但是如何运用这些指标来分析系统的性能, 尤其是识别“性能瓶颈”是一个比较专业的课题。比如 在在一次××系统的压力测试
15、过程中,发现无论如何增 加并发用户数量,“用户登录”的平均响应时间是25秒左右,如果把提高响应时间作为性能的目标而去修改应 用程序,实际上并不能达到目标。此时检查应用服务器 的性能计数器,却发现CPU有较大空闲。由此可见实际 上是并发用户并没有给应用服务器产生压力,在CPU 空闲率性能计数器的指引下,很快发现了网卡的问题, 问题迎刃而解。针对性能分析方法,业界也有专门的研 究。性能测试往往会谈及“脚本”的概念,业界对脚本 的描述和理解非常广泛,本文的脚本是指模拟应用软件 利用LoadRunner进行压测的交易软件,脚本的组成包括 软件实体和数据实体。三、性能测试的分类综上所述,我们结合应用软件及应用软件运行的 实体,性能测试在金融IT环境下可以定义为,在模拟生产的测试环境下,整合应用软件版本的硬件、外设、软 件、数据、容量等要素,以模拟软件运行投产的过程所 进行的一组验证活动。对应用软件版本或方案的安装、迁移、运行、性能、容量、可操作性所做的一系列核实 和测试后动。同时结合业界的一般理论,我们将应用软
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度安徽电子信息职业技术学院单招考试文化素质数学考试综合练习含答案详解【能力提升】
- 2024-2025学年度燃气职业技能鉴定考试黑钻押题含答案详解【考试直接用】
- 2024-2025学年度“安全生产事故隐患排查”知识竞赛过关检测试卷及参考答案详解(综合题)
- 2024-2025学年度河北省单招考试一类 《文化素质数学》复习提分资料及参考答案详解(综合卷)
- 2024-2025学年度监理工程师真题及答案详解(典优)
- 2024-2025学年度冶金工业技能鉴定模考模拟试题附答案详解【A卷】
- 2024-2025学年度注册核安全工程师试卷附参考答案详解(达标题)
- 2024-2025学年农村信用社招聘考试高频难、易错点题带答案详解(精练)
- 2024-2025学年四川航天职业技术学院单招《语文》题库试题及一套答案详解
- 2024-2025学年度医师定期考核通关考试题库附答案详解(典型题)
- 2026年南通职业大学单招职业技能测试题库带答案详解(突破训练)
- 2026年全国普通话水平测试10套真题(含答案及评分要点)
- 纺织服装行业2025年信用回顾与2026年展望-
- 2025年12月青少年机器人技术等级考试理论综合试卷四级真题(含答案)
- 2026年南京信息职业技术学院单招职业技能测试题库带答案详解(满分必刷)
- 集团公司绩效考核方案
- 2026贵州安航机械制造有限公司招聘笔试参考题库及答案解析
- uv机打印安全生产规章制度
- 2026年高考时事政治时事政治考试题库含答案
- 牙本质敏感课件
- 2025~2026学年湖南省长沙市长郡双语实验中学七年级上学期第一次月考英语试卷
评论
0/150
提交评论