实战 | 光大银行敏捷测试实践路径探索
欢迎金融科技工作者积极投稿!
投稿邮箱:newmedia@fcmag.com.cn
——金融电子化
文 / 中国光大银行信息科技部 赵梅
引 言
伴随互联网金融思维的逐步普及,商业银行业务产品应用的市场环境在快速变化,金融产品和服务模式创新加速,对产品交付周期的要求也越来越高。在此周期中,测试是保证产品质量不可或缺的一个重要环节,在快速迭代交付产品的流程中显得尤为重要。测试不仅要保证产品交付质量,还要保证产品交付效率。
为全面推进光大银行“敏捷、科技、生态”战略发展方向,加强研发测试融合,提升项目整体质量的分工能力以及测试的业务价值实现效率,光大银行启动了敏捷测试实践的路径探索与研究。通过对行内调研结果分析,同业优秀实践对标,提出了若干落地和改进举措。
现状分析
光大银行基于业务双态性发展的需要,结合IT需求变化等特点,于2020年建立了光大特色的“双态三模”研发模式框架。“双态三模”敏捷体系清晰明确,为光大银行敏捷测试转型的顺利开展提供了有力的保障。但由于敏捷测试与传统瀑布测试模式的目标与方法存在差异,导致敏捷测试相关的部分实践活动在落地推进过程中存在一些阻碍,如下。
需求管理:为了快速响应业务和市场需要,敏捷研发模式以用户需求进化为核心,采用迭代、循序渐进的方式进行软件开发。而原有的瀑布测试模式对需求清晰、版本稳定的标准定义与化繁为简的敏捷模式相矛盾。
文档弱化:传统的瀑布测试模式对文档的依赖度高,而敏捷中强调“轻文档”,注重“面对面沟通”“研发测试融合”,是现有测试模式所无法满足的。
测试周期短:原有的瀑布测试模式无法满足当前快节奏的迭代版本交付效率,测试受流程策略、缺陷修复、测试方法等因素制约导致无法满足快速交付。
配套的测试活动缺失或效果不佳:敏捷强调团队对质量负责、测试贯穿于全生命周期,传统瀑布测试模式中的边界划分与敏捷测试相矛盾。开发过程中的必要测试活动缺失常常造成缺陷泄漏到后续测试阶段,加大了系统测试阶段缺陷修复的成本,测试效率难以大幅提高。
敏捷测试实践路径探索
光大银行一直致力于新型工具的研发与实践、测试自动化的应用及推广。为了更好地落实“十四五”规划中“创新驱动、价值导向、协同推进、应用牵引”的原则,光大银行拟结合“双态三模”的敏捷研发体系来构建一套适配的敏捷测试体系以指导团队有效开展测试工作,通过增加或强化敏捷体系中的关键质量保障活动或方法,如“测试左移”“用户验收标准建立”等,达到持续测试、快速交付的目的,帮助团队提升测试效能、提高软件交付质量。
1.流程策略作依据。为了在不降低质量标准的前提下快速实现业务价值,光大银行在“双态三模”的敏捷研发体系基础上,定制了一套光大特色的敏捷测试流程(见图)。流程中新增和强化了研发全周期的质量保证活动,通过增加需求验收标准的编写和验收等组织级必选活动筑牢质量堤坝,通过增加质量门禁、引入自动分层模型深化团队自动化测试能力建设等项目级推荐活动激发驱动力,更大程度提升敏捷效能。最终期望通过测试左移、右移及自动化等流程策略保障,真正实现缺陷预防、实时反馈、快速交付的目标。
图 敏捷测试流程
2.实践活动作抓手。有了流程做依据,就需要考虑如何执行。光大银行参考同业已知优秀实践,依据制定的光大银行敏捷测试流程,进行了敏捷测试实践活动的优化。诸如需求验收标准建立、需求条目验收、持续集成中的测试和迭代相关的各项测试活动,以及测试右移中的测试交付与问题反馈等。下面分别针对组织级必选和项目级推荐的几个关键实践活动进行简要说明。
(1)组织级必选活动。清晰明确的验收标准作为开发和测试的参考依据,显得尤为重要。因此,流程中增加了“需求验收标准建立”和“需求条目验收”两项实践活动,用以保证业务人员、开发人员、测试人员三方达成共识。
(2)项目级推荐活动。在迭代中不断地回顾、审视过去的不足并及时纠正,才能在接下来的工作中做得更好。流程中增加了“测试交付与问题反馈”实践活动,用以促进团队持续改进。同时,光大银行在组织级必选的各项测试活动(包括单元测试、接口自动化测试、UI自动化测试及手工测试等)基础上,还引入了推荐的自动化测试分层模型和敏捷测试实施评估模型,用以深化系统自动化测试能力,进而提升质量内建。
组织级必选活动作为基础,保障了流程合理化、规范化,最大限度减少了不必要的风险;项目级推荐活动作为探索,激发团队驱动力,测试联合开发共同推进研发质量,持续提升产品质量与交付效能。
3.两个模型作指引。具体如下。
(1)敏捷测试实施评估模型。为了对光大银行敏捷测试实施过程和效果进行评估,光大银行测试建立了敏捷测试5级实施评估模型,作为敏捷测试持续改进的建议和指引,帮助团队改进,最大化实现测试价值。
结合光大银行当前形势和发展趋势,分别从质量评价、团队协作、价值交付三个敏捷测试核心能力域出发,在代码质量、技术测试覆盖率、流水线运行成功率、全员参与、持续改进、质量可视化、交付产品质量和交付效能等关键维度对敏捷测试实施的效果进行评价。
分别通过对面向结果和过程的维度进行定量和定性两种方式的评估,例如通过对开发在单元测试、接口测试、API测试等阶段的测试覆盖率进行面向过程的定量评估;通过调研、问卷、专家访谈等方式对交付效能进行面向结果的定性评估。收集所有评估维度的评分汇总生成雷达图等形式,对应到评估模型,从而找到下一步团队工作改进的方向。
(2)自动化测试分层模型。传统测试模式虽然鼓励自动化测试,但自动化测试的成功与否对整个研发流程并没有致命性的影响,但敏捷模式的基础就是自动化测试,敏捷测试中的持续测试、持续交付等均依托于自动化测试框架的支撑。
理想的自动化测试分层模型被称为金字塔模型,但很少有企业能完全做到该理想模式。由于软件产品特性不同,部分产品的单元测试成本过高,部分产品仍然依赖大量手工测试,基于各种原因,大部分企业都结合自身产品特点,选择不同的分层模型。
基于光大银行产品特性,根据不同系统的可测性和质量风险两个维度、多个影响因子测算系统的测试分层评分,并根据得分给出自动化测试分层理想形态和比例的建议。研发团队依据自身业务和开发环境,选择适合的自动化测试工具和测试框架,达到理想测试效率,避免“为了测试自动化而自动化”。
4.工具平台及能力建设作支撑。光大银行当前已有的测试平台与工具已具备了较强的基础能力,统一测试管理平台实现了测试管理过程的跟踪、度量、分析,DevOps工程效能平台与工具链平台有效支撑了“双态三模”研发体系各阶段差异化的能力适配,测试资产管理平台实现了对测试资产的存储、管理与维护,测试运营支持平台实现了对测试环境资源的一体化管理。但随着敏捷测试的不断深入,将更加倡导测试驱动开发、需求实例化,因此对工具平台也会提出更高的要求,例如引入机器学习、智能编排等技术,结合基于模型的测试实现真正的自动化测试。因此,无论是方法、技术还是工具平台,都要在实践中不断“成长”和“完善”。
在能力建设方面,通过创建讨论区、论坛建设等形式营造学习文化,通过主题分享、学习小组和专项培训等形式深化质量能力建设,通过技术文章撰写、专栏等形式扩大外部影响力。
(栏目编辑:张丽霞)
往期精选:
(点击查看精彩内容)
● 实战 | 锦州银行建设新一代数据中心,引领城商行业务创新
新媒体中心:主任 / 邝源 编辑 / 傅甜甜 张珺 邰思琪