文 / 中国邮政储蓄银行软件研发中心 黄莺 张艳 张世哲 王维
随着金融行业数字化转型的高速推进,银行业务发展面临着新的挑战和机遇。面对业务需求的激增与迭代速度的飞跃,各类新技术争相涌现、测试工具不断迭代升级,为项目交付过程注入强劲动力,如何有效整合测试工具并提升测试效能成为当下测试工作的首要问题。
中国邮政储蓄银行(以下简称邮储银行)深入践行科技兴邮战略,在测试平台的强力支撑下,基于软件生命周期全流程测试效能提升的思路,建立了有效的测试技术工具应用体系,不断提升测试敏捷化、自动化、精准化及智能化水平,打造全方位的测试能力,形成持续测试闭环。
“1+n”解决方案下提升测试效能的探索与实践
“1+n”测试技术应用方案是基于软件生命周期全流程的测试技术应用解决方案,以1个持续测试贯穿整个测试流程,以自动化测试、精准测试、基于大模型的智能测试等n个测试技术在关键测试环节赋能,实现测试流程的全新升级。通过在手机银行试点“1+n”全流程测试技术应用实践,在周周投产的快速迭代模式下满足了日益增长的业务测试需要。
图 “1+n”测试技术应用方案
持续测试是“1+n”测试技术应用体系的核心流程,强调端到端闭环,贯穿产品需求到线上运营的所有环节,基于DevOps流水线,对项目生命周期中需求、研发、测试、发布全流程进行管控,使项目流程更加规范,团队成员协作更加敏捷流畅。测试人员在需求阶段参与需求评审及代码评审,从业务角度把控需求质量;在开发阶段进行代码质量检查、UT、冒烟测试,并设置卡控作为项目提测的质量门禁;在集成测试和回归测试阶段基于流水线执行自动化测试并根据质量门禁自动准出;在业务验收阶段进行业务验收测试并可以通过人工审批进行准出,最终交付至线上运营阶段进行投产上线及后评估工作。
邮储银行在企业手机银行的持续测试应用,促使测试活动从手工测试向自动化测试过度,实现了冒烟、集成、回归三个测试阶段共1000以上用例的自动化覆盖,达到冒烟测试自动化覆盖率100%,集成测试自动化覆盖率50%,回归测试自动化覆盖率80%以上。持续测试管理流程基于流水线的自动执行实现全流程研发测试活动自动流转、持续反馈和度量,支撑了项目的快速交付,同时倒逼各个测试活动不断深化自动化程度、提高测试过程准确度,并向智能化测试迈进,通过多种测试技术的结合建立起全面的质量保障体系,提升测试效能。
深化自动化应用程度
在项目迭代需求多,用例达上万量级的测试背景下,不仅手工测试压力大、效率低、耗时长,而且存在自动化脚本冗余,执行和维护成本高等问题。邮储银行搭建分层自动化增强测试体系,实现了覆盖前端到后端的全链路自动化测试。
通过UI自动化编写端到端的测试脚本,聚焦于验证价值高、业务逻辑稳定的核心场景,并采用云真机设备进行UI自动化执行,节省真机成本;通过脚本的结构化编写方法,将单接口脚本重构为短小精悍、高复用性的模块脚本,然后根据实际业务需求灵活串联,形成完整的业务场景脚本,同时遵循数据驱动原则,最终实现脚本的高效维护和跨环境执行;针对微服务架构下的项目特点,为解决微服务之间接口变动导致的系统稳定性不可控、集成测试困难的问题,探索契约测试,通过模拟消费者向生产者发送预定格式报文来验证生产者和消费者之间的接口是否符合约定,从而达到高效验证服务变动后各服务之间一致性的目的。
将自动化脚本集成于CI/CD流水线中,实现即时反馈、按需自动执行,通过每日部署和特定事件触发,自动化测试左移至研发阶段,确保项目质量在开发早期得到严格把控,实现了近乎100%的提测通过率,并针对核心业务流程进行高频有效的回归测试。
以手机银行为例,已建立500+个UI核心自动化脚本、2500+个接口自动化场景脚本,平均每次迭代可节省75%的全量回归时间;在UI和接口自动化测试共同作用下,无论是用户界面的交互逻辑,还是后端服务的数据处理与接口响应,都能得到全面、自动的验证,确保每次投产介质对重要交易场景无影响;契约测试实践提供了一套无需服务提供者提供服务,其消费者即可开展自身开发和验证的方法,在理财组覆盖了理财超市、理财推荐、自动理财等6大重点模块,有效降低联调成本,并为系统交付质量保驾护航。
提高测试过程准确度
在实际测试过程中,测试人员通常认为执行完全部用例、缺陷全部复测通过即测试完成,缺少直观的测试覆盖数据评估是否可交付,因此存在测试完成但无法避免测试遗漏的情况,难以全面保障项目质量;同时,随着需求的持续迭代和用例的不断积累,回归用例的量级逐渐庞大,导致每个迭代进行大范围的回归测试,测试任务量显著增加。
邮储银行引入精准测试,通过在测试执行过程中建立测试用例与源代码之间的追溯关系,统计分析出测试执行的代码覆盖率,实现了测试过程的数字化和测试结果的可视化。以手机银行为例,通过覆盖率分析,每个投产版本平均增补用例4.9个,并且根据回归测试覆盖率数据,精准补充130余条回归用例,提高了测试的全面性和有效性;结合代码差异解析结果和用例知识库进行测试用例推荐,在手机银行回归测试中,精准推荐可以实现30%的用例压缩,测试人员能够更加高效地选择具有代表性的测试用例,减少冗余测试,有效提高了回归测试的效率和质量。
提升智能化测试水平
在测试分析和测试设计的过程中,测试人员通常会花费大量精力研读需规,分析需求,提炼测试要点,最终得以完成测试用例的编写。经调研,测试分析活动占整个测试设计阶段将近40%~50%的时间;对于自动化测试,自动化覆盖场景及应用规模日益扩大,系统更新迭代频率快,脚本的建设和维护速度要求随之提高。因此,在测试分析设计阶段不论是功能测试还是自动化测试,都存在耗时长,效率低的问题,同时因测试周期紧张也会导致测试不全面而带来质量风险。
邮储银行基于国内安全、可控的商业大模型、开源大模型构建智能测试服务,已在星辰平台落地智能测试用例、测试脚本生成等核心应用场景。基于多年沉淀的高质量数字化测试资产,将测试过程中由人工归纳、分析、生成的工作提炼出测试知识和方法,利用大模型强大的理解、归纳和关联能力,辅助人工测试提效。智能测试能够根据需规文档、系统设计方案实现自动提取测试要点,再结合测试点自动生成测试用例,也可根据接口定义自动生成测试脚本,有效提升测试分析效率,降低编写用例和脚本的成本。例如,在客户运营平台、不良资产管理系统等多个项目试点智能测试分析,累计自动生成用例和脚本900余条,实现为测试赋能。
未来展望
AI+时代的到来,推动着测试模式的变革。邮储银行基于“1+n”的应用解决方案在各项测试新流程、新技术、新工具的应用实践中成效显著。未来工作将聚焦四大方向深化应用创新:一是扩大端到端测试,通过结合契约测试,分担全链路环境压力,提升端到端覆盖程度,实现产品全流程的质量保障;二是深化持续测试,将自动化测试集成到开发环境,实现更高效、更可靠的软件交付;三是完善数据自动化,持续提高自动化在数据构造场景的应用能力,辅助测试效率的提升;四是加速智能测试应用,在项目实施过程中全面试点测试用例及脚本智能生成功能,尽快发挥智能测试价值。
(此文刊发于《金融电子化》2024年11月上半月刊)
新媒体中心
主任 / 邝源
编辑 / 姚亮宇 傅甜甜 张珺 邰思琪