您的当前位置:首页正文

金融软件测试转型的思考和实践

来源:好走旅游网
Viewpoint视角编者按:

近年来,金融科技创新成为推动银行业可持续发展的重要引擎,尤其是伴随一系列新兴且更为复杂的信息技术应用于金融领域,以新技术为依托的金融创新成果不断涌现,而快节奏的创新需求也在质、效两方面对金融领域的应用测试技术提出了巨大挑战,银行业测试管理亟待实现高质量转型。

本期《视角》栏目特推出“银行业金融测试创新与挑战”专题,邀请多位测试领域专家撰稿,分享各家银行在测试工作中取得的创新成果与成功经验,共同探讨新时期银行业测试转型的趋势和路径。

金融软件测试转型的思考和实践

中国工商银行业务研发中心高级专家 郝毅中国工商银行业务研发中心 原普雨

近年来, 随着金融科技的快速发展和应用,各类新理念、新技术为新时期的软件测试工作带来了巨大挑战。尤其在金融软件测试领域,独特的创新基因也决定了其独特的发展路线,只有不断地进行改进升级,才能正确处理来自内外部的各种矛盾,从而在实现自身全面、均衡、可持续发展的同时,高效满足快节奏的金融科技创新需要。顺应这一趋势,工商银行于2018年通过整合原数据中心(北京)和产品中心的相关职能,成立了业内首家集需求设计与业务测试于一体的职能机构——工商银行业务研发中心。历经两年多的发展与实践,工商银行探索并初步形成了基于业务资产的需求测试一体化管理思路,不仅为推动科技与业务融合创新、实现金融服务再造探明了关键路径,同时也为金融机构践行国家战略、迎接未来发展和应对存量问题提供了一种全新的参考方案。

中国工商银行业务研发中心高级专家 郝毅

Copyright©博看网 www.bookan.com.cn. All Rights Reserved.2022 . 01 中国金融电脑

41

VIEWPOINT

一、测试转型的指导框架

2019年,工商银行、中国银行、交通银行联合研究提出了《银行业软件测试框架》,并在银行业软件测试成果交流会上发布。整体而言,银行业软件测试框架将测试体系划分为了过程域、组织域、规范域、知识域、工具域等五个绩效域(如图1所示),其中过程域是框架的核心,由基础流程和三个导向策略构成,具有普遍适用性;组织域、规范域、知识域、工具域则是测试框架的四个基础支撑,其内容可结合实际需要进行灵活构建。《银行业软件测试框架》的提出,旨在指导测试工作的统筹思考和全面布局,不仅有助于对测试规划工作开展系统性思考、分类管理和深入研究,还可帮助相关从业人员理清问题之间的联系、抓住问题本源,进而制定出更加全面的测试发展路线。

在上述框架的指导下,为适应全行金融科技战略发展需要,工商银行业务研发中心将需求设计与业务测试相融合,逐步探索出一条基于业务资产的需求与测试一体化的实践路线,并进一步将其细分为测试标准化、需求测试一体化、业务资产赋能等三个部分。

二、测试标准化实施路径

自2013年开始,工商银行数据中心(北京)(现业务研发中心)即开始推进测试标准化建设,经过近5年的探索研究、实践论证和全面推广,于2018年基本完成了测试标准化工作,并为TMMi5级认证的顺利实施奠定了坚实基础。

1.标准化的测试工作流程

标准化的测试工作流程定义了所有测试工作项及相互之间的关联关系,并强调各项工作可管理、可复用、可追溯,以及实现过程可控、结果可信,旨在为测试工作的全面建设、灵活实施、多视角管控等夯实基础。标准化的测试基础流程如图2所示。

首先是通过结构化、工艺化实现标准化。具体而言,标准化的测试流程大致可分为需求分析、测试设计、测试执行、测试总结等四个环节,其中包含了分解测试范围、分析需求、编写测试方案、设计测试案例、执行测试案例、结果分析及投产确认等六项工作内容,且对每个工作项均设计了明确的过程操作规范和结果衡量标准,同时工作项之间可以通过工作输出互为衔接,最终实现测

目标驱动风险导向度量监测过程域图1 银行业软件测试框架42

FINANCIAL COMPUTER OF CHINA

Copyright©博看网 www.bookan.com.cn. All Rights Reserved.测试范围投产确认测试方案测试案例需求

