会议 | 2019金融业质量创新研讨会原创
2019 年 12 月 19 日,由中国信息通信研究院云计算与大数据研究所主办,杭州笨马网络PerfMa 承办的“聚焦创新技术,汇聚行业智慧-2019 金融业质量创新研讨会”在上海举办,近百位金融机构领导及技术专家齐聚一堂。
中国信息通信研究院云计算部主任栗蔚、杭州笨马 PerfMa CTO 及联合创始人童庭坚出席会议并致辞。
本次研讨会围绕“聚焦创新技术,汇聚行业智慧”展开,旨在探讨金融行业软件质量工程如何应对新的组织架构和发展,针对行业的技术能力突破等问题进行深入交流,为测试质量的创新技术在金融行业的发展起到引领和铺垫的作用,真正形成行业合力,促进行业共同发展。
开发测试云平台为开发者赋能
中国信通院云大所云计算部副主任陈屹力在会上做了题为“开发测试云平台及大规模性能标准探讨”的分享,讲到在微服务架构下,企业研发往往面临如下挑战:跨域协作效率低,开发、生产环境难以保持一致,灰度发布流程复杂,DevOps 转型困难,自建平台门槛高等问题,而开发云平台集中提供了全套工具,为企业提供了便利,并赋予开发更多能力。
企业在全面转向云计算后,在现阶段以容器技术为核心的云原生技术架构成为降本提质增效的最优路径。下一阶段云计算的发展的目标需要实现运用云计算满足 IT 信息化决策的需求,赋予传统 IT 更好的能力和效能。最后陈屹力重点分享了集群高并发性能测试、虚拟机性能评估、大规模容器集群性能测试等方面的指标与方法。
从点到面:分而治之,自动化框架
东方证券测试总监杨忠琪在会上说互联网的发展要求更快速的交付,越来越多的企业引入了敏捷开发,敏捷带来了交付效率的提升的同时也给测试带来了巨大的挑战,并现场提出测试“灵魂三问”:
1.为什么这个BUG都测不出来?
2.测试怎么测的?到底会不会测啊!
3.测试快点啊,为什么总是测试拖后腿,最后才报BUG?
从业务交付的角度,杨忠琪认为双态IT模式下,敏捷的最小可用产品(MVP)与业务拓展的矛盾在金融行业尤为突出,因为大多数情况下,传统金融行业市场的追随者,只包含最核心服务的MVP对于业务来说是卖不出去的。这种矛盾的产生,对双态下的质量交付提出更高的要求。因此双态IT模式下的测试策略就显得尤为重要,敏捷测试与瀑布测试并不是一个非黑即白的关系,很多时候需要打组合拳,和平共处,目标都是尽力和尽快地满足业务的目标,双态 IT的模式可以让测试真正敏捷化,降低实际消耗工时带来的质量问题,做到持续集成的过程中使业务设计不走型持续交付。并通过分而治之的策略建立了API自动化测试平台、UI自动化测试平台、测试数据云平台、量化监控平台,解决了测试效率、测试数据、测试监控相关的问题。
最后分享了敏捷与 DevOps 的实践和工具,比如 Scrum 的 3355、看板、极限编程等实践、CI/CD 流水线、测试驱动编程等敏捷理念和工具在瀑布计划下的使用。
测"全"、测快、测准、易测的精准测试之道
甜橙金融翼支付质量监控中心负责人徐一诺讲到如何让自动化测试在测试体系的保障下有效的运转是测试工作的难点,提出了测试的阿喀琉斯之踵主要是这三方面:测试效率低、测试质量保障难、测试成本高
测试需要努力实现测全、测快、测准、易测,并分享了翼支付在构建测试决策引擎、业务链路透视、精准定位代码问题等方面积累的经验分享给大家,未来翼支付将在用例和代码瘦身、异常注入式测试、基于调用链的精准回滚、基于代码行的精度测试方面投入精力,最后以实现将质量工具链到质量中台的转换。
不以业务为目的的敏捷是伪敏捷,不以业务为目的的DevOps只是玩弄技术
同济大学朱少民老师指出在敏捷和 DevOps 开发模式或环境的影响下,人们更注重技术、注重全过程的自动化,往往却忽视了业务、忽视了需求的质量,需求不明确、频繁变更成为当今软件研发最突出的问题。
朱老师提醒大家要从软件研发的源头-需求端出发,关注业务,关注需求工程,全面落实业务驱动开发,以一些生动的例子帮助大家重温了质量大师克劳士比的“零缺陷质量管理”思想,介绍了如何实施业务驱动设计、业务驱动测试,包括领取驱动设计、验收测试驱动开发(ATDD)/行为驱动开发(BDD)/需求实例化等优秀实践,而且业务驱动方法可以让敏捷测试更简单、更高效。朱老师最后强调:做得快,质量不一定就降低,第一次把事情做对,效率是最高的,质量也是最好的,真正达到“又快又好”。
https://pan.baidu.com/s/1_UZorCrRih1gnyLNv-2ePw
演讲嘉宾PPT分享链接如上,提取码: nrgn
会上,中国软件测试认证委员会周震漪,杭州笨马 PerfMa CTO 及联合创始人童庭坚,安信证券测试负责人徐庆奋,TestOps 测试运维推动者陈霁,TMMi基金会中国分会秘书长任亮,招商银行卡中心测试负责人洪艳华进行了主题为“金融数字化转型时代,如何进行质量技术创新与赋能”的超级对话。
(以下为论坛交流实录,经整理,有删减。)
主持人周震漪:在金融行业软件质量管理过程当中会涉及到很多的方面,但是科学技术始终是第一生产力,是驱动企业发展的核心的引擎。那么问题是,在金融数字化转型时代,你觉得有哪些工具、框架、技术,能够较好的来支持金融行业软件质量的创新?
PerfMa CTO 及联合创始人童庭坚:我想从两个方面分享,第一“快”的问题,第二“准”的问题。“快”指的是在实施过程的高自动化程度。
比如,一次性能评测过程中不仅仅是压力模拟自动化这一个环节,将它自动化后我们会发现性能评测依然是一项很重的工作,这也是为什么很多企业没办法把性能测试视为质量的红线的根本原因,而并不是所谓的“变更后功能测试一定要测,性能可以不测”这样的说法。我们再来分析下性能评测工作为什么重。随着近几年来大部分企业开始逐步升级微服务架构,对于环境治理也变得越来越复杂,所以测试准备阶段所涉及的数据准备、环境初始化、环境检查等,测试执行阶段全链路上需要采和分析大量的性能数据,测试报告阶段多版本的性能基线和差异也需要持续跟踪,所以这项工作的自动化程度决定了是否可敏捷化。PerfMa自成立以来一直在探索将环境治理、数据准备、性能监控与分析全流程自动化。
再比如,我们花了很大的代价实现了UI、接口自动化测试执行上,但事实上测试人员大量的时间花在测试数据准备和问题排查上,在问题排查过程中还需要不断协调研发等团队支持,那假设我们在浏览器或APP上点一下,即可看到后端全链路上的调用关系和相关日志,那测试则可以不依赖开发人员,快速定位到用例失败的原因。
第二“准”,关于精准的回归,我们以前更多的都是在测试环境做代码覆盖率,创业前我们曾在蚂蚁金服尝试把做生产代码覆盖率录制,通过生产来证明测试着重点是否偏离了方向,整个思路大家可以借鉴。覆盖率只会导致测试用例的增加,也就是增加工作量,其实我们还可以通过识别两个版本之间的代码差异,来分析所变更的代码对全量测试用例的影响度来度量回归范围。
最后,既然刚刚大家提到混沌工程,我们正在规划将繁琐的故障演练测试过程编排到整个性能评测流程当中,实现演练场景定义、演练动作执行、演练结果分析一整套流程做到一次编排多次执行的能力。促使整个非工程测试的敏捷化和智能化。
TestOps 测试运维推动者陈霁:做什么工具是基于需要解决什么业务目标,而能做的业务是取决于我们有什么样的能力来支撑。当我们在写一个测试框架和工具工程去测另外一个工程的时候,首先我们写的测试应该是符合工程化管理的,也会有代码管理、数据库管理,测试代码和被测代码版本之间是依赖关系的,它们之间的变动关系也是应该有对应的。其次当大家在实现业务的过程中会遇到很多困难,需要快速的有效的质量反馈及改进,而这一切绝不是一个人或者一个部门可以做到的,自然而然形成为了实现共同目标的共担责任。最后共同赋能,每个人都要考虑如果不帮助别人去做这件事情,那么最终共担责任也是全输,所以通过测试及研发的赋能让开发人员能够把整个业务流程独立的都能走通从而实现一键环境申请,一键环境部署,一键环境测试,基于测试驱动开发模式的持续交付过程。
招商银行卡中心测试负责人洪艳华:作为团队的第一个测试人员,在早期测试人员严重缺少的情况下,我当时最主要的想法是怎么通过技术来帮助我们团队做好我们的产品的交付质量,让开发人员能尽早的参与到质量活动。我们首先想到的措施是想办法把自动化测试集成到流水线上,通过持续集成让开发提交的代码能更快获得质量反馈,这一做法取得很好的效果。为了加强这一实践,我们独立成立了一个应用交付团队,自研了符合我们业务流程的DevOps平台。与此同时,我们测试团队也更专注于测试本身的问题和工具体系的建设,包括各种专项的测试工具和平台。比如,我们现在正在做一个基于微服务的环境管理平台,目的是解决研发团队对环境多样性的需求,通过技术创新去解决开发测试人员对环境依赖的痛点问题。
主持人周震漪:金融数字化的一个优势在于我们能够更好的去监督和管理金融软件的质量,能够有效的做到用数据说话,用数据来管理度量,最后达到用数据来预测。问题是,金融软件质量过程当中,不论是稳态的模型或者顺序模型,还是敏态的迭代增量模型,很多问题都会在质量保障过程中的过程和管理上出现问题瓶颈。那么技术如何在质量保障过程和管理上面进行创新与赋能?
TMMi基金会中国分会秘书长任亮:新技术是层出不穷而且更新迭代非常快,如果我们一直在追逐技术,其实很难真正有效的把整个质量保障,质量创新做好。因为技术毕竟只是技术,一定还要回归到我们的本源-为业务服务。大型金融组织来讲,直接应用技术有的时候其实效果是不好的,技术很多时候其实是要为流程服务的,而流程是要为业务服务的,要形成闭环的链条。
所以技术一定要结合我们的实践,结合真实的情况,最根本的就是结合业务情况,怎么样真正为业务贡献价值。现在有不少公司产品上线出了问题先找测试,说测试不充分;测试说没测完不能上线,那么上线慢的最大的责任就是测试,这样下去测试就很难有效开展工作,甚至是形成一个无解的问题点。想要解决这个问题还是要从流程体系上,从刚才说度量体系上,我们怎么样去衡量我们测试的价值。
安信证券测试负责人徐庆奋:谈软件质量管理就不能不谈软件工程,软件工程主要解决两个问题:一个是质量问题,另一个是效率问题。谈数字化转型就要谈落地问题,落地自然就需要考虑研发模式、工具、框架、技术等问题。
这个问题涉及面太广不好短时间内有个深入的探讨,但我们不妨回头看一下软件工程发展的历史,看不同的时代面临的问题,进而看当时的模式、工具、技术是如何解决当时的突出问题的。
比如20年前软件工程面临的是系统大集中后的大规模软件研发管理问题,自然就有CMMi、6Sigma等比较重的软件工程体系来支撑研发管理问题的解决。10年前互联网风起面临的是快速上线和不断试错的问题,自然敏捷方法就大行其道。
现在来看我们需要如何创新地解决自己公司面临的工程质量管理问题,我们完全,从自身的问题出发,向历史借鉴,选择适合自己的体系、工具、技术。软件工程的核心理论变化并不大,软工和质量人员的核心能力不仅表现在对具体的体系流程和方法的掌握,更多在于如何运用软件工程理论知识来解决企业面临的研发管理问题。能够有效解决问题的体系工具就是好的体系工具,就是在进行创新,有效、实用是永远要考虑的。
https://pan.baidu.com/s/1_UZorCrRih1gnyLNv-2ePw
演讲嘉宾PPT分享链接如上,提取码: nrgn
【主办】中国信息通信研究院,始建于1957年,是工业和信息化部直属科研事业单位。多年来,中国信通院始终秉持“国家高端专业智库 产业创新发展平台”的发展定位和“厚德实学 兴业致远”的核心文化价值理念,在行业发展的重大战略、规划、政策、标准和测试认证等方面发挥了有力支撑作用,为我国通信业跨越式发展和信息技术产业创新壮大起到了重要推动作用
【承办】PerfMa(杭州笨马网络技术有限公司)致力于打造一站式IT系统稳定性保障解决方案。凭借领先的技术实力和丰富的行业经验,专注于性能评测与调优、生产稳定性监控、故障根因定位与解决,为企业提供一系列技术产品与专家服务。帮助企业提升研发效能、节省资源成本,在业务快速发展的同时保障生产稳定性,更聚焦于业务创新。