导航菜单

金科案例建设银行:基于企业级设计的公共类测试方法研究

  自2010年起,中国建设银行以全面业务和技术转型为引领的新一代系统建设工作正式启航。从需求分析、建模,到架构、开发、测试,再到版本交付投产上线,各环节都打破了原有传统工作模式,创新使用自上而下的企业级顶层设计、整体业务建模,同时采用7层12P的分布式架构,开发及测试团队摆脱地域限制,整体统筹、高效协作以完成各系统构建。

  建行新一代系统建设不是简单地将现有各系统进行分解、重构,更重要的是从企业级视角出发,以12P核心架构为基础将全行系统进行分析、整合,首次提出依托12P架构为各应用组件开发提供基础支持的公共平台;并在归纳整理现有系统全部功能后提取出公共功能,进而形成能够支持各应用组件调用的底层公共组件。新一代一期项目主要是平台和公共组件建设,期间公共组件占全部系统建设工作量的70%以上,公共组件、公共平台对新一代系统建设提供了强有力的技术支撑。

  测试团队为更好地适应新一代创新测试工作体系,抓住公共平台、公共组件等公共类测试要点,创新提出基于建行框架设计、容器设计、核心设计、组件设计及应用设计组成的新一代完整的面向服务架构(SOA)体系、参照企业级设计相关内容、结合变更影响性分析的端到端的公共平台、公共组件、公共服务、公共参数专项功能测试,简称“四公共”专项测试。下面将对四个类型的公共类专项测试方法进行详细介绍。

  公共平台专项测试

  公共平台专项测试目标旨在针对新一代框架平台新增和变更的功能,识别所涉及的全量应用组件并进行变更影响分析,明确变更影响组件范围和测试范围,对测试案例覆盖度及测试情况进行整体管控。目前纳入公共平台测试对象的包含P1至P12以及C框架和JAVA框架,即全行平台均纳入测试管控范围中。

  公共平台变更通常为其底层功能模块的变化,因而公共平台专项测试工作流程关注功能模块新增/变更所引起的自身影响及其对关联应用组件的影响,测试方法如下。

  获取公共平台变更信息:依据应用架构审核后得到的公共平台(框架)变更计划,获取其变更内容详细条目、变更范围等版本信息。

  公共平台变更影响分析:依据获取的变更信息,详细分析其技术实现、方法调用等内容,确定是否影响公共平台基础功能,进而确定是否需要针对公共平台开展专项测试。

  应用组件变更影响分析:依据公共平台变更影响分析结果,进一步分析平台的参数配置、平台方法接口、功能等变更是否对关联应用组件有影响,确定是否需要针对关联应用组件开展专项测试。

  测试策略设定:依据前述两阶段变更影响分析情况,制订专项测试策略。小版本迭代变更进行平台单元及组件单元测试,功能变化较大或功能变更影响关联应用组件较多的版本进行全流程回归测试。

  测试案例设计:依据公共平台、应用组件变更影响分析范围及测试策略,按照测试阶段生成功能测试案例。

  公共组件专项测试

  公共组件专项测试目标旨在针对版本线中公共组件新增和变更的接口,识别变更所涉及的全量调用方范围并进行影响分析,明确变更影响应用组件范围和测试范围,对测试案例覆盖度及测试情况进行整体管控。

  目前纳入公共组件测试对象的包含对公客户信息、黑名单、机构员工等25个公共组件(如图1所示)。

  金科案例 建设银行:基于企业级设计的公共类测试方法研究

  图1 公共组件专项测试组件

  在公共组件专项的测试方法中,获取公共组件变更信息依然是整个测试方法的基础,而公共组件变更影响分析将在整个测试方法中展现出更为至关重要的作用,分析结果的准确性将直接影响测试范围的完整性及充分性,从而对版本的测试质量产生决定性影响。

  与公共平台变更有所不同,公共组件变更通常表现为交易服务/接口的新增和变更。依据公共组件变更的特性,测试部门创新性提出了:以联机交易服务为核心,通过APM应用监控平台抓取真实生产数据,以此梳理出包含交易服务调用关系的有效交易路径。依据交易服务及交易路径对应关系分析出公共组件交易变更影响范围及末级菜单,并由末级菜单直接映射出测试案例,进而实现公共组件智慧化测试的测试分析-设计方法。

  在此方法中,几个关键节点的起承转合支撑起整个方法论:以企业级整体架构交易服务列表为基础,获取公共组件的全量联机服务清单;将公共组件包含的联机服务分为供外组件调用和仅为自身调用两种类型;针对供外组件调用的联机交易服务,通过APM-交易服务-末级菜单映射方法,分析出受公共组件变更影响的应用组件及其末级菜单;针对自身调用的联机交易服务,通过交易服务-末级菜单映射关系,明确变更所涉及的自身末级菜单;基于以上末级菜单梳理结果,可直接映射出案例库中该公共组件及受变更影响关联应用组件的测试案例。

  公共服务专项测试

  公共服务专项测试目标旨在依据企业级转型目标以及核心设计要求,从分析、设计、开发、测试到交付的,贯穿新一代系统建设全生命周期各环节,检查公共服务是否达到企业级交付目标。为了实现这一目标,公共服务专项测试从新一代10个公共组件及渠道组件(机构员工、对公客户信息、员工渠道等)的视角出发,设立了涵盖对公客户信息专题、机构管理专题、网点一日流专题等20个测试专题(如图2所示)。

  金科案例 建设银行:基于企业级设计的公共类测试方法研究

  图2 公共服务专项测试专题

  公共服务专项测试作为新一代系统建设过程中最早设立的专项测试,发展至今已形成较为完善、规范且操作性强的测试方法论。与前序所述公共平台、公共组件专项测试方法大为不同,公共服务专项测试方法的核心由测试专题组成。每个测试专题以一个或多个公共组件/渠道组件为基础,结合应用组件调用方特性设定出多个业务/技术/架构目标,针对每个测试目标进而细化出可操作的测试场景。因此对于测试场景而言,其通常由一个公共组件/渠道组件与多个应用组件协同实现一套完整的业务场景,这就形成了公共服务专项测试跨组件、多应用协同的测试特性与业务特性。

  在公共服务专项测试方法论中,获取测试变更信息的来源由公共平台、公共组件转变为应用组件,其测试分析-设计方法也随之调整。

  参测公共组件分析:明确应用组件新增/变更功能所需调用的公共组件范围。

  参测专题分析:根据应用组件新增/变更功能所依托的公共组件范围,结合各专题测试目标及应用组件新增/变更功能内容,分析公共组件对应专题是否参测。

  参测场景分析:以完整、明确场景信息为基础,结合应用组件新增/变更功能内容,分析参测场景范围,并明确每个场景所对应的责任方(参测组件)。

  测试案例设计:以场景表中明确的场景指引信息即业务场景验证点为基础,依据公共服务专项测试案例设计标准开展测试案例设计工作。

  公共参数专项测试

  公共参数专项测试目标旨在针对纳入参数管理平台统一实施的新增和变更参数,识别所涉及的全量主责方及订阅方组件并做影响分析,明确组件范围和测试范围,对测试案例覆盖度及测试情况进行管控。截至目前,已识别并纳入公共参数专项测试管控的参数基线中共涉及业务、技术2个大类526个公共参数。

  这些公共参数依托高效、统一的参数管理平台对参数进行统一管理,并通过交易服务调用的形式将参数发布给主责方、订阅方(应用组件)。主责方、订阅方在接收到参数平台发布的公共参数后,需通过其组件自身功能对公共参数的生效影响正确性进行验证。此处提到的主责方为公共参数的所属应用组件,即拥有维护该公共参数权限的组件,而订阅方只拥有使用权限。鉴于公共参数与其所依托的参数管理平台的公共特性,公共参数专项测试方法将公共平台与公共组件专项测试的方法进行了融合。

  获取公共参数变更信息:依据业务部门提出的参数变更基线,识别公共参数变更实体范围及实体所对应交易服务等参数变更信息。

  主责方、订阅方变更影响分析:依据获取的公共参数变更信息及其所关联的主责方、订阅方交易服务,使用APM-交易服务-末级菜单映射方法,从而确定公共参数变更所影响的主责方、订阅方范围,确定参测组件范围及测试范围。

  测试策略设定:依据前述两阶段变更影响分析情况,制订专项测试策略。生效影响范围较小的公共参数变更进行用户测试验证参数生效正确即可;生效影响范围较大的公共参数变更需进行全流程回归测试。

  测试案例设计:依据APM-交易服务-末级菜单映射方法,借助末级菜单从测试案例库中挑选主责方、订阅方所需测试案例。

  公共平台、公共组件、公共服务、公共参数——“四公共”专项测试方法的形成,从企业级整体视角构建了以公共平台、公共组件、公共参数为核心联结各应用组件的跨组件、协同测试公共网络,其中各公共平台、公共组件、公共参数以“桥梁通路”的形式与各应用组件直接相连。而该测试公共网络中每一点功能/框架/模块/参数的变更,都将基于这些“桥梁通路”直接传导并作用于另一端的应用组件,进而将公共网络中的一部分更新、激活。因此,基于整体测试公共网络定位及对“桥梁通路”的把握可获得清晰的跨组件、多应用公共类变更影响分析结果,并以此为依据简便、快捷地从海量测试案例库中挑选出必测、可测等不同维度、不同类型的测试案例;从而对变更内容及受影响内容进行全量测试覆盖,有效地提高公共平台、公共组件、公共参数以及应用组件变更时跨组件、多应用协同测试的充分性。

  “四公共”专项测试保障了建行新一代核心系统公共网络的畅通,保证版本不出现关键的全局性问题,强化了新一代质量管控能力与成果。随着我行新一代3.2期顺利投产,进入后新一代时代的“四公共”专项测试工作仍在有条不紊的进行着,并伴随着建行科技水平的不断发展而逐步完善。

  后续公共类专项测试还将在现有“四公共”专项测试方法的基础上,不断探索新的专项测试领域和方法:例如将身份证号码、国家地区代码等被应用组件广泛使用的公共信息纳入公共类专项测试等等。以延伸公共类专项测试所涵盖的专项范畴,逐渐扩充其定义内涵,最终实现囊括各分支专项的公共类测试方法,丰富、充实建行测试体系,为建行系统的开拓创新保驾护航。