作者
中国工商银行业务研发中心高级专家郝毅
中国工商银行业务研发中心原普雨
近年来,随着金融科技的快速发展和应用,各类新理念、新技术为新时期的软件测试工作带来了巨大挑战。尤其在金融软件测试领域,独特的创新基因也决定了其独特的发展路线,只有不断地进行改进升级,才能正确处理来自内外部的各种矛盾,从而在实现自身全面、均衡、可持续发展的同时,高效满足快节奏的金融科技创新需要。
顺应这一趋势,工商银行于年通过整合原数据中心(北京)和产品中心的相关职能,成立了业内首家集需求设计与业务测试于一体的职能机构——工商银行业务研发中心。历经三年的发展与实践,工商银行探索并初步形成了基于业务资产的需求测试一体化管理思路,不仅为推动科技与业务融合创新、实现金融服务再造探明了关键路径,同时也为金融机构践行国家战略、迎接未来发展和应对存量问题提供了一种全新的参考方案。
一、测试转型的指导框架
年,工商银行、中国银行、交通银行联合研究提出了《银行业软件测试框架》,并在银行业软件测试成果交流会上发布。整体而言,银行业软件测试框架将测试体系划分为了过程域、组织域、规范域、知识域、工具域等五个绩效域(如图1所示),其中过程域是框架的核心,由基础流程和三个导向策略构成,具有普遍适用性;组织域、规范域、知识域、工具域则是测试框架的四个基础支撑,其内容可结合实际需要进行灵活构建。《银行业软件测试框架》的提出,旨在指导测试工作的统筹思考和全面布局,不仅有助于对测试规划工作开展系统性思考、分类管理和深入研究,还可帮助相关从业人员理清问题之间的联系、抓住问题本源,进而制定出更加全面的测试发展路线。
图1银行业软件测试框架
在上述框架的指导下,为适应全行金融科技战略发展需要,工商银行业务研发中心将需求设计与业务测试相融合,逐步探索出一条基于业务资产的需求与测试一体化的实践路线,并进一步将其细分为测试标准化、需求测试一体化、业务资产赋能等三个部分。
二、测试标准化实施路径
自年开始,工商银行数据中心(北京)(现业务研发中心)即开始推进测试标准化建设,经过近5年的探索研究、实践论证和全面推广,于年基本完成了测试标准化工作,并为TMMi5级认证的顺利实施奠定了坚实基础。
1.标准化的测试工作流程
标准化的测试工作流程定义了所有测试工作项及其相互之间的关联关系,并强调各项工作可管理、可复用、可追溯,以及实现过程可控、结果可信,旨在为测试工作的全面建设、灵活实施、多视角管控等夯实基础。标准化的测试基础流程如图2所示。
图2标准化的测试基础流程
首先是通过结构化、工艺化实现标准化。具体而言,标准化的测试流程大致可分为需求分析、测试设计、测试执行、测试总结等四个环节,其中包含了分解测试范围、分析需求、编写测试方案、设计测试案例、执行测试案例、结果分析及投产确认等六项工作内容,且对每个工作项均设计了明确的过程操作规范和结果衡量标准,同时工作项之间可以通过工作输出互为衔接,最终实现测试输出物的可追溯、可管理。例如,问题缺陷通常是基于案例提交,而案例则是基于需求和风险设计,因此实践中也可以据此定位哪一部分场景、需求的问题缺陷较多。
其次是在标准化的基础上进一步实现资产化。具体而言,即指测试过程的每一项输出均可以直接映射、补充为资产库中的一项资产信息,而这些资产信息又将为下一次的项目复用提供条件。循环往复之下,存量资产的积累不仅为需求澄清、案例设计提供了直接的素材来源,同时对驱动测试效率乃至整个科技效率的提升也有着重要的价值和意义。
2.测试案例的标准化设计
测试案例既是测试设计的产出,也是测试执行的依据,在整个测试流程中发挥着承上启下的作用,是实现测试标准化的关键环节之一。不同于传统的经验测试方法,工商银行的标准案例设计工艺以业务、技术两个视角为切入点,面向业务功能和系统交易功能分别开展了内外部分析,最终结合流程覆盖、要素组合等方式快速生成了测试案例。同时,该过程还综合运用了Pairwise理论算法、面向对象、等价类、边界值、加权系数和决策树等业界常用的设计方法和技术。案例设计的标准工艺流程如图3所示。
图3案例设计的标准工艺流程
为帮助测试人员更好地进行线上作业,工商银行业务研发中心针对性搭建了适配测试案例标准化工艺流程的平台支撑体系(如图4所示)。在平台建设过程中,测试工艺流程通过与信息管理系统、资产库等实现无缝衔接和信息互动,为测试经理和测试人员的线上作业提供了有力的工具支撑。具体来说,项目经理在完成需求WBS后,可通过分解测试任务来帮助测试人员设计并执行测试案例,而测试人员借助工具平台对所负责的流程、功能等进行标准化分析,将能够形成四类案例,其中一类案例指由验证规则直接形成的案例,二类案例指要素取值组合形成的案例,三类、四类案例主要是对一类、二类案例补充手工步骤或自动化脚本后转换而来,基于上述四类案例的逐级细化,可充分满足不同测试执行分工的需要。
图4测试案例标准化工艺流程的平台支撑体系
按照此方法设计出的测试案例,能够有效降低不同测试人员在案例描述上的差异,进而精细展现每一个操作步骤及数据内容,以及验证后的信息核对。测试案例作为贯穿测试始终的核心工作件之一,其精准性和可衡量性为测试工作的精细化管理奠定了基础。
三、需求测试一体化实践
随着组织职能的调整,工商银行业务研发中心开始负责全行需求和测试的统一管理,并逐步从工作流程和方法角度探索需求测试一体化。
1.需求管理流程
概括而言,需求管理是指包括需求获取、需求分析、需求编写和需求验证等在内的一系列活动,以及围绕上述内容衍生出的诸多管理和实施工作,如需求立项、团队组建、需求评审、风险管理等。其中,软件测试的主要目标是验证软件需求的吻合度,其在某种意义上也属于需求全生命周期管理的一个重要环节。
在金融业务的创新过程中,需求管理作为衔接业务和技术的关键环节发挥了重要作用(如图5所示),其中需求创意、需求项、需求用例、测试案例分别作为需求获取、需求分析、需求编写和需求验证等活动的输出,是业务视角的工作内容。此外,需求管理还包括基于需求用例并行开展测试案例的设计和软件开发工作,以测试案例去验证应用服务是否满足用户需求,以不同工作输出强化业务和技术之间的分工协作。
图5需求测试一体化流程的信息衔接
在传统的软件创新过程中,需求、开发、测试、投产、运维往往会形成一个流程闭环。但是,随着专业分工的进一步细化,新模式要求将业务创新过程和软件实现过程进行解耦,即从业务视角