近年来,随着金融科技的不断深化应用,银行的经营生态也更加丰富多变,技术的快速升级和敏捷项目的快速迭代交付已经成为常态。同时,更短的测试周期、长链条的业务流程、无法完全解耦的业务系统、多样化的技术框架,使得现阶段银行业的测试人员面临着高于互联网企业测试人员的技术挑战。
为此,中信银行既要面向未来,还要立足当下,围绕测试全生命周期各阶段的测试活动,以方法和工艺的突破为先导,以工具发展和资产积累为手段,全面发展覆盖测试过程各阶段的自动化测试技术,实现了多项从无到有、从0到1的技术革新。通过这场技术变革,中信银行在自动化测试方面正一步步走向正规化、常规化。
针对测试场景分析不全面、测试数据不保鲜、人工测试效率低等测试问题,中信银行积极创新,研发出一系列“秘密武器”,使测试过程中的难点痛点迎刃而解。

随着业务高速发展,组织级敏捷转型,测试人员必须在快速交付的目标下保障产品质量,而产品质量的核心关键点就集中在测试分析阶段,因此测试分析无遗漏是高质量的先决条件。根据历史生产问题复盘,重新梳理测试分析覆盖路线,中信银行建立出一套完整的由点开始,串联成线,扩展成面,四步百分百的测试分析创新工艺。
第一步,着眼于被测页面中的每一个业务字段,复用因子情景工具中完备的业务因子资产,从源头保障每个字段的枚举值百分百全面。
第二步,分析被测页面中每一个业务字段之间的关联关系,选取最适宜的算法,保证排列组合计算出的场景百分百全面。借助SmartCase工具,以机控形式引入因子,配置关联规则,自动高效精准的生成包含用户操作时序的测试案例,避免人工分析不全导致场景遗漏。至此,单页面中全部要素分析完毕。
第三步,需要将页面与页面之间的业务链进行串联,也就是用户真实操作的完整旅程。采用因子情景工具中的场景封装,将每一种可能发生的用户旅程全部封装,配置页面之间的关联关系算法,保证两两页面之间的全场景路径百分百覆盖。
第四步,根据历史生产问题的复盘归纳,形成完整坐标防御体系,通过SmartMap 工具全局洞察风险点,针对性添加对应回归案例,确保发生过的问题百分百不再重犯。
通过采用以上四步百分百测试分析工艺,标准化指引测试分析,机控无冗余精准计算,帮助测试人员高质且高效的完成无遗漏的测试分析工作,有力保障了后续测试执行的全面性,交付质量更安心。
数据制造“永动机”——数据不断供由于银行业务复杂,数据未贯标,不同源,在测试数据准备阶段,不论是查找存量数据,还是重新构造数据,都耗时耗力,数据准备时间超过测试周期的30%。端到端全链路测试所需的数据是多样化的,基于历史原因大多数不符合同规同源同标要求,但是数据场景对案例的完全匹配要求是却是刚性的。同时,很多数据属于一次性使用的消耗型数据,银行业务系统现阶段的紧耦合和长链路,导致实时匹配并传递复杂且超长的交易链中每一步所需的动态数据成为了一项枯燥而艰巨的工作。在很多银行同业自动化测试的建设过程中,由于案例、数据、环境的紧耦合,造成维护成本巨大,准备周期长,使用成本居高不下并且与后期收益难以匹配。
以上痛点的根源都在于测试数据准备阶段缺少有效的方法和工具支撑,中信银行勇于挑战痛点,以方法突破为切入点,以工具落地为载体,按照产研结合的模式建设了智能测试数据服务平台SmartData,以数据全程可追溯的方式满足了7×24循环自动化测试的数据准备需求。在这一过程中我们形成了3项技术专利。
依托前文所述的标准化业务因子,建立完整的测试数据集市,提供全场景类数据服务,包括公共类数据池、私有类数据池,满足业务、开发、测试多种角色按需检索提取手工测试和自动化测试数据。
依托前文所述流程实例化技术及工具,构建了长业务链路自动化案例串联执行数据保鲜及实时传递方案,将多交易串联执行过程中的数据传递方式归类为9种,针对每种类型建立不同的数据匹配模型,提供灵活的组件化配置复用,实现自动匹配和传递交易链中的每一组即时可用的动态数据,零开发成本,大幅降低人工维护成本。
为了实现业务语言向技术语言的转换,我们抽象构建了“赋语言”,通过“赋语言”转换后的数据可以匹配业务需求作为手工测试或自动化测试的数据源,进一步支持海量复杂数据条件下的挖掘筛选,结合流程实例化实现数据的动态匹配供给,最终以服务化的方式实现了满足案例、数据与环境三重解耦要求的自动化测试赋数,简而言之,就是通过创新工具SmartData实现了测试案例和测试数据的分离,解决了测试数据对测试环境的依赖。
如上所述,由多个工具辅助完成的自动案例分析与数据准备,组成了创新的自动化测试工艺,如图1所示。
图1 自动化测试工艺
测试“百宝箱”——包罗万象随着不断引入的新技术,微服务、分布式、大数据等,单一自动化测试执行工具无法满足银行业现阶段的多元化技术架构的测试需求,各种开源框架也无法直接完美适配中信银行所有系统不同测试对象的测试诉求。
因此,针对如上痛点,中信银行基于5个开源工具,针对不同技术架构系统,不同测试对象,全部自主掌控自研或二次开发出多项最适合的自动化测试工具共13项,如接口自动化测试工具包含接口仿真测试平台、SmartService、SmartCops、Unittest、Jmeter、SmartProgram;UI自动化测试工具包含C/S端QTP、B/S端 SmartWeb、移动端SmartApp;批处理自动化测试工具、自动转换报文工具SmartTransfer、自动获取验证码工具SmartMessage、精准测试工具SmartTest等等。
测试“地图”——尽收眼底项目过程中会产生大量数据,包括需求影响范围、开发编码缺陷、生产问题事件等,在数字化转型的大背景下,如何充分利用这些数据,整合分析,发挥出应有的价值作用一直是困扰测试人员的难题。
通过采用SmartMap将坐标防御资产可视化,从全局视角一目了然识别定位风险节点,严格把关犯过的错误不再犯。作为测试组织级驾驶舱,可视化展示测试影响范围,完整业务旅程地图,对应系统及角色,当前测试执行情况等,服务分支行和用户作为学习指引,同时统计所有需求和设计缺陷等过程数据,评估需求与开发质量信用等级,针对性评估测试重心。
依托于以上四点创新,中信银行自动化测试已从单一执行环节自动化,延伸至测试分析自动化、数据准备自动化、测试执行自动化。在三手齐抓基础之上,我们同时还在建设全链路精准智能自动化测试完整生态。包括智能案例生成,智能识别代码变更,计算技术关联影响,映射对应业务流程实例化影响,自动匹配并执行相应自动化案例,执行失败后结果智能归因定位,最终实现“提测即测,随提随测”。
硕果累累,成绩斐然以先进的测试工艺和优秀的测试人才为依托,中信银行守正出奇,逐一击破痛点,实现了测试崛起道路上的一个又一个重要里程碑目标,积累了大量测试资产,覆盖行内全部被测系统,在技术创新方面做到了行业领先。敏捷巨轮,测试护航。作为中信银行的测试部门,我们始终坚持以“敏捷+自驱”为唯一北极星指标,实现分行满意、业务满意、交付满意的终极目标。我们一直大力发展测试工具,坚持做有思想的测试工作者。经历了这次技术变革,我们更坚定了走自动化测试的道路,我们将全力践行以技术驱动创新,以创新带动发展,以发展创造价值,以实现“最佳综合融资服务银行”的战略愿景为使命,高质量、高效率支撑全行业务发展,持续重视队伍建设和能力建设,达到测试同业领先水平,助力我行数字化转型。