中国银行业软件测试框架的思考与实践

栏目: 编程工具 · 发布时间: 5年前

内容简介:作者:中国工商银行业务研发中心 郝毅中国工商银行业务研发中心 郝毅

作者:中国工商银行业务研发中心 郝毅

中国银行业软件测试框架的思考与实践

中国工商银行业务研发中心 郝毅

行业现状:在互联网金融发展新形势下,金融软件一方面要关注金融安全性、政策约束性、系统稳定性和操作易用性等内容,以满足不同利益相关方的价值诉求;另一方面也要应对新战略、新理念、新技术的外在变化,以保持持续的生命力和竞争力。在此背景下,测试工作如何应对机遇和挑战,完成转型升级,是新时代银行业软件测试面临的新命题。

金融软件测试面临的困局与思考

改革开发的四十年,是我国金融业迅速发展的四十年,也是银行科技规模化扩张的四十年。时至今日,规模化原始积累的内部矛盾日益凸显,银行科技面临的外部环境也发生了变化。

首先,在银行软件测试内部,我们面临着测试设计不全、自动化水平不高、过程成果可追溯性不强等问题,测试实施和管理成本不断加大。如何解决这些问题,关系着银行业软件测试能否持续发展。

其次,金融软件作为新时代金融业务发展和风险防控的主要载体,能否进一步提高金融软件系统的安全性、稳健性,实现金融业务在合规、安全的环境下快速创新,关系着我国金融安全和稳定发展的大局。

再次,在“互联网+”的战略驱动下,软件对用户需求的响应速度越来越快,敏捷、DevOps等新理念备受关注,其理论和实践体系渐近完善,软件质量保证工作从传统的功能性测试上升到全面的产品风险防控,产品视角的UAT测试显得更为重要。

最后,金融科技促使业务渠道从柜面转至互联网,获客方式从人工销售升级为智能销售,金融科技正在颠覆传统的业务布局和运营模式。这些新技术如何进行测试验证,是否可以加以利用,将测试做得更好,是银行业软件测试需要研究的新课题。

内外部环境变化的同时,软件工程及软件测试的理论发展为银行业软件测试发展指明了方向,行业实践成果为银行业软件测试的转型升级提供了借鉴。 一方面,软件研发模式的实践应用正在经历从传统研发管理阶段到敏捷开发阶段,再到“双模IT”阶段的过程。 中国工商银行2017年成立网络金融部标志着工行进入了“双模IT”阶段。中国银行2017年建立了敏捷研发体系,实现不同研发模式的相互切换。招商银行借力CMMI四级认证建立了适应招行特点、支持双模的持续交付流程。 另一方面,软件测试基础理论逐渐完备,ISTQB、TMMi、ISO29119等国际通用的软件测试标准逐步得到各行业的认可,多家银行也正在积极学习,自我总结,推进测试过程的改进工作。

中国银行业软件测试框架整体概述

为推动银行业软件测试的规范化、持续化发展,工商银行充分总结自身软件测试发展历程和实践经验,形成了具有中国特色的银行业软件测试框,几经修订后形成中国人民银行、银行同业、第三方机构和服务商共同认可的指导性框架。该框架在设计时遵循了三个原则:全面性原则,即内容要全,能够涵盖各种测试职责、研发模式和测试等级;灵活性原则,即框架能够根据各家银行实际情况进行裁剪使用;持续发展原则,即框架要根据实际发展和需求对内容进行持续更新。

整体上,中国银行业软件测试框架(如图1所示)将测试工作整体划分为目标、组织、规范、过程、风险、质量、知识、 工具 等八个绩效域。八个绩效域相对独立又互为依存,形成了软件测试的整体思考框架。

中国银行业软件测试框架的思考与实践

图1 中国银行业软件测试框架

①目标域,描述软件测试机构的目标管理框架,是基于组织的使命和核心职责定义的。实践过程中,目标域指导组织内部组织结构的划分和协作模式的建立,并为风险管理和质量管理提供基准参考,驱动过程改进。

②组织域,定义软件测试相关的机构、角色,各自的职责及协作关系。实践过程中,组织体系和角色职责的划分对测试流程是否顺畅起着决定性影响,也间接影响着各项目标的实现情况。

③规范域,定义测试组织在测试管理活动和实施活动中约束全体成员行为的相关制度和办法。实践过程中,要做好关键工作活动的规范化管理,以制度规范的方式明确定义活动干系人的职责分工和协作方式,要持续更新制度规范以匹配价值目标的需要。

④过程域,定义软件测试的工作内容和基础流程,描述所有测试工作项及相互之间的关联关系。实践过程中,应根据研发模式定义各项测试活动和工作流程,通过风险管理和质量管理对各项工作内容和进展进行评估,确保各项工作与价值目标的一致性。对关键工作项的实施过程进行规范性要求,逐步实现此类工作的标准化、工艺化,进而通过平台建设实现信息化和自动化。

⑤风险域,定义所有的软件产品风险和项目管理风险。实践过程中,软件测试过程就是全面的风险管理过程,应在整体目标策略指导下识别并验证软件的潜在风险。可借助风险知识库和管理平台指导风险管理工作的有效开展。

