专访何彦霖——深度揭秘金融领域测试如何打造自动化

导言

如果说互联网是风口,那么金融业从业者一定是第一批站在风口上的人。云计算、大数据以及移动支付等新一代互联网技术的革新,让众多传统金融企业主动或是被动地,催生更多业务模式,推出更多产品项目。然而在以往的架构下,大综合金融就意味着更多、更复杂的耦合,更大规模的数据交互,对测试来说就意味着测试数据使用难度的提升,风险更大,要求更高。重压下测试团队就会想到引入自动化测试,然而金融行业的特殊性,却导致自动化难以实现。今天小编有幸采访到了某大型金融机构测试经理何彦霖先生,以其亲身经历为大家揭秘金融领域测试如何打造有效自动化。 

专访内容

1、 何先生,很高兴认识您。能先请您给大家做个自我介绍么?

我是2006年开始在一家做HIS系统的公司实习并工作到09年,从事需求、测试以及开发工作(DELPHI+SQL SERVER),负责整个项目从前端到后端的工作,涉及到了大量与客户交流、谈判的机会,锻炼了自己沟通能力,这两年工作为我之后走上管理岗位打下铺垫。

在09年进入了国内一家知名企业,从事电信方面的测试工作,走上了管理岗位,这三年时间也是我自己在硬技能跟软技能方面都提升非常快的一个阶段,开始全面接触到质量管理、测试管理、自动化、性能等各方面的知识,结合项目中的情况学习了ruby\vbs\shell等使用比较广泛的脚本语言,并对市场主流的测试工具以及公司自研的测试工具有了系统的学习及实践经验。[详情]

2、刚才您提到接口测试,金融离不开交易,据我了解无论线下POS机还是线上网银,每一次的交易其实都是一次接口的数据互通。面对这千千万万的接口,能具体给大家讲讲测试应该如何下手么?

面对大量的接口测试,我们首先要考虑的事就是项目的技术架构,用到了什么类型的接口(http\web service\hession\soap\socket\rpc\json等)?接口的数据传输有没有涉及到安全性方面的内容,是否需要对传输数据加密解密,是否需要进行多协议转换等?如何验证数据的正确性(比如RETURN的数据、DATABASE、APPLICATION LOG等)?如何做到把大量的接口测试代码与数据剥离,实现基本的分层自动化?大量测试驱动数据又是如何结合用例进行管理,这都是需要我们在做接口测试前需要了解清楚的地方。

其次,在测试过程中要从小到大,从简单到复杂,先考虑的就是具体的单个业务(功能)接口,每一次的交易交互过程,都涉及到了相当多的子系统或是模块之间的交互,先对单个模块\子系统的接口进行测试,确认好该接口针对的是外部系统还是内部子系统或是模块之间,特别需要重点结合具体的业务对接口内容进行测试。[详情]

3、 您主导开发的UTP平台,可以说是公司在自动化发展过程中最重要的推动力。想必很多想引入自动化测试的中小型企业都非常关心这个产品前期是如何规划的,能给我们简单介绍一下么?

在前期规划的时候,想到的有三点:
一是必须满足公司的业务测试纬度需求,主要包括UI ,接口,移动客户端,三大方向;
二是最好有现成的开源框架能利用起来,可以减少大量的开发成本,毕竟对于大多数中小企业来说,有一个专业的测试工具开发团队是一种奢望;
三是对以后平台未来的扩展有足够的空间以及灵活性,另外从我个人的想法来说,开源框架(如selenium\appium)的语言选择上,更加倾向于使用常用的开发语言,比如JAVA,也是基于这个原因。

中小型企业开展自动化测试主要面临的困难大致会有两个:
一是人力成本方面的原因,很少会有专门的测试工具研发小组,甚至在测试岗位划分上连自动化测试工程师的职位都没有,大部分都是测试人员一篮子全包,这种情况需要测试人员  在完成自身其他任务的前提下,兼职来做这部分的事情。
二是目前行业内测试人员对开发语言熟悉程序相对来说会比较弱,想要把自动化做一个平台、体系或是做一些接口测试,都需要用到开发语言,那么测试人员就需要一个语言学习过程或是通过部门层面寻求开发人员的支持,这对于部分高级管理层来说,可能会觉得人力成本没有花在刀刃上。 [详情]

4、在移动互联网的推动下,手机已逐步演变为支付业务的主要用户入口,应对新型支付体系,在测试方面,与传统的线下pos机交易相比,测试的重点有什么不同么?

手机与POS机相比,手机的载体是APP+手机POS,那么就涉及到的测试纬度除了正常功能测试以外,还应该包括用户体验、易用性、稳定性、兼容性(手机型号、手机POS设备、OS平台、OS版本等)、在互联网中数据传输的安全性(非对称加密,二次验证等等)。

另外业务层面讲,整个交易过程设计手机与POS机也有一点点不一样,比如交易后的签名方式(业务模式方面就不方便透露太多了~—~),这都是我们需要重点关注的地方,也是通过客户体验来决定产品成败的咽喉部分。

5、感谢您分享了这么多测试及产品经验。您能有这么好的成果跟您前面自我介绍中提到的工作积累息息相关。有很多会员也希望进入金融领域,您觉得大家需要重点提升哪方面的技能?

一个测试人员我想不管是在哪个领域,首先应该就是测试基础知识的掌握,我记得以前的一个老师说过,测试第一是门理论性的学科,其次才是技术实践类(包括各种开发语言、脚本语言、测试工具的使用与项目实践),我想这个说法不无道理。另一方面知识领域的涉猎一定要泛,比如网络、硬件、数据库、业务知识(重点关注,一些特殊行业,比如金融、电信BOSS等测试人员对业务的熟悉程度要求都比较高)、系统架构、性能分析等等。至于金融领域的一些比较特殊的要求,会涉及到比如财务方面的会计知识、金融支付领域的法律法规、行业知识、安全体系等等。

6、最近“IT人吃的是青春饭,过了30岁就没人要”的话题在论坛上讨论非常激烈,很多人认为转管理是非常好的职业发展选择。您作为一名测试经理,对于如何从一名测试员转型为测试管理人员,有何高见呢?

从技术往管理转型,我个人的看法,最大的要求就是沟通跟协调的能力,这也是管理人员的必备条件,在团队中做事情把团队摆在第一位,只有在团队得到认可的时候,个人才能得到认可,有这个意识,是走向管理的第一步。

其次就是从国内的现实情况来讲,技术团队的管理人员除了以德服人,其次还要有出色技术(业务知识)能力服人。找到自己的长处纵向深入的同时,制定横向提升的方向。提高自己在团队中间的核心竞争力,无论是自动化测试、性能测试、安全测试或是精通业务,把你的长处贡献出来都能为自己在团队中间的价值体现增添一份光彩,正所谓“你好,我也好”。 [详情]

7、感谢何先生为大家带来这么丰富的内容分享,篇幅有限,我知道您刚好也是51Testing论坛本期 “我要做专家”活动的客座专家做客,期待您在活动中更精彩的经验分享。

好的,也希望会员能与我多互动交流,也是一次相互学习的好机会。

你来问我来答

何彦霖

本期话题:小成本自动化平台架构开发

向他提问

热门晋升课程

评论


关于我们 | 会员注册 | 联系我们 | 站点地图 | | 沪ICP号05003035号
意见反馈/投稿邮箱:editor#51testing.com(请将#修改为@)
Copyright©51testing.com 2003-2014 All Rights Reserved