科技浪潮下的商业银行系统测试转型之我见
2020/11/30 10:21:52

在金融科技浪潮推动下,Bank 4.0时代已经到来,以科技创新融合推动战略转型,加快构建银行服务新模式已愈发紧迫和必要。随着时代发展和科技进步,银行业正逐步实现从网点线下到互联网线上结合线下的转换。银行也不止是传统的金融机构,而更像是一个“持有银行执照的金融科技公司”。在渠道数字化、产品虚拟化、场景融合化、服务个性化的Bank4.0时代,IT风险防控已成为银行风险管理的重要领域,做好网络安全防护、维护软件产品安全可靠成为推进银行业数字化战略转型的重要保障。

对于国有大型商业银行,信息系统的安全稳定运行对银行业甚至国家的金融安全至关重要。测试环节作为系统投产上线前的最后一道防线,对于系统的安全稳定运行有着至关重要的意义。随着网络技术的不断发展,简单的手工黑盒测试已不能满足当前安全生产的需求,数字化时代的到来对测试人员也提出了更高的要求。在安全生产要求日益迫切的今天,如何系统性、规范化的做好测试工作,精准发现系统缺陷、最大程度降低生产事件发生的几率,为系统的平稳运行提供保障,也已成为一项重要研究课题。

保障安全生产,测试在行动

1.树立安全意识,建立安全屏障

测试人员作为系统投产前的质量把关员,绝大部分时间需面对测试环境,通过脱敏后的数据对系统的各项功能进行检验。对于银行繁多的软件系统而言,由于岗位分工等考虑,测试人员通常缺乏直面生产系统、操作生产系统的经验,从而导致测试人员从潜意识上无法重视自己与安全生产的紧密关系,也无法准确意识到测试作为生产前最后一道屏障的重要性。

因此,需要通过对安全生产与信息安全相关制度规范的学习,加强人员责任意识,提高人员技术水平。此外要全面开展测试工作,确保测试充分性,尽早发现并解决各类系统缺陷,保证生产安全。第一,加强学习安全生产与信息安全相关工作指标、制度规范,从思想上提高对安全生产的重视程度;第二,加强对业务制度、规则的学习和了解,测试人员应当熟知本业务条线的行业及行内规范、了解相关业务条线制度要求,培养制度敏感性,在测试过程中敏锐识别违规操作;第三,全面开展功能、性能、安全(包括业务安全和技术安全)、接口方面测试,拓展测试的广度,确保测试充分完备。农行科技板块通过开展安全知识竞赛“以赛带干”,促进科研人员对安全生产的学习;通过在内部分享平台创建业务制度知识库,汇编涵盖个人金融、公司业务、金融市场等多个领域的240多项制度文件,供测试人员检索学习;通过对各类测试技术的调查研究、实践分析,不断完善测试指引和文档规范,严管测试准入、准出扎口,保证测试质量。

2.发挥前移作用,“测试”主动出击

对于项目的研发周期,业务、开发、测试三方分别主导项目周期的前、中、后阶段,在非本角色主导的其他阶段参与较少。测试阶段处于项目整体周期的后半段,介入项目过晚,导致测试人员缺少主动权,往往只能被动接受既成业务需求和软件版本。为更好地保障测试质量,研发中心运用问卷调查等方法就测试前移课题展开了研究:有71%的测试经理认为非常有必要开展测试前移工作,有34%的测试经理在项目工作中实际开展了测试前移工作。因此,对测试前移工作方法的研究迫在眉睫。

高质、高效的开展测试前移工作,有助于测试人员从“被动响应”向“主动预防和价值输出”方向转型。引入测试前移,将测试工作提前到需求研制、需求评审及代码编写等阶段,将质量保证的时间点前移,一是能够在需求研制和系统设计过程中发现漏洞避免缺陷的产生,节省缺陷发现-修复-缺陷复测过程产生的人力消耗;二是在项目前期阶段增加投入有利于改善软件设计,从源头保障系统的安全性;三是强化业务团队、系统开发和质量保证团队之间的沟通协作,增进测试人员对项目需求和系统架构、逻辑的深入理解,着力加强测试深度,挖掘安全风险点。

通过对测试前移课题的研究,我们从以下几个方面开展了试点工作,第一,研制测试前移工作模板,如需求关注点、需求规范性约束、测试关注分析要点等模板规范,指导测试人员梳理复杂需求、厘清测试要点,确保测试过程条理分明、逻辑清晰。第二,建立业务流程图、程序逻辑图、技术架构图等视图资产,梳理业务层上下游关系、系统间关联关系、系统内逻辑关系,便于分析系统改造对关联系统及本系统内逻辑分支的影响,避免遗漏测试点。第三,探索出适用于首次测试使用的界面自动化工具,基于系统UI设计和需求文档,即可编辑自动化案例,待测试交付后直接使用自动化工具开展冒烟测试,打破了业界传统界面级自动化测试框架基于录制/回放模式、仅适用于手工测试通过后进行自动化回归测试的局限性。

3.积累测试资产,传承经验思维