⑥质量域,定义软件测试过程所必需的、体系化的质量管理模式。实践过程中,质量域包含多个质控点,质控点应始终与目标相一致,并通过工具平台实现关键工作流程的硬控制和绩效数据的自动采集、计算,驱动过程改进,进而完成相应的目标和制度更新。

⑦知识域,定义开展测试工作所需掌握的知识和具备的技能,以及与知识技能提升相关的一系列机制保障。实践过程中,应将知识与相应的测试过程建立紧密联系,明确关键岗位和任务应具备的知识技能;必要时可将重要的方法升级为制度规范,提高约束力;通过知识平台建设推进知识的积淀和传承,并在测试过程中发挥重要作用。

⑧工具域,定义开展测试工作所使用的平台和工具,以及平台工具全生命周期管理的相关机制。实践过程中,工具平台应始终以满足测试工作需要为第一原则,辅助推动测试过程的规范化和自动化建设。

中国银行业软件测试框架的应用实践

中国银行业软件测试框架有四个应用方向,从行业层面可以逐步开展银行业软件测试标准体系的建设,建立银行业软件测试认证评估机制,促进行业整体水平的提升。从单个银行或测试机构层面,可裁剪为适合自身需要的过程治理指导框架,也可以建立测试能力评估及过程改进模型,指导测试组织的过程改进和持续发展。

当前工行的实践主要集中在过程治理指导框架的应用方面。工行根据自身需要,裁剪并形成《标准化的测试过程体系框架》,该框架以过程域为核心,即标准的测试过程;将目标域、风险域、质量域转变为三个管理策略,即目标驱动,风险导向和度量检测;将组织域、规范域、知识域、工具域转变为四个基础保障,即组织模式、制度规范、资产库和工具建设。截至目前,我们在标准的测试过程、风险导向、资产库、工具建设方面进行了深入实践。

标准的测试过程主要包含测试过程标准流程和流程下的最佳实践。标准流程定义了所有测试工作项及相互之间的关联关系,强调各项工作可管理、可复用、可追溯,实现过程可控、结果可信。特别是将主线流程进行分段管理,详细定义每个工作项的操作过程和输出成果,并对输出成果进行标准化、资产化管理,以标准化提升质量,以资产库提升效率(如图2所示)。

中国银行业软件测试框架的思考与实践

图2 测试过程标准流程

以设计测试案例为例,详细定义了案例设计的视角、抓手、步骤、过程及结果信息,基本实现了测试案例设计环节的工艺化实施,输出的案例能更方便地转换为自动化案例快速执行。而这个过程也是MBT(模型驱动测试)思想的直接应用,兼容瀑布、敏捷、DevOps等多种工作模式。

在风险管理方面,我们遵照国际管理,将风险分为产品风险和项目风险。实际工作中,将产品风险与标准测试流程的阶段和工作项相融合,项目风险主要关注测试管理类活动,产品风险主要关注测试实施类活动,两者相互融合、相互促进。如此一来,测试过程也就是全面的、全生命周期的风险管理过程(如图3所示)。

中国银行业软件测试框架的思考与实践

图3 全面的测试风险管理

在资产库方面,为了进一步澄清业务内容和软件产品的测试目标,采用业务架构建模思想,建立银行业务描述的元模型,并制订了统一的银行业务描述规范。借助资产库平台提供的标签、关系定义等功能,能够建立银行业务的知识图谱,满足多用户、多视角的不同检索需求,并在软件研发测试过程中进行复用和更新。

在工具建设方面,我们专注测试信息化和自动化的提升,从测试管理、测试分析、测试执行、测试支撑、资产管理、投产发布六个领域实现对“标准化的测试过程体系”全面支撑。将常用的、稳定的工作流程通过信息化工具进行固化,实现工作快速处理,达到提高测试效率,严控测试质量的目标。

2018年10月份,《中国银行业软件测试框架》在2018年中国银行业软件测试成果交流会上得到了与会单位的一致赞许。尽管该框架从逻辑上较为完整并在一定范围内进行了检验,但仍需要进一步在更大范围内进行验证并持续完成,才能真正成为有推广价值的行业实践指导框架。期待有更多的银行、第三方机构和服务商参与启动,为中心银行业软件测试的体系建立、标准建设贡献力量。

本文节选自《金融电子化》2019年03月刊

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算的本质

计算的本质

[英] Tom Stuart / 张伟 / 人民邮电出版社 / 2014-11 / 69.00元

《计算的本质:深入剖析程序和计算机》借助Ruby全面介绍计算理论和编程语言的设计。作者注重实用性,不仅尽量抛开复杂难懂的数学符号,而且特别选用简单快捷的编程语言Ruby,在读者熟知的背景知识下,以明晰的可工作代码阐明形式语义、自动机理论,以及通过lambda演算进行函数式编程等计算机科学知识,并为让其自行探索做足准备。 本书适合计算机科学系学生,以及熟知现代编程语言,想要系统地学习计算机科学......一起来看看 《计算的本质》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试