• 快捷搜索
  • 全站搜索

商业银行智能化测试用例设计及执行平台

2016-12-27 17:51:35作者:华夏银行科技开发中心 宛秋 向力 赵寅宁编辑:金融咨询网
华夏银行以提高测试质量和测试执行效率为核心,以提高测试作业过程的智能化程度为目标,研究打造了基于测试需求驱动的智能化测试用例设计及测试执行的一体化平台。本文结合商业银行传统自动化测试现状,详细阐述了华夏银行建设自动化测试平台的过程及实现的科技突破。

华夏银行以提高测试质量和测试执行效率为核心,以提高测试作业过程的智能化程度为目标,研究打造了基于测试需求驱动的智能化测试用例设计及测试执行的一体化平台。本文结合商业银行传统自动化测试现状,详细阐述了华夏银行建设自动化测试平台的过程及实现的科技突破。

图片5.jpg

自动化测试平台架构设计

  华夏银行智能化测试用例设计及执行平台主要由自动化测试用例设计及生成平台和自动化测试执行平台两部分构成。自动化测试用例设计及生成平台包括业务处理单元、图形分析工具、规则引擎、用例生成引擎、脚本生成引擎、对象智能识别、测试规划模型以及通讯模块等8大部分。主要负责测试需求表达、自动用例设计、执行调度以及测试报告自动生成等功能。自动化测试执行平台负责按照自动化测试平台指令,完成用例执行,预期结果计算及比对、测试结果记录等。二者通过TCP/IP与FTP两种通讯协议进行指令下达和数据交互,测试平台将测试用例及脚本下发至执行机,驱动执行机完成测试用例执行,再将执行结果回传至平台,自动完成整个测试作业过程。

图片6.jpg
图1 华夏银行自动化测试平台总体架构

  通过以上架构设计(如图1所示),华夏银行旨在打造一个涵盖测试需求分析、测试用例设计、测试执行、测试报告生成的全流程自动化测试平台。实现人工干预最小化、自动化程度最大化、灵活应对系统变更,以及规范测试用例设计、增强测试用例有效性和覆盖度,提高测试执行效率的目的。

自动化测试平台实现的技术创新

  1.测试需求矢量化表达,规范测试需求分析标准。传统的测试需求一般通过文字方式表达,容易产生理解上的歧义。华夏银行自动化测试平台提供了对单一业务功能以及业务功能间关联关系的分析方法和分析手段。借鉴UML理论,从业务流程、交易、数据要素三个维度进行分析,采用流程图、状态图、规则引擎、对象智能识别等手段,实现对测试需求的矢量化表达,保证了测试需求的唯一性、可测性和准确性,规避了传统方式表达测试需求带来的理解歧义。

  2.集成应用多种测试用例设计方法,自动生成颗粒度统一的测试用例。传统的测试用例设计是由测试人员根据测试需求按照一定的测试设计技术,并结合自身经验完成,对业务的理解和对测试技术的掌握因人而异,产出的测试用例质量干差万别。华夏银行自动化测试平台将流程图、状态图、规则引擎与等价类、边界值、笛卡尔乘积、PARIWISE等测试设计技术集成应用,解决了测试用例设计过分依赖人员技能的问题,统一了测试用例设计颗粒度,降低了对测试人员测试设计技术掌握程度的依赖,使测试用例设计标准化。自动生成的测试用例既可用于自动化执行,也可用于手工测试执行,实现了测试用例设计的全景视图。

  3.“一站式”自动生成测试脚本及数据,减少人工干预。传统的自动化测试在每轮测试开始前,需要人工编写测试脚本以及填写测试数据准备表,并为每个用例指定测试数据,再由计算机执行测试用例,通常会耗费大量的人工工作量,测试数据错误亦将导致自动化测试结果不准确。华夏银行自动化测试平台利用组件化技术,将图形化的测试需求与脚本生成引擎进行封装,并通过数据规则引擎将测试用例与测试数据集成,“一站式”自动生成测试用例脚本及数据。实现了测试脚本的自动生成和测试数据的自动准备,打破了以往通过手工方式准备测试数据的现状,降低了测试脚本维护成本,实现了无需人工干预的自动化测试,为灵活应对系统变更提供支撑。

  4.测试结果计算参数化,实现测试结果的异步检查。传统的自动化测试需要对测试结果人工计算预期结果值,并在用例执行过程中同步进行结果比对和检查。华夏银行自动化测式平台依托参数化运算组件,完成测试结果的自动计算和比对,通过智能化测试计划运算模型,不仅支持测试执行步骤与结果的同步验证,而且支持批次用例执行和测试结果的异步检查,提高了测试执行的智能化程度。

  5.面向对象的松耦合处理机制,支持自底向上和自顶向下的双向测试设计。自动化测试平台运用了关键字技术和面向对象的设计方法,对业务组件、预期结果、检查点、测试日志、错误处理等进行抽象封装,既支持自底向上的设计模式,也支持自顶向下的设计模式。同时由测试用例自动生成测试规程,增加了自动化测试设计的灵活性。

  6.基于测试需求驱动测试,快速灵活应对系统变更。传统的自动化测试是对已有用例的自动化执行,是通过划分业务组件,将业务组件组装成自动化脚本。当被测系统变更时,需要人工调整测试用例、脚本和数据。如果无法及时完成调整,自动化测试将失去意义。华夏银行自动化测式平台是基于测试需求驱动的自动化测试,当被测系统变更时,仅需人工修改测试需求,由平台将测试需求的变更部分自动调整至测试用例、脚本和数据,实现对系统变更的快速响应,进一步提高了自动化测试的实用性。

自动化测试平台的应用及效果

  1.提高了测试需求分析质量和业务场景的覆盖度。华夏银行自动化测试平台通过采用固化在平台中的业务流程图、状态图,以及交易步骤图分析方法,并结合数据项分析、业务规则分析等方法,将测试需求分析过程和结果简易化、标准化,提高了测试需求分析质量。目前平台已覆盖了100多个系统或产品的自动化测试。在测试用例覆盖度方面,这些系统或产品的测试用例规模相比未实施自动化测试之前平均增长超过了300%。

  2.提升了测试用例执行效率和测试结果准确性。银行业务场景、流程相对复杂,传统的手工测试效率较低,容易出现纰漏和误操作现象。通过使用自动化测试平台,测试执行机能够快速响应测试数据、测试结果的输入和输出,提高了测试用例执行的效率和准确性,提升了测试阶段的缺陷发现率,降低了生产环境应用系统的故障率。2014年12月至2015年12月,华夏银行生产环境应用系统的缺陷数同比下降80%以上。

  3.加快了产品投产周期,节约了测试成本。平台投入使用后,整体测试效率不断提升,测试周期缩短了30%以上。随着自动化测试的不断推广,逐步将测试人员从重复机械的回归测试工作中释放出来,有效地减少了人力资源的消耗。华夏银行推广自动化测试以来,每年在测试平台上投入的成本逐年下降,替代手工测试产生的收益逐年增加,2015年产出与投入的比例已达到6:1。

  (“华夏银行基于测试需求驱动的智能化测试案例设计及测试执行平台”荣获2014年度“银行科技发展奖”二等奖)

(文章来源:《金融电子化》杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章