Viewpoint视角活动规则阶段步骤业务领域规则功能值域要素流程资产库任务图2 标准化的测试基础流程试输出物的可追溯、可管理。例如,问题缺陷通常是基于案例提交,而案例则是基于需求和风险设计,因此实践中也可以据此定位哪一部分场景、需求的问题缺陷较多。

其次是在标准化的基础上进一步实现资产化。具体而言,即指测试过程的每一项输出均可以直接映射、补充为资产库中的一项资产信息,而这些资产信息又将为下一次的项目复用提供条件。循环往复之下,存量资产的积累不仅为需求澄清、案例设计提供了直接的素材来源,同时对驱动测试效率乃至整个科技效率的提升也有着重要的价值和意义。

生成了测试案例。同时,该过程还综合运用了Pairwise理论算法、面向对象、等价类、边界值、加权系数和决策树等业界常用的设计方法和技术。案例设计的标准工艺流程如图3所示。

为帮助测试人员更好地进行线上作业,工商银行业务研发中心针对性搭建了适配测试案例标准化工艺流程的平台支撑体系(如图4所示)。在平台建设过程中,测试工艺流程通过与信息管理系统、资产库等实现无缝衔接和信息互动,为测试经理和测试人员的线上作业提供了有力的工具支撑。具体来说,项目经理在完成需求WBS后,可通过分解测试任务来帮助测试人员设计并执行测试案例,而测试人员借助工具平台对所负责的流程、功能等进行标准化分析,将能够形成四类案例,其中一类案例指由验证规则直接形成的案例,二类案例指要素取值组合形成的案例,三类、四类案例主要是对一类、二类案例补充手工步骤或自动化脚本后转换而来,基于上述四类案例的逐级细化,可充

2.测试案例的标准化设计

测试案例既是测试设计的产出,也是测试执行的依据,在整个测试流程中发挥着承上启下的作用,是实现测试标准化的关键环节之一。不同于传统的经验测试方法,工商银行的标准案例设计工艺以业务、技术两个视角为切入点,面向业务功能和系统交易功能分别开展了内外部分析,最终结合流程覆盖、要素组合等方式快速

Copyright©博看网 www.bookan.com.cn. All Rights Reserved.2022 . 01 中国金融电脑

43

VIEWPOINT

软需经验补充案例业务要素交叉组合功能内分析业务功能分析业务功能功能间分析业务规则业务流程流程覆盖测试点案例交易间分析技术功能设计系统交易交易内分析系统流程系统规则数据设计界面要素步骤设计图3 案例设计的标准工艺流程入库存储引用入库更新图4 测试案例标准化工艺流程的平台支撑体系44

FINANCIAL COMPUTER OF CHINA

Copyright©博看网 www.bookan.com.cn. All Rights Reserved.Viewpoint视角分满足不同测试执行分工的需要。

按照此方法设计出的测试案例,能够有效降低不同测试人员在案例描述上的差异,进而精细展现每一个操作步骤及数据内容,以及验证后的信息核对。测试案例作为贯穿测试始终的核心工作件之一,其精准性和可衡量性为测试工作的精细化管理奠定了基础。

在金融业务的创新过程中,需求管理作为衔接业务和技术的关键环节发挥了重要作用(如图5所示),其中需求创意、需求项、需求用例、测试案例分别作为需求获取、需求分析、需求编写和需求验证等活动的输出,是业务视角的工作内容。此外,需求管理还包括基于需求用例并行开展测试案例的设计和软件开发工作,以测试案例去验证应用服务是否满足用户需求,以不同工作输出强化业务和技术之间的分工协作。

在传统的软件创新过程中,需求、开发、测试、投产、运维往往会形成一个流程闭环。但是,随着专业分工的进一步细化,新模式要求将业务创新过程和软件实现过程进行解耦,即从业务视角关注市场、产品和用户,形成以需求为主线的业务闭环;从技术视角关注开发、投产和运维,形成以软件为主线的技术闭环。在此基础上,则是两者通过需求用例、应用服务、测试案例实现业务和技术的信息交互和融合。

三、需求测试一体化实践

随着组织职能的调整,工商银行业务研发中心开始负责全行需求和测试的统一管理,并逐步从工作流程和方法角度探索需求测试一体化。

1.需求管理流程

概括而言,需求管理是指包括需求获取、需求分析、需求编写和需求验证等在内的一系列活动,以及围绕上述内容衍生出的诸多管理和实施工作,如需求立项、团队组建、需求评审、风险管理等。其中,软件测试的主要目标是验证软件需求的吻合度,其在某种意义上也属于需求全生命周期管理的一个重要环节。

