农业银行:智慧测试工具赋能其数字化转型

时间: 2024-05-14 02:27:50 |   作者: 华体会登入页面

详情


  随着农业银行数字化转型的不断深入,项目在实施过程中出现研发周期短、迭代快、系统关联复杂度高、投产风险大等特点,微服务、分布式等架构技术也对测试工作提出更高要求,传统的黑盒测试无法获知测试用例执行后真正的代码覆盖情况,测试针对性难以把握,很难实现全面测试。目前业界虽然有部分开源软件可实现代码覆盖率采集和报告,但要真正在农业银行项目系统测试阶段落地,还存在覆盖率文件容易丢失、功能单一缺乏整合、手工操作过多过繁、便捷性和实用性差、测试流程如何融合、各模块覆盖率作业如何管理和展示等技术难题。此外,对不一样的种类的代码框架也需要在实践中探索和研究。系统测试痛点如图1所示。

  基于以上情况,农业银行自主研发了一款系统测试代码覆盖率工具:智慧测试工具(Intelligent System Test Platform,ISTP),实现了代码覆盖率在系统测试阶段的落地,支持OCP/CCE云上Tomcat、云下Tomcat、云下Was等多种部署环境,解决了系统测试代码覆盖率报告持久化、应用集群部署模式下的报告合并、云上多POD报告合并、不同代码版本间覆盖率合并等诸多问题,为代码覆盖率在系统测试阶段落地扫清障碍。

  ISTP是基于Jenkins、JaCoCo、Diff-cover等软件二次开发打造的一站式JAVA代码全量/增量覆盖率采集、收集、报告展示和分析工具,可低成本融入系统测试流程,一次部署多次使用,零手工操作,工具集成环境界面一站式完成所有操作,便捷性、实用性和扩展性强,已在天研范围内100多个系统模块全面落地。智慧测试工具三层架构如图2所示,大致上可以分为接入层、采集层和核心层,其中采集层为天研测试部自主研发模块,接入层和核心层在开源软件基础上二次开发实现。通过采集层的引入,即实现了核心层与接入层(通常为常备测试环境)的解耦,又实现了覆盖率文件持久化,解决了由于异常宕机或者重启导致的覆盖率文件丢失问题。

  ISTP可以助力测试流程的优化,为测试人员提供界面化的测试覆盖率情况。通过在系统首次准入阶段完成采集服务的申请及相关配置,就可以完成一次部署多次使用,可追踪覆盖系统测试阶段针对所有开展的测试类型产生的代码路径,项目经理和测试经理等角色可以全程监控覆盖率情况,并及时开展覆盖率情况分析、定向补测和风险分析;在准出阶段,测试经理可根据全量及增量覆盖率报告判断是不是满足准出要求。ISTP可以轻松又有效提升系统测试质量,降低生产残留缺陷,系统测试流程及操作步骤可参考图3和图4。

  直观清晰的测试覆盖率报告可以极大提高分析效率,降低工具使用门槛,ISIP可清晰展示全量覆盖率报告、增量覆盖率报告、当前版本基线号、Git代码仓库地址和分支等各种信息。打开html文件,能查看代码增量覆盖率情况详细报告,报告中包含增量代码覆盖率情况的整体信息,以及对应到每一个类文件的代码行覆盖情况。覆盖率报告展示如图5所示。

  目前,ISTP已在天研范围内全面落地,共接入系统模块100多个,搭建覆盖率构建流水线个批次项目测试覆盖率分析,其中实施定向补测79个批次,占比68.6%,每批次平均增补用例6.26个,代码覆盖率平均提高7.0%。项目实践发现测试场景遗漏、回归测试场景遗漏、定向风险分析、辅助版本验证4类典型场景,其中7个典型案例如图6所示。(华东CIO大会、华东CIO联盟、CDLC中国数字化灯塔大会、CXO数字化研学之旅、数字化江湖-讲武堂,数字化江湖-大侠传、数字化江湖-论剑、CXO系列管理论坛(陆家嘴CXO管理论坛、宁波东钱湖CXO管理论坛等)、数字化转型网,走进灯塔工厂系列、ECIO大会等)

  在图6的7个典型案例中,6个案例存在测试场景遗漏情况,遗漏测试场景的问题大多包括业务需求定义较宽泛导致测试遗漏、接口文档备选字段描述缺失导致遗漏、测试准入功能清单缺失部分功能导致测试遗漏、极限边界值校验场景遗漏、某功能联机场景测试了但批量场景遗漏、对不正常的情况的判断分支测试遗漏、测试人员技能差异导致测试遗漏等。ISTP的引入可较好评估测试充分性,清晰展示未覆盖代码情况,测试人员对未覆盖代码进行定向补测,逐步提升系统测试质量,减少生产残留缺陷。

  在图6的7个典型案例中,1个案例存在回归测试场景遗漏,该案例因优化代码圈复杂度,对存量功能代码做改造,测试人员通过智慧测试工具可精准识别需要回归补测的业务功能,避免了回归测试场景遗漏,使增量代码覆盖率从54%提高到94%,逐步提升了系统测试质量,降低了投产风险。

  在图6的7个典型案例中,通过工具均可直接针对极限边界值校验、优化代码等场景进行定向风险分析,动态实时查看全量/增量覆盖率报告,实时跟踪测试用例执行情况,大大降低风险。

  ISTP最初主要使用在于系统测试阶段,但同样也可以适用于版本验证阶段,唯一的区别仅仅是常备测试环境差异。在版本验证阶段引入ISTP,赋能版本验证,通过版本号和代码覆盖报告可做实所测即所投,防止带病程序进入投产环境,进一步保障所测应用系统投产安全。

  ISTP的引入切实解决了系统测试不透明、用例覆盖不充分等问题,触达了黑盒测试痛点,让测试人员克服了系统测试的盲目性,充足表现智慧测试特点,测试人员根据未覆盖代码原因,可采取定向补测、定向风险分析、混沌测试等不同的处置措施,逐步提升了系统测试质量,降低应用系统投产风险,强化安全生产保障能力。ISTP的建设符合农业银行信息科技发展的策略,针对代码覆盖率领域待解决的管理或技术问题,开展了卓有成效的探索和实践,拥有非常良好的实践指导或示范借鉴意义。

  本文主要内容转载(或原作者)出自微信公众号我们的开心,仅供广大读者参考,如有侵犯您的知识产权或者权益,请联系我提供证据,我会予以删除。

  CXO联盟(CXO union)是一家聚焦于CIO,CDO,cto,ciso,cfo,coo,chro,cpo,ceo等人群的平台组织,其中在CIO会议领域的领头羊,目前举办了大量的CIO大会、CIO论坛、CIO活动、CIO会议、CIO峰会、CIO会展。如华东CIO会议、华南cio会议、华北cio会议、中国cio会议、西部CIO会议。在这里,你能参加大量的IT大会、IT行业会议、IT行业论坛、IT行业会展、数字化论坛、数字化转型论坛,在这里你可以认识很多的首席信息官、首席数字官、首席财务官、首席技术官、首席人力资源官、首席运营官、首席执行官、IT总监、首席财务官、信息总监、运营总监、采购总监、供应链总监。

  数字化转型网(资讯媒体,是企业数字化转型的必读参考,在这里你能学习大量的知识,如财务数字化转型、供应链数字化转型、运营数字化转型、生产数字化转型、人力资源数字化转型、市场营销数字化转型。通过关注我们的公众号,怎么来实现企业数字化转型?数字化转型如何做?

  【CXO UNION部分社群会员】天地源CFO、瑞德CFO、太极CFO、尖峰CFO、目药CFO、东阳光CFO、川投CFO、中华企业CFO、交运CFO、四川金顶CFO、凤凰CFO、百川CFO、南京新百CFO、京投CFO、珠江CFO、中船防务CFO、金龙CFO、石化CFO、三毛CFO、海尔智家CFO、阳煤化工CFO、亚通CFO、东百CFO、大商CFO、绿庭CFO、岩石CFO、欧亚CFO、湖南天雁CFO、均胜CFO、舍得酒业CFO、三安光电CFO、物产中大CFO、中航产融CFO、曲江文旅CFO、彩虹CFO、光明地产CFO、苏美达CFO、盛屯矿业CFO、南宁百货CFO、南京CFO、金瑞矿业CFO、文投CFO、凤凰CFO、天津港CFO、东软CFO、大连热电CFO、祁连山CFO、百花CFO、金牛化工CFO、宁波富达CFO、云维CFO、华电CFO、鲁北化工CFO、佳都CFO、重庆百货CFO、CFO、湖南海利CFO、爱旭CFO、北汽蓝谷CFO、实达CFO、新华锦CFO、苏州高新CFO、中粮糖业CFO等返回搜狐,查看更加多