金融行业自动化测试解决方案应用.doc_第1页
金融行业自动化测试解决方案应用.doc_第2页
金融行业自动化测试解决方案应用.doc_第3页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、金融行业自动化测试解决方案应用打开文本图片集【摘要】:p :本文结合浦发银行测试工作实际,说明了自动化测试框架的构成及设计思路,对比了手工测试和自动化测试的成本、收益和适用场景.D【关键词】:p 金融业软件测试自动化测试1引言云计算、大数据以及移动支付等新一代互联网技术的革新,推动金融行业衍生出更多业务模式,推出更多产品和服务。然而随着产品线的拉长,发布周期的缩短,投产变更风险随之增大,对研发测试质量也提出了更高的要求。自动化测试是一种让计算机代替手工的测试方法,通过自动化技术手段模拟人工完成测试案例的执行工作,通过完成大量可重复性、相对稳定的测试案例执行工作,将大量的人力从枯燥的測试执行工作

2、中释放出来,节省测试工作周期。自动化测试技术可以高效检测出系统缺陷,明显降低银行IT系统的测试成本,缩短系统发布周期,但也存在初期投入大,维护成本高等问题。如何结合手工测试并充分发挥自动化测试的作用?如何将自动化测试技术应用到金融行业的核心系统测试?本文进行理论和实践的探索。2解决方案概览根据我们在测试实践中的经验总结,自动化测试需要考虑测试项目管理、测试要素管理、测试执行的动态均衡调度等多个关键问题。图1展示了自动化测试解决方案示意图。2.1测试项目管理我们经常遇到多个系统的集中变更,因此经常需要同时开展多个测试项目,而多项目的并发进行容易造成测试资管理的混乱,延长了系统发布周期,提高了测试

3、成本。测试项目管理负责对多个并发进行的测试所使用到的流程、工具、方法和资进行规划和监控,按项目生命周期组成的整体统一管理流程,能够有效减少由于测试项目数量增大造成的混乱状况,帮助组织机构掌控测试的开展,了解测试进度、合理安排测试阶段,使得测试项目有序进行。2.2测试要素管理不同的测试项目可能同时需要使用测试资,因而需要跨项目的测试要素管理,实现合理分配资、控制风险。测试要素管理用于管理测试工作各个环节的参与要素,包括测试需求、测试案例、测试数据、测试环境信息及测试版本管理等,能够做到统一管理,保障测试流程高效运转,测试执行全面监控。测试要素管理是支持自动化测试实施的核心。自动化测试需要对测试执

4、行全过程的所有参与要素进行细粒度的控制,用来支持测试启动,测试过程和结果记录等众多自动化步骤的实现。为了提高自动化测试能力,测试要素管理模块需要对多种测试要素数据存储和管理进行优化,从而能够支持对大规模测试的功能和性能要求。2.3测试执行动态调度自动化测试的关键环节是测试执行的高效率实现。对于复杂的金融系统,数量庞大的测试案例对测试管理和测试执行效率带来了双重挑战。可以采用测试案例的分级管理,按照是否并发运行分类,也可以根据测试需求的实际需要构建不同的测试场景,可以有效降低管理复杂度。同时,通过部署在执行机(移动设备)上的微代理,调度端可及时掌握该执行机(移动设备)的软硬件资配置情况、自动化任

5、务执行情况等。测试执行机资不再与单个测试项目绑定,实现执行机资按需动态分配,测试执行机(移动设备)可以被多个项目使用,实现资复用,最大限度提高测试执行效率。3成功案例浦发银行云测试管理平台是按照上述方案搭建的自动化测试工作平台,通过提高自动化测试水平、对接测试资池和集成行业测试工具,实现了并发测试任务与测试资的自动匹配、调度和管理,支持接口类、字符终端类、GUI界面类、Web页面类和移动应用类等多种类型的自动化测试,为用户提供了按需响应的测试服务。3.1系统组成3.1.1测试项目与要素管理模块测试项目管理模块支持测试项目统一流程管理,为管理层提供测试项目进度视图。测试项目管理模块包含五个核心功

6、能包括:项目管理,计划管理,度量分析p ,资管理和监控等。测试项目管理模块覆盖功能、技术类测试等全部测试类型。测试要素管理模块能够全面管理各个测试项目全生命周期的各类测试资,包括测试需求、测试案例、测试数据、测试缺陷和测试结果等测试要素,从而为质量测试全面监控提供细粒度的管理支持。图2是测试要素管理模块的示意图。3.1.2测试动态调度执行模块测试动态调度执行模块包括分发主控服务器和自动化测试执行客户端。自动化测试分发主控服务器负责接收测试计划执行请求,按照测试计划提供的配置,打包分发各个测试场景中的业务流,并接收自动化测试执行客户端返回的执行结果信息。同时,提供一系列的API,供其它系统监控执

