• 快捷搜索
  • 全站搜索

新时代银行业软件测试的思考与实践

2017-02-16 14:27:34作者:上海浦东发展银行信息科技部 冯文亮 曹栋编辑:金融咨询网
金融科技(Fintech)时代已然来临,传统金融服务占主导地位的格局正在被打破,也倒逼着银行业拉开变革的序幕。如何顺应金融科技的发展趋势是银行业软件测试必然面对的课题之一。

金融科技(Fintech)时代已然来临,传统金融服务占主导地位的格局正在被打破,也倒逼着银行业拉开变革的序幕。如何顺应金融科技的发展趋势是银行业软件测试必然面对的课题之一。

一、金融科技时代的特点

  金融科技已经席卷全球,“科技驱动金融创新”已经成为金融行业的共识。Fintech是Finance+Technology的缩写,是一种利用云计算、大数据、移动互联、人工智能、区块链等新兴技术对传统金融进行改造、革新乃至颠覆,从而提供高效金融服务的商业模式。当前,金融科技的应用范围已经覆盖借贷、财富管理、支付、保险、众筹、征信等多个领域。从产品研发和信息系统建设角度来看,金融科技时代呈现以下特点。

  1.用户体验至上

  用户体验不仅仅体现在界面友好性、操作便捷性等方面,更加智能化、个性化、场景化、安全的产品和服务更是提升用户体验的关键。用户体验至上是以用户为中心战略的最直观体现。

  2.金融产品推陈出新日益加快

  一是新技术的应用将催生更多新的金融产品或服务;二是参与市场竞争的主体越来越多,竞争日益白热化,对于产品的推出时效要求越来越高。除了传统的金融企业以外,互联网金融企业等也加入了金融科技的竞争。

  3.新技术驱动金融业务创新

  一是新技术在金融行业的应用和落地速度越来越快;二是新技术在金融行业的应用范围越来越广;三是新技术在金融行业的应用程度越来越深。

二、金融科技给银行业软件测试带来的挑战和机遇

  测试作为信息系统建设不可或缺的一环,承担着保障信息系统正确性、完整性、安全性的重要责任。随着近年来银行业信息系统的快速发展,测试工作也取得了长足的进步,测试的深度和广度不断拓展,测试的方法和工具日渐丰富,但是金融科技仍给传统的金融测试带来了严峻的挑战。

  (1)需要更高的测试水平

  随着金融科技时代各类应用场景和渠道的丰富,特别是大数据、移动应用、区块链、人工智能等新技术的出现,传统测试尚缺乏针对性的解决方案;分布式、云架构、移动终端、安全芯片、物联网等都对测试能力提出了更高的挑战;新的金融业务层出不穷,也对测试提出了更高的要求。

  (2)需要更敏捷的测试反应

  金融科技时代,激烈的市场竞争意味着需求的快速变化,快速的需求变化要求快速的信息系统开发与迭代。对于测试而言,探索快速应变的测试方法,研究新的测试技术,研发高度自动化的测试工具和平台,就显得尤为迫切。

  (3)质量与效率的矛盾更加凸显

  质量和效率始终是系统研发中的一对矛盾体。在金融科技时代,这个矛盾将更加凸显。一方面要求系统尽快上线,一方面要求系统具有稳定的、高质量的用户体验。因此,如何同时平衡质量和效率是重大的挑战。

  虽然金融科技给测试带来了巨大的挑战,但是也为测试带来了新的机遇。

  (1)新的技术将丰富测试的手段

  云平台、虚拟化、移动互联等新技术为测试发展带来了新的契机。例如,云平台为多个测试项目的并发执行提供了资源保障,满足了日常测试工作的需要;虚拟化、弹性部署实现了测试环境的快速准备,有效提升了测试效率;移动互联网为通过移动终端发起测试和回收测试结果提供了可能,使得测试人员可以摆脱物理位置的限制,提升工作效率。

  (2)新的技术将提升测试管理能力

  各种新技术的出现,为测试管理由“定性”管理转向“定量”管理提供了技术保障。传统的量化管理需要较多的人力资源投入,且收集到的数据缺乏有效的分析手段,量化管理效果不明显。大数据为数据分析提供了新的手段,云计算为数据分析提供了强大的计算能力,移动互联网拓展了数据的收集范围和数量。此外,大数据分析有助于重新发掘测试用例、测试缺陷、测试结果等测试资产的价值。通过对测试资产的深度分析和抽象提炼,可以为各类测试资产勾勒出清晰的“数字画像”,进一步提高对测试资产的管理和应用能力。