2.需求用例设计

在业务研发全流程中,需求用例不仅是落地业务研

确定范围启动项目组建团队制定计划选择方法跟踪管理(进度、风险、评审、变更等)需求开发基线管理需求池测试设计需求验证需求创意原始的需求创意或需求意向。项目管理金点子……创新大赛业务体验需求项需求意向可以具象化成一个或多个需求项需求项:具有终端用户使用价值的需求条目集,为最小可投产单元。以需求项制定优先级及具体版本计划需求用例需求项可以具象化成一个或多个需求用例需求用例:描述一个完整的业务流程。能够完成参与者的某个目的,为其提供了某种价值。测试案例业务视角技术视角应用服务业务内容活动任务规则基本流备选流错误提示账务处理……技术内容界面交互系统工作时长用户峰值预估……图5 需求测试一体化流程的信息衔接Copyright©博看网 www.bookan.com.cn. All Rights Reserved.2022 . 01 中国金融电脑

45

VIEWPOINT

发设计的原子单位,也是盘活业务资产体系、贯穿整个需求开发测试过程的关键设计(如图6所示)。

其中,需求用例的标准化设计粒度即业界定义的“用例规格”,主要用于具体描述一个需求用例的基本信息、完整流程和业务规则等内容。通常,需求用例可依据架构资产信息来反映所在领域、活动、客户、基础产品、渠道和合作方的组合信息,并以此为标准完成需求用例的颗粒度划分。业务流程用于描述用例承载内容的工作流,包括了前置条件、基本流、备选流、错误流、后置条件,同时为进一步补充更加直观的流程模式,还可通过活动图、界面示意图、交互流程图等图形方式进行描述。业务规则用于描述需求用例对业务的逻辑约束,以及维持业务结构或控制和影响业务的行为。输入信息与输出信息用于明确界面示意图中表单字段的承载信息、属性类别以及数据字典,此类信息可以来源于数据模型

的实体(实体主要指架构模型中从业务视角抽象的用一系列业务属性来描述的事物)。实践中,通过对需求用例的工艺化设计,不仅可提升需求用例的标准化设计程度,形成可复用的结构化资产,还可为需求用例指导测试设计奠定坚实基础。

在测试流程中,通过需求验证工作进行流程梳理,可分解得到测试分析、测试设计和测试执行三项任务,其中测试分析和测试设计两项任务通过继承用例资产内容,可辅助建立需求测试一体化的业务研发流程。具体来说,在测试分析阶段,需求用例映射至测试设计任务,确认测试设计范围,输出验收标准。在测试设计阶段,测试案例继承需求用例的各标准化模块,通过对流程测试与功能测试的分析设计,映射生成标准的测试案例,并最终在测试执行阶段输出执行结果。需求指导测试设计如图7所示。

用例结构图6 需求用例内容结构46

FINANCIAL COMPUTER OF CHINA

Copyright©博看网 www.bookan.com.cn. All Rights Reserved.Viewpoint视角需求详细设计视觉/交互设计非功能需求设计用例详细设计风险控制设计业务流程设计风险点识别补充分析测试范围测试分析测试设计下达任务流程测试设计业务规则设计输入/输出设计功能测试设计图7 需求指导测试设计其中,在测试设计阶段,需求用例各标准化模块可以直接对测试案例设计提供指导与资源复用。需求用例中的业务规则、前置条件等可以直接复用于测试案例的规则分析,从而映射生成一类案例。同理,需求用例中的输入输出信息可自动拆分为测试案例的要素值域,经过排列组合即可映射成为二类案例。实践中,工商银行通过继承标准化需求用例,指导生成标准化测试案例,促进了需求和测试一体化融合,提高了测试设计效率。

系,为业务资产赋能需求和测试一体化管理奠定了坚实基础。

1.业务资产定义及分类

业务资产也称“业务信息资产”,本质上是各类具有价值的数据信息和知识点。业务资产描述了业务的本质或表象,主要指对业务人员有直接使用价值的信息资产。同时,根据业务资产在抽象化、稳定性、灵活性等方面的不同,其还可进一步分为架构类资产和过程类资产两个层级。其中,业务架构资产侧重于描述业务本质,是从业务定义和架构建模角度,分别结合流程、产品、实体等视角对业务进行抽象化描述。项目过程资产侧重于描述业务现状,是指从信息沟通的角度,在业务架构资产框架之下围绕业务研发和服务支持过程,具象化描述需求用例、测试案例、问题缺陷、生产事件、咨询问答等信息。