7、行情况和获取执行结果数据。分发主控服务器支持多任务并发下的测试申请,自动匹配执行机(移动设备)资池中可用资。分发调度主要遵循以下原则:“按优先级匹配原则(缺省为先到先服务);最小属性集优先匹配原则,先满足先执行”。动态调度支持执行机资分配动态伸缩,主要包括“资充足时贪婪分配算法和资紧张时均衡收缩算法”。负载均衡调度机制支持测试案例执行的进度监控。对于紧急发生的测试需求,平台支持人工干预,对测试任务进行必要调整。图3是动态均衡调度机制示意图。3.1.3自动化控件管理模块基于原子控件的自动化案例设计模式通过对用户操作行为的分析p ,将被测系统中的用户控件进行原子化操作分类,例如文本输入、点击(按钮

8、、链接)、选择(单选、多选)、滑动等,以实现对被测系统中原子化操作的定向驱动。同时支持基于原子控件的二次封装,以更好的适应项目的具体需要。例如网银系统自动化测试案例准备时,既可以直接使用原子控件WebClick,也可以使用二次封装后的UIAPEBLogin控件。用户使用构建好的自动化原子控件库即可完成案例的组装,此模式可有效支持同应用类型不同业务系统的自动化驱动,更好的复用自动化封装的控件库资产,最大化的降低自动化封装工程师的代码封装工作,并且专注于具体业务系统中的非标准、安全类、外设类等控件的自动化封装处理工作上。3.1.4测试数据管理模块针对金融行业IT系统的海量数据和数据安全性特征,平台

9、支持对多项目跨系统的共享测试数据进行统一管理,最大限度复用测试数据,缩短测试数据的准备周期。为提高测试数据的使用效率,从测试案例执行前的静态配置扩展到执行时进行动态配置,提高测试数据执行时的使用效率。将共享数据(如柜员、凭证等)的分配放在执行时,通过案例编写时的配置,测试案例在执行时再去查询共享数据并加锁使用,使用完成后再解锁。这样保障了共享测试数据的使用效率,同时也节省了数据准备成本。3.2自动化测试方案特点(1)适用范围广泛。适用于接口类、字符终端类、GUI界面类、Web页面类和移动应用类等多种系统的自动化测试。(2)自动化程度高。支持无人值守,具有执行过程自动记录,录像回放等功能,并支持

10、对失效点的定位显示,加快缺陷定位和修复进程。(3)性能出色。支持上万数量级的并发测试案例执行,得益于其并发测试执行的动态均衡调度机制。高效的并发测试执行调度,能够最大限度发挥资利用率。(4)低成本。通过对金融行业的常用功能建立自动化测试原子控件,支持对原子控件的二次封装,实现用户自定义的自动化测试,减少对测试人员的编程能力要求,进一步降低了测试成本。(5)扩展性好。易于和第三方测试工具集成。平台提供开放的API接口,方便第三方工具集成,例如,可快速集成JIRA,SELENIUM等,从而有效整合测试资。3.3效果分析p 以核心产品化系统投产验证测试为例,单个变更需要回归执行的测试案例数约为600

11、0个。变更的发布周期平均为2周,包括审批变更计划,编译部署,测试,修复,复测以及发布上线多个阶段,其中可用于测试的时间窗为在3个工作日内。按一个工作日8小时计算,手工测试人员在3天可以完成500个回归测试案例的执行,完成6000个案例的测试执行需要配置12人完成。采用自动化测试方案后,可以24小时无人值守连续运行,完成单个测试案例的统计平均执行时间为0.5分钟,一"次执行平均执行时间约为2小时。在测试规模较小时,手工测试和自动化测试在时间消耗上差别不大。假定测试人員工作效率恒定,随着测试规模增大,在测试时间窗内所需要的测试人员数量急剧增加,此时的应对策略是潮汐式的增加测试人员或者对测

12、试范围进行剪裁。如果采用自动化测试,则可以通过添加执行机方式实现并发测试能力扩展,自动获得对超大测试案例集的测试能力。3.4与手工测试的对比我们知道,自动化测试的准备工作包括测试案例(脚本)的编写,测试数据的准备等环节,首次测试时成本较高,在自动化案例维护成本可控的情况下,其收益与迭代执行次数成正比,自动化测试带来的收益计算公式为:迭代执行次数_(手工执行成本一案例维护成本)一首次自动化测试准备成本。自动化测试和手工测试的成本曲线对比参见图4。虽然自动化测试在效益和效率上可带来一定程度的提升,但自动化测试并不能取代手工测试,除了首次自动化的准备工作外,我们仍需要人工进行测试结果的分析p 确认,

13、测试过程中异常排查以及业务变更引发的自动化案例维护等工作。表1中从不同纬度对两者进行了对比。在开展应用系统自动化测试时,可结合上表和自动化测试收益计算公式进行判断。根据我们的经验,具有以下特点的系统适合做自动化测试:(1)系统生命周期长,变更频率较高;(2)系统重要性与出错代价高,往往直接面向外部客户的系统;(3)系统功能点多,回归测试执行工作量大;(4)软件前端界面、接口相对稳定。对于大部分的金融应用系统来说,使用自动化测试确实能够对金融IT系统的变更进行全面的回归测试,保障开门交易等重点交易不受变更的影响,从而有力保障金融业务系统的稳定可靠运行。4小结目前金融行业中在倡导DevOps理念,提倡加强开发、测试、运维团队之间的协作,以适应越来越快的软件发布频率,这就必然要求提高软件开发、测试、投产全过程中各环节的自动化水平。我们认为自动化测试是手工测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论