“操千曲而后晓声,观千剑而后识器”。经验的积累对于提升工作能力至关重要,丰富的测试经验在测试质量、测试效率、安全生产等方面也发挥着重大的作用。随着IT技术的飞速发展,软件系统迭代迅速、研发周期日趋紧张,这要求测试人员必须迅速上手,又快又好地完成测试任务。面对时间紧迫、任务繁重的项目压力,要做好测试资产的积累、共享和传承,从而降低测试人员经验差异对测试质量的影响,补足测试人员的能力短板。测试资产不仅包括测试过程中输出的各个测试文档,更为重要的是测试团队积累的测试经验、高效技能和先进思维等。

第一,做好组织级和系统级的测试案例积累,便于系统改造后回归测试复用案例,如正在建设的业务可用性案例库,通过积累能够确保系统正常开展业务的关键性案例并实现案例自动化,解决系统改造涉及关联系统多、难以全面评估项目影响的问题,有效缩短测试时间,确保项目投产安全。第二,全面整理单元测试、集成测试、功能测试、业务验收测试等各测试环节发现的系统缺陷,做好缺陷的分类整理、分析研究。通过数据分析、专家讨论等方法探究缺陷中的共性特点、总结一般规律,进一步挖掘缺陷中隐含的更深层次的问题,定位源头排除隐患,找出缺陷密布的功能点,重点测试,提高缺陷发现的效率。第三,做好生产事件的分析工作,通过生产事件反哺测试,从以往经验教训中找出问题症结,落实到可执行、可检查、可解决问题的层面,在测试过程中甄别、解决同类缺陷,严防相似事件再次发生。第四,做好测试方法的标准化规范,通过规范执行标准化动作,便于缺乏相关经验的项目人员快速掌握要点方法,比如农行研发中心发布《业务安全测试指南》,并在项目需求模板中添加《安全需求检查单》,一键生成业务安全需求,通过配套规范流程和指导文件,便于测试部门全面承接业务安全测试。

4.探索测试工具,全面提质增效

随着IT应用迭代速度的逐渐加快,功能、性能、安全、接口各项测试工作的全面开展,对测试人员的要求越来越高,在规定项目周期内仅凭手工方式完成测试案例编写、执行、缺陷复测等任务愈加困难。测试人员必须充分利用自动化工具代替手工处理,把人从重复、枯燥的手工测试中解放出来,集中精力于分析案例执行结果、思考更多可能存在的安全漏洞。科学地开展自动化测试能够有效缩短项目周期,解放测试生产力,推动开展版本验证测试、灰度测试等工作,促进测试右移、测试向生产环节再迈进,更进一步地确保生产安全性。

农业银行全面探索自动化测试方法和工具,并已取得阶段性成果。第一,研究案例的自动生成方法,自研RCAP案例自动化生成工具,通过标准化、规范化操作实现分支案例全覆盖,即根据需求文档中输入输出要素及业务规则分析录入,一键生成要素级、功能级、流程级测试案例,测试人员对自动生成的案例进行简单整理即可开展手工或自动化案例执行。第二,研究自动化案例执行方法,推出自研的“擎云平台”,实现接口级、界面级和移动端自动化执行,不仅支持基于录制/回放模式的自动化案例录制方法便捷回归测试,更进一步探索适用于功能首次交付进行冒烟测试的自动化执行方法,有效提高测试交付速率。

迎合时代要求,走特色测试转型路

当前十四五规划明确提出数字化转型。由于区块链、5G技术的成熟,大大提升了生产力水平,从而促进生产关系的转型适应。因此对于银行系统而言,银行系统数字化转型意味着创新更迅速,敏捷开发、迭代开发更多应用。促进测试技术的及时转型,才能适应当前科技创新的快速发展要求。

根据国家信息技术创新应用要求,结合当前分布式架构、平台化云化的技术发展趋势,银行业普遍进行着软硬件技术的更新、转型和调整,新技术的发展也使得网络黑产等外部威胁的攻击手段和态势不断升级。测试人员必须加快技能转型,以适应快速变化的新形势,保障安全生产不留隐患。

测试中的各项工作不是独立存在的,而是环环相扣、相互依赖、相辅相成,才能组成一道坚不可摧的防线,保障生产系统稳定运行。以确保安全生产的统一认识为目标、以规范文件作为制度保障,通过对测试资产的积累总结工作方法、对工作痛点的分析创新测试工具,将工作方法和测试工具应用于项目实践,从需求研制阶段开始将测试经验带入系统设计并贯穿于项目全生命周期,利用测试工具提高效率以便更深层次得探索测试右移,再通过实践不断改进工作方法、完善工具,再次投入项目实践,从而打造良性循环的测试闭环。

测试的意义不仅在于找出系统缺陷,帮助软件“快速失败”,完成“扫雷、排雷、清雷”任务;更要未雨绸缪、防患于未然,将测试资产回馈软件设计,避免安全漏洞的产生。“善理疾者绝其源”,预防高于处理,善于利用测试资产杜绝缺陷的产生是对测试工作更高层次的要求。商业银行信息系统的安全稳定运行直接影响到银行的稳健经营、银行的社会声誉、国家的金融安全、社会稳定。我们将继续探索生产安全保障措施,全面提升测试能力,从思维转变、技术创新、方法创新各层面着力,拓展测试的深度和广度,务求实效,在Bank 4.0时代走好特色测试转型之路,守住科技工作的底线和生命线,为业务发展和技术创新铺平道路。

(本文作者单位为中国农业银行研发中心)

本文转载目的在于知识分享,版权归原作者和原刊所有。如有侵权,请及时联系我们删除。

展开全文
相关阅读
资讯查询取消