三、金融科技时代银行业软件测试的思考

  在不同的发展阶段,银行业软件测试的理念、管理手段、测试模式等都会有所不同。金融科技时代已然来临,如何顺应时代发展要求,是每位银行软件测试人员都必须认真思考的问题。以下从测试理念、测试管理体系、测试管理手段、测试模式、测试技术和测试人员技能等六个方面进行论述。

  1.“以用户为中心”的测试理念

  在金融科技时代,用户体验至关重要,我们要改变传统的“以发现缺陷为核心”的测试理念,树立“以用户为中心”的测试理念。而用户体验测试是“以用户为中心”测试理念的最直接体现,是衡量用户体验好坏的重要手段。传统的用户体验测试主要针对界面、布局、交互等开展测试,并将用户体验测试与功能、性能、安全性等测试类型相区分。但其实,功能、性能和安全性都是直接影响用户体验的重要因素,应该在更大范围内考虑用户体验测试的含义,应该将功能测试、性能测试、安全性测试、兼容性测试、高可用测试等都纳入用户体验测试的广义范围。要充分认识到用户体验测试的重要性,原则上,系统在投产之前都应实施用户体验测试。

  2.“以成熟度为标杆”的测试管理体系

  随着金融科技的发展,测试种类越来越多,测试方法和模式越来越多样,测试环境和工具越来越复杂。如何系统地构建覆盖所有测试工作的测试管理体系是实现有效测试管理的基础。测试成熟度模型集成(TMMi)是由TMMi基金会提出的测试过程改进指南和参考框架,是一个较为完善的、系统化的测试管理体系,共分为5个成熟度等级。测试组织可以借助TMMi使组织的测试过程从粗放的和未管理的,改进为已管理、已定义、已测量和优化的过程。

  TMMi的作用体现在以下几方面。

  (1)促进测试规范与效率提升。在测试项目数量多、时间要求紧,人员技能不均衡的现状下,通过借鉴业界公认的最佳实践,有助于建立规范化、标准化的测试流程,保障服务质量。

  (2)快速掌握业界先进测试实践。参照TMMi可以极大地拓展测试工作视野,汲取业界最佳测试实践为我所用。

  (3)提升测试外包管理质量。采用统一的TMMi体系,可以客观标准地衡量不同外包厂商的测试工作质量,降低因不同外包人员流动带来的交接成本和培训成本。

  (4)增强职业认同。采用业界领先的TMMi规范,有利于统一服务标准,降低因员工个人技能差异带来的各种风险,并促进员工测试能力提升,增强职业认同感。

  3.“以量化管理为导向”的测试管理手段

  金融科技需要改变传统的以定性管理为主的测试管理手段,以提高测试管理效能。大数据分析、云计算、移动互联等技术也为量化管理提供了技术基础。量化管理就是要实现资源最优化、项目可视化和问题数字化的目标。

  在整个测试管理过程中,涉及需要量化管理的领域非常多。一般依据事前和事后管理的维度来分,可以分为估算和度量两大类。

  估算是以实际统计调查资料为基础,根据事物的联系及其发展规律,间接地测算和预计有关事物的数量关系和变化前景。估算可以贯穿测试项目的整个生命周期,包括测试项目范围估算、成本估算、进度估算、风险估算等。

  度量则是依据特定的标准,衡量当前事物与标准之间的差异。测试项目执行过程中的跟踪监督过程则离不开度量。针对项目要素进行跟踪度量,通过分析度量数据及时发现项目进展中存在的问题,从而有针对性地制定解决方案,具体包括进度度量、质量度量、工作量度量等。

  4.“以自动化测试、云测试、众包测试为特征”的测试模式

  (1)高度的自动化测试

  金融科技要求研发是高效的、测试是高效的。测试的高效开展离不开测试技术的支持。自动化测试技术通过提高测试的自动化程度来加快测试工作效率。目前,自动化测试已经得到越来越多的使用。但是,当前自动化测试过程中的多个环节仍需要人工参与,自动化程度仍有提升的空间。在金融科技时代,高度的、全流程的自动化测试一是可以实现“测试申请、版本发布、测试执行、结果反馈”等整体测试过程的自动化,取代当前测试过程中的人工节点;二是可以提供平台级的自动化服务支持,测试过程对用户全透明;三是整个过程中的关键环节检查,如版本获取、自动化发布、测试执行等阶段均有相应的自动处理和通知机制。所有的流程节点支持节点任务失败的重新启动、继续和终止,并可对自动化测试进行暂停、继续和终止。

  (2)云测试

  云计算技术为云测试提供了技术支撑。云测试平台可以预先构建大量配置各异的虚拟测试环境,使测试人员借助于云测试平台提供的各种硬件设备、软件系统、测试工具及专业服务等来进行测试,测试人员只需制定好测试方案、编写好脚本,上传至云测试平台,便可以运行脚本进行测试。这样不仅节约了时间和人力,同时还大大节省了软硬件资金的投入。鉴于银行业在风险管理、信息安全方面的高标准,建设私有的云测试环境适合于目前的银行业测试。

  (3)众包测试

  互联网技术的兴起为众包测试提供了先决条件。众包(Crowdsourcing)是一种分布式的解决方案和生产模式,是指一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的网络大众的做法。众包测试是众包在软件测试领域的延伸,是一种社会化的测试模式。

  相比于传统测试,众包测试具有四方面的优势:一是快速迭代。采用“短平快”的流程,尽量把问题暴露在上游。二是极低成本。在某些产品的测试成本上,与其雇佣一个高级测试人员来编写自动化测试用例,还不如众包给100个普通用户进行测试,因为后者往往是免费的。三是获取的需求更加真实。通过接近用户,可以获得最真实的用户需求。第四是树立产品品牌。通过组建测试社区,测试参与者会有参与品牌建设的亲切感,具有极高的黏性,有利于产品的日后推广。

  5.掌握适应金融科技发展要求的测试技术

  金融科技的本质是科技驱动金融业务创新。在未来,金融科技将呈现数字化、云化、智能化、移动化和去中心化的发展趋势。从测试角度而言,除了传统的被测系统以外,在大数据系统、云架构、人工智能系统、移动应用、分布式系统等方面都需要具备新的测试理论和技术。例如:对一个智能投资顾问系统开展功能测试,由于智能系统的结果输出随着数据规模、数据种类、数据的时效性、市场行情的变化而变化,因此其结果输出往往是可变的甚至是主观的。那么如何设计测试案例,来判断测试结果的正确性?另外,传统的银行业测试多以软件测试为主,但是在金融科技时代,测试不应仅仅关注于系统软件本身,还需要考虑所关联的硬件环境。例如:由大量传感器组成的物联网系统在数据安全、不确定的网络连接和各种各样的嵌入式系统方面给传统的测试方法带来了挑战;移动终端APP的性能不仅需要考虑APP本身的处理效率,还要考虑电池耗电以及移动网络质量的情况。

  6.培养以复合型人才为主的测试人才队伍

  跨界是金融科技时代的特征之一,跨界不仅是金融业务领域的跨界,也是人员能力的跨界。金融科技需要的是复合型人才。具体到测试人员而言,测试人员不应仅仅是发现缺陷,测试人员应该逐步具备分析缺陷成因、提出规避缺陷的方法,对前道的业务功能、架构设计、系统开发和后道的系统运维能够提出独到的见解等复合技能。

