实战丨数字化转型背景下的敏捷测试

发布时间:2024-03-10 06:33:06   来源:江南体育官方网站

  以云计算、大数据、移动与物联网、人工智能为代表的数字化技术,正在驱动全社会的价值链和产业链的重塑,也深刻改变着客户体验及定价模式。中国银行面对科技变革、经济转型、风险防控、市场之间的竞争的多重挑战,确立了数字化转型的发展的策略,2018年6月提出了“坚持科技引领、创新驱动、转型求实、变革图强”的发展的策略目标。

  在数字化转型良好机遇的推动下,金融科技成为推动和赋能金融业发展的新引擎,成为维护国家金融安全、实现民生普惠的保障,同时,也面临着巨大的挑战。

  稳与快兼备面临的挑战:对于金融企业,安全底线不可触碰、监管合规的要求不能突破,在追求快速交付的同时,怎么样才能做到稳快兼得,是银行敏捷转型必须要思考的课题。

  业务与科技融合面临的挑战:传统银行机构职能化突出,存在部门间壁垒,在由业务、开发、测试、运维共同构建敏捷团队方面,面临组织难度大的挑战。

  管理理念面临的挑战:大型金融企业多数通过多层次、分阶段的相对来说比较稳定的组织管理模式,保证价值交付;而敏捷工艺技术要求拥抱变化,以自组织扁平化的管理模式,实现快速价值交付。探索建立新的、更具适应力的管理理念和企业文化,存在挑战。

  系统实现面临的挑战:传统银行多采用总线型架构设计,系统体量大,关联关系交错复杂,耦合度高,要实现敏捷的轻量级快跑,灵活快速地按需交付,较新兴互联网金融行业来讲,面临更加大的挑战。

  面对数字化转型的新挑战,中国银行明势而动,于2012年从持续集成、自动化测试开始,启动了敏捷开发及测试的研究与实践。2014年真正开始敏捷导入,建立了一套纵横两条线的发展规划。纵向研究:试点团队深入研究敏捷工艺,探索测试与开发深层次地融合的快速交付流程;横向推广:分享敏捷的优秀管理和技术实践,加强交流,提高开发效率,降低管理风险。概括起来,中国银行敏捷转型经历了三个阶段,第一阶段为试点引入敏捷阶段:挑选适合的产品或项目,小范围内开展试点工作,成立敏捷专题工作组,引入敏捷方法论和价值观,通过自主实践、探索,建立敏捷开发流程框架。同时,为越来越好的践行敏捷文化,在软件中心层面建立看板和晨会机制。第二阶段为敏捷深水试点阶段:扩大敏捷试点的范围,覆盖更多的产品或项目;技术管理部门派人深入试点工作,通过实践分别从技术管理、项目管理、质量管理等技术领域,对敏捷开发提出初步的技术管理要点,探索出传统和敏捷双态并行下的配套管理机制,保证敏捷实施的有效落地。第三阶段为敏捷推广阶段:要求各产品项目陆续向敏捷转型;技术管理部门按照技术条线管理要求,形成敏捷开发测试相关规范制度,纳入组织级管理体系运转实施;基于CMMI的持续改进的环境和能力,持续对敏捷能力进行提升改进和度量,建立了L1至L5的敏捷成熟度模型,分别为入门级、规范级、成熟级、跨越级、引领级。

  敏捷不仅是一种软件开发模式和方法论,更是一种企业文化和组织形式的转型。为越来越好的实现敏捷转型,中国银行于2014年进行科技体系的机构整合(见图1),将用户验收测试和应用运维的职能整合到软件中心,率先实现了开发、测试、运维组织架构的融合,为敏捷的实施奠定了基础。

  同时,对测试流程来优化和整合,将SIT的单系统功能的测试前移至开发阶段,整合SIT和UAT为功能测试,清晰定义各类测试的组织管理模式、边界、标准规范和技术方法(见图2)。

  敏捷测试扩大了测试价值的内涵,实现了测试价值的外延。一方面,促进业务、开发、测试和运维的融合,提高软件产品设计和开发的标准化程度,降低产品和需求的耦合度,提高微服务能力和可测试性;另一方面,更看重终端用户的体验,注重产品为用户所带来的价值和便利性,增强企业对客户的持续服务能力,来提升企业的效益。为了更好地应对数字化转型,中国银行在敏捷测试领域不断的进行创新、实践和改进,持续提升组织级的测试水平和价值。

  1.改进测试工艺,提升人员技能,助力测试的敏捷化。主要进行了以下三方面的工作。

  测试前移。基于TDD和BDD的理念,对于自主开发的产品,将测试活动前移至需求、设计和代码实现阶段,由业务、开发和测试人员共同完成需求评估和分析,在系统实现前建立和明确验证标准,规避了研发人员为了追求新的技术而偏离用户想要,并能够最大限度地考虑产品的可测试性。未解决单元、组装、迭代和功能测试边界不清晰、测试案例数量倒挂的现象,由研发人员在实现代码之前,先行编写测试案例,依托研发人员的技术能力,逐步实现相关案例的自动化实施,并要求测试人员参与自动化实施过程,提升测试人员的自动化开发能力和自动化资产的复用。目前,新建产品、重点产品、变更频繁的产品均开展测试前移,单元、组装测试的覆盖性和有效性得到一定的改善,实现了缺陷前移,大大降低了功能测试的投入,减少了项目后期发现严重缺陷导致产品交付延期,保证了交付质量。

  自动化测试。自动化测试能力是实现敏捷转型的重要前提,正确合理的实施自动化测试,可提升软件和软件测试的质量,缩短产品交付周期。中国银行从2012年开始,设立独立的自动化测试团队,牵头组织级的自动化测试研究推广工作和人员能力建设,建立了自动化测试框架、模型和方法论;统筹引进或开发、整合涉及代码复查、UI、API、GUI和APM等多领域的自动化测试工具,打造交付流水线自动化测试平台。在开发阶段的代码复查、单元、组装和迭代测试阶段,不断地实践、推广自动化测试,有效提升了测试覆盖率和测试执行效率。另外,通过在测试数据准备、测试环境联通、稳定性、兼容性、性能测试等领域,推行GUI自动化测试和性能瓶颈监测自动化,提高了测试效率,有效保证了质量,为产品交付提供了信心和信任度。

  非功能测试规范化。随着移动业务的推广,对移动终端APP、安全性等各项非功能特性要求也慢慢变得高;外部监督管理要求、行业标准及内部标准等也日趋严格和完善。为了能够更好的保证非功能需求、非功能特性、内外部监督管理要求和标准能获得有效验证,规避因测试人员技能问题导致的验证效果不一致,抓住非功能特性存在的客观的、不以开发方式等为转移的本质,研究非功能测试的技术和方法,并从非功能测试的范围、策略等统一制订规范或指南,形成标准案例库,逐步实现自动化测试,把软规范转变为硬约束。对于内外部监督管理要求和标准,结合其来源、执行要求,梳理并总结具体测试点、测试标准、测试方法,明确测试环节和方式,以自动化静态比对为主,动态验证为辅,保证标准验证到位的同时,降低验证成本。

  2.开展客户体验测试,实现快速响应,提升价值交付效率。数字化转型要求快速交付有价值的业务成果,更看重客户的体验,还可以通过技术手段快速收集、反馈和实现客户新需求。中国银行持续十多年开展客户体验测试,并根据数字化转型带来的新变化,一直在优化创新客户体验测试新模式,赋予客户体验测试更多内涵。中国银行客户体验测试包括基地行体验测试、投产前体验测试和外部客户体验测试。设立6家基地行,开展重点业务和产品的体验测试;对于一些新业务、新技术应用等涉及的大型重点项目,组织总分行业务人员和外部大客户,在投产前开展体验测试,提前识别产品存在的业务风险和可优化的功能;推行移动终端APP的灰度发布和测试,实现快速交付,及时响应客户的真实需求并处理问题。通过客户体验测试,提高了获客、载客、留客的能力,有效提升了产品价值交付的效率。

  3.创新全栈测试渗透方法,实现质量内建,提升测试价值。数字化转型带来新技术的大量引入、系统架构的优化调整,导致目前云平台建设、分布式实现、系统升级、主机小机下移等非业务需求剧增,对测试工艺和效率提出更高要求,仅采用正向测试方法已经没办法实现这类需求的快速验证。需要从纯粹的正向测试向功能、性能的检测和比对转变,从被动应对向全流程关键环节主动渗透转变,实现全栈测试,做到以不变应万变。中国银行依托DevOps交付流水线,明确各工程活动环节的交付物和交付标准,并将质量验证标准、验证手段和监控工具嵌入流水线,保证各环节的有效性,及早发现缺陷,实现质量可视、过程可视可审计,对质量趋势做提示和预警,提高质量控制水平。利用大数据、人工智能等技术建立质量智能分析模型,搭建产品质量智能分析平台(见图3),“用数据说话、用数据管理、用数据预测”。

  4.推广敏捷测试,实践驱动转变,持续价值交付。中国银行在产品和项目中积极推广敏捷测试,以实践驱动理念和行为的转变,实现了产品交付的稳、准、快,成效显著。以中银易商出国金融项目为例,由业务、开发与测试工程师共同成立敏捷团队,协同工作,经过65个迭代,完成了38次交付与投产,实现了为出国人士提供全面、专业、优惠的一站式跨境金融服务,创下较高的年累计交易金额和个人保证金的业务额记录。通过实施敏捷开发和敏捷测试,敏捷产品的交付周期大幅度缩短,出国金融、虚拟支付平台等产品的交付周期低于30个自然日,是传统产品的平均交付周期的50%以下。敏捷测试产品的质量也稳步提升,2015~2018年,敏捷产品在生产上的缺陷率持续降低,敏捷测试为中国银行产品价值持续交付提供了有力的质量保障。

  达尔文在《物种起源》中阐明“自然界中的物种不是不变的,而是由低级向高级逐渐进化发展,能够生存下来的物种,并不是那些最强壮的,也不是那些最聪明的,而是那些对变化做出快速反应的”。在数字化转型和金融科技加快速度进行发展、新技术频繁更新换代的新常态下,测试作为软件产品有效的质量控制手段,要一直提升其工艺能力,逐步实现测试的数字化和智能化,做到快速转变、快速提升,以应对内外部加快速度进行发展带来的变化。对于敏捷测试,因每个金融企业具有不一样的特点,应该要依据企业的自身情况,基于敏捷测试价值的理念,不断探索研究新兴技术的测试方法,创新和优化不同开发模式下的测试管理模式,持续提升测试的敏捷度和在产品交付中的价值。返回搜狐,查看更加多

LX-43AC  ComExpress龙芯3A2000主板模块LX-43AC  ComExpress龙芯3A2000主板模块