四、业务资产赋能

为提升测试标准化实施效果,工商银行在测试标准化和需求测试一体化的推进过程中,同步探索并开展了业务资产体系建设工作,包括在测试标准建设过程中按照自下而上的方法梳理形成《业务白皮书》资产,以及在ECOS工程中自上而下构建企业级业务架构。业务研发中心成立后,进一步推动了《业务白皮书》和业务架构的整合,建立了基于业务架构的业务资产体

2.业务资产体系内容框架

在项目研发全生命周期中形成的各类输出物,是业

Copyright©博看网 www.bookan.com.cn. All Rights Reserved.2022 . 01 中国金融电脑

47

VIEWPOINT

务资产整体框架下具体的业务资产内容,项目过程主要包括市场分析、立项、需求分析、需求设计、研发、验收测试、推广服务等七个部分。业务架构资产在业务资产体系中发挥框架作用,作为“骨干”指导项目研发的各个过程,项目过程资产则是在业务资产体系中作为“血肉”,负责承载项目研发过程中的各类具象化的信息资产。

随着研发过程的推进,业务资产在不同阶段流转衔接,在赋能需求和测试管理一体化过程中,持续发挥着纽带作用。在市场分析阶段,业务架构资产相对宏观、抽象、稳定,具有较高的权威性,因此在本阶段主要由其发挥指导作用,作为项目整体性分析的依据和准则,以辅助立项阶段确定更加清晰的目标和计划。在需求分析阶段,基于市场分析梳理的业务领域、事件和干系人等信息,使得本阶段涉及的活动和任务大多为抽象化的业务架构资产,通过将此类资产转化为实际用例等过程资产,实现活动资产的复用和用例资产的积累。在需求设计阶段,主要任务是对上述信息展开进一步细化,即在承接前述阶段设计的用例、业务对象等资产的基础上,在本阶段细化为具体的需求描述、步骤、设计要素以及实体等资产,并将此类资产作为指导研发阶段的重要输入。在验收测试阶段,主要基于需求分析阶段的用例、研发阶段应用功能等资产来指导本阶段的测试案例、问题缺陷等过程资产输出,且该成果支持复用。最后,在推广服务阶段,需求、研发、测试阶段的资产将作为重要输入,来支持本阶段操作手册、知识点等过程资产输出。

以业务资产为核心赋能需求、测试一体化和智能化,主要目的在于打造企业级的需求和测试能力,推进智能化研发创新。在此过程中,业务资产的管理应遵循信息生命周期管理的基本思想和核心理念,并从“建好”“管好”“用好”三个方面重点开展工作。

首先是“建好”资产,即结合实际从业务本质的抽

象建模和项目实际泛化应用,进行全面的资产梳理和构建,再以此为基础来定义全行统一的业务资产规划视图。同时,在日常工作开展中,按照既定方法和规则不断识别业务资产,并根据相应规范实现资产描述固化。

其次是“管好”资产,即制定业务资产质量标准,按照业务资产的分类、分级等管理要求,开展资产评审入库,并从资产运营和用户角度对业务资产的完整性、稳定性和应用效果等作出定性或者定量的评价。在此基础上,再结合资产评价结果和使用情况,对于可用性较低、应用价值有限的业务资产开展评估后退出。

最后是“用好”资产,即利用业务资产在需求和测试过程中的流转和衔接,实现验收测试与需求设计的对接,完成业务资产在需求测试过程中的一体化贯通和复用,做到“基于需求进行测试,测试驱动需求设计”。此外,在用好资产过程中,还可以同步探索业务资产在项目范围分析、资产变更分析、需求用例生成等方面的智能化应用方法,实现需求测试管理的智能化应用。

当前,数字化转型已成为我国经济社会发展的整体趋势。业务架构为企业数字孪生体的构建和应用提供了方法,以业务架构为整体框架推进的业务资产构建和应用正是业务数字化、数字业务化的两个环节,是银行数字化转型和发展的内容核心。基于业务资产的需求测试一体化管理,是银行数字化转型战略下的一项重要举措,工商银行后续将继续加强研究和实践,为金融行业高质量发展贡献可供参考的工行经验。

48

FINANCIAL COMPUTER OF CHINA

Copyright©博看网 www.bookan.com.cn. All Rights Reserved.

因篇幅问题不能全部显示,请点此查看更多更全内容