“十四五”规划明白准确地提出了加快数字化发展,建设数字中国的总体目标。同时,国家推进金融业关键信息基础设施自主可控转型的大背景下,工商银行启动了部分个人业务系统向分布式平台的体系性下移(下文称“”),由于工商银行系统规模大,业务复杂性高,用户数多等特点,其系统稳定运行关联到社会民生的方方面面。
为了确保生产的安全,工商银行对系统的下移的质量保障提出更高的要求;同时,互联网金融对于新技术应用和业务快速创新,也不断给提升系统的交付速度带来了压力和挑战。在平台稳定迁移和业务快速创新中,大部分的系统研发工作落到了联机接口上,因此,为提升版本质量、加快测试效能,工商银行软件开发中心广州产品部启动了一系列的接口测试效能提升探索。
自动化测试发展历史悠远长久,伴随着软件测试行业的诞生开始起步,从起初简单的录制/回放,脚本无法复用也不可维护;到使用开源框架(eg:JUnit、TestNG)编写测试脚本,需要用户大量投入且脚本质量参差不齐;发展到如今各种成熟的自动化测试工具产品面世,出名的有JMeter、SoupUI、Robot FrameWork、MeterSphere等,借助这些工具,接口测试成本大幅度的降低。但即便有优秀的工具加持,团队自动化测试也仅仅做到最基本的“冒烟”和“回归”,究其原因,自动化测试不单单是技术的问题,更是工程体系的问题。在自动化测试迅猛发展的今日,公开的知识、技术、框架并不缺乏,企业往往基于自身资源和战略目标选择正真适合的实施线路,对于小微企业,由于资源更多倾斜到业务快速迭代,通过Postman等尽快验证交付是常见的策略;而中型企业,一般会选择开源框架或简单封装,对核心关键功能实施自动化守护,寻求最大ROI;至于大规模的公司,则聚焦行业领域特性,适配产品线的技术架构、内部研发流程和团队成熟度,定制专用的自动化框架、实施策略和方案,以解决企业自身面临的测试效能瓶颈,逐步提升自动化测试成熟度。
随着工商银行“IT架构转型工程”工程的持续推进,系统功能需要满足“主机”+“平台”的异构系统的集成需求,而金融业务的加快速度进行发展,也使得金融理财产品越加复杂。与此同时,在转型过程中还存在着思想、人才、技术等多个角度的问题,开展银行系统接口的自动化测试仍面临重重障碍。
1、银行系统历史包袱重、接口业务功能复杂:工商银行分支机构众多,为赋能各机构的个性化业务开展,系统从CB2000到ECOS经历了四次大迭代,复杂度不断的提高,系统的资产也随着人员的变动出现缺失。历史的包袱,对接口的交易的正确性判断提出了进一步的挑战。
2、系统的迁移是一项长期的工作:为确保业务平稳迁移,工商银行“IT架构转型工程”工程采用了多步走的策略推进系统的迁移与落地,同一接口要经历解耦-功能完善-业务切换等多步工艺研发流程,可预见的,一个接口在不同阶段需要开展多轮的测试工作,测试工作量倍增。
3、支撑IT架构转型转型人才较为缺乏,出现结构性缺员:人才是架构转型的关键要素,是推进“IT架构转型工程”第一动力。“IT架构转型工程”工程中,不仅仅需要具备从主机到平台的技术能力,还需要人员进一步熟悉工行的业务架构、应用架构和具备开放平台的系统模块设计思维。
4、研发沟通成本高:业务功能的用例业务语言与技术研发的代码语言不统一,对目标定义不清晰,无法达成一致,导致不一样的角色沟通中存在多次反复,研发测试效率较低。
基于目前工商银行系统的“IT架构转型”系统复杂高、人员成熟度不高、工作重复高的现状,广州产品部根据“数字工行(D-ICBC)”建设要求,围绕“数据生态、数字资产、数字技术、数字基建、数字基因”五维布局深化推进数字化转型,提出了“三个一”接口测试自动化方案:
1、一语言:统一接口研发测试“数字资产”格式标准,便于多角色、系统间共享协作。广州产品部结合BDD和工商银行业务架构的指导,通过标准化、结构化接口CMC、缓存、数据库、通讯区等测试语言,打通业务、开发、测试之间的沟通鸿沟,指导测试设计与执行一致性,使之成为设计、开发、测试、评审等多角色的沟通协作工具,来提升沟通效率,解决“资产沉没”问题。
2、一框架:搭建一个定义并执行的测试框架,完善接口研发测试“数字生态”,一是通过“0”代码编写接口测试案例和在线执行能力,实现接口测试线上(设计)线下(执行)行为的融合,降低接口测试的准入,解决测试人员转型的技能问题,同时实现从手工测试到工具测试的转变以此来实现资产存留,解决重复执行案例问题;二是实现接口案例和代码融合,通过代码变动实时通知接口案例,形成精准测试;三是针对“IT架构转型工程”等系统迁移设置特性的案例,逐步形成新旧接口比对,新旧表比对等自动断言机制,提升“IT架构转型工程”测试案例编写效率;四是开展数字化管理,通过将线上线下资产的融合,建设成“代码-测试设计-案例编写-测试执行-问题流转”的“数字生态”,解决以“人”为中心手工测试管理和“数据孤岛”的问题。
3、一实践:根据实践不断调整自动化测试目标线路,逐步推进从“手工案例”到“案例可执行化”到“案例自动化”的转变,最终达成自动化测试目标。一是通过将环境和数据的影响因素抽取,实现手工测试的过程案例平滑沉淀为自动化测试案例;二是通过开展单应用接口测试,屏蔽环境、依赖外应用接口就绪时间、质量等影响,提升案例自动化运行稳定性。
路漫漫其修远兮,提升测试效能并非一蹴而就。我们将继续以数字化转型为契机,以“一语言、一框架,一实践”的目标思路,夯实研发测试“数字资产”,建设“数字生态”,持续打造成“接口线上线下融合工作体系”,同时以平台为载体,围绕测试体系的能力进行拓展,衍生出更多测试服务能力,赋能全流程质量守护环节,将质量观念传递至更多研发角色,提升接口研发、测试、协作、度量等全方位效能,助力工商银行信创工程的推进。
您想了解哪些