四、浦发银行测试中心的实践

  金融科技虽然是新生事物,但是代表了金融行业未来的发展方向。因此,浦发银行信息科技部测试中心(以下简称“测试中心”)积极跟踪金融科技发展动态,从软件测试角度分析应对策略,并在测试理念、测试管理体系和成熟度建设、量化管理、测试模式创新等方面开展了实践。

  1.在测试理念方面

  测试中心坚持“以用户为中心”的测试理念。从2013年起,测试中心就开展了用户体验测试的探索与试点,通过可用性分析、专家评估、竞品分析等专业测试方法,将“用户体验”的设计和测试理念应用于网银、电子支付、门户网站、ATM、VTM等多个应用系统的研发过程,促进提升了浦发银行对外服务系统的用户体验质量。测试中心在深耕传统功能测试和性能测试领域的同时,还拓展了投产验证测试、安全性测试等多个测试领域,提升了测试完整性,为信息系统高质量的用户体验提供了保障。

  2.在测试管理体系和成熟度建设方面

  测试中心一直以TMMi作为测试管理体系建设的参照和标杆,已形成了包括“办法、规程和操作细则”在内的多层次、多领域的测试管理体系。同时,测试中心积极参与TMMi成熟度评估,2016年3月28日顺利通过测试成熟度TMMiL3级国际认证,成为国内金融行业首家通过TMMi测试成熟度认证的专业测试组织,也标志着浦发银行测试工作迈入了新的阶段。

  3.在量化管理方面

  测试中心探索建立了覆盖开发、测试、运维全生命周期的测试度量分析平台,逐步实现质量管理由“定性”向“定量”的转变,为持续提升科技研发质量提供了有效支撑。

  4.在测试模式创新方面

  测试中心自主设计研发了云测试管理平台,用于测试需求、测试案例、测试缺陷、测试数据和测试执行的管理以及度量分析和测试资源监控,实现了测试场景、测试执行、全流程自动化的统一管理和高效执行;还自主设计研发了“性能测试一体化实施平台”,实现了性能测试由“纯手工测试”向“自动测试”转变,解决了并行实施效率较低、海量数据分析耗时过长的技术难题,形成了一体化快速交付模式,大幅提升了性能测试效率。

  测试中心后续还将探索在大数据系统、云架构、人工智能系统、移动应用、分布式系统等方面的测试解决方案。同时,逐步培养复合型的测试人才,以积极应对金融科技带来的挑战。

  综上所述,如何适应金融科技的发展要求是银行业软件测试无法回避的重大课题。本文从产品研发和信息系统建设的角度总结了金融科技时代的特点,分析了金融科技给银行业软件测试带来的挑战和机遇,围绕测试理念、测试管理体系、测试管理手段、测试模式、测试技术、测试人员技能详细阐述了金融科技背景下对银行业软件测试的思考,并介绍了浦发银行测试中心的相关实践。对银行业软件测试而言,只有提前思考、早做准备,才能在金融科技时代做到“不管风吹浪打,胜似闲庭信步”。

(文章来源:《中国金融电脑》杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章