传统银行如何进行敏捷可靠的架构之变?软件测试

09/15 04:52:36 来源网站:辅助卡盟平台

银行过桥业务银行翻脸_以下语言为脚本语言的是_脚本语言 银行 中间业务平台

数字技术正在改变人们的金融消费习惯。随着数据化进程的深入,互联网金融产品如雨后春笋般涌现,对传统银行的支付结算和中间业务造成了不小的冲击,传统银行为了快速满足客户不断变化的多元化需求,如何进行敏捷可靠的架构之变?其中所用到的一些自动化测试框架工具,作者深入敏捷转型项目开发过程中自动化软件测试,希望通过本文抛砖引玉,拓展自动化测试思路,找到适合自身特点,安全可靠的自动化测试方法。

现状分析

俗话说:“工欲善其事、必先利其器。”,工具对于开展自动化测试的重要性自不待言,对自动化测试人员有三方面的要求:

一是提升编程技巧。做为测试工程师要掌握一些高级语言,脚本语言,类似以java为重点phython等,如果常用web自动化测试,则考虑jsp、php等是必须掌握的。

二是具备系统与数据库经验。因为软件自动化测试是构建在操作系统上的,需要用到操作系统技巧,例如:注册表、环境变量、句柄等,同时也要善于利用数据库知识去实现存储及数据管理。

三是熟悉业务流程。掌握所从事的金融业软件行业知识,需要加深了解银行会计及国际结算等业务知识,在ISO及CMMI质量体系中,做到有章可循。

方法设计

自动化测试理念与软件设计模式类似,作者深入到具体项目去学习。例如:java软件界面测试(RFT、QTP的java插件等)、web界面测试(QTP、selenium等)、性能测试(loadrunner等)。入门先学工具,编程也是一项重点学习内容。建议从已经开展自动化测试的项目入手,则自动化测试入门会很快的。深入理解并掌握拓建自动化测试框架,性能测试关注环境构建方法,以及对测试结果的分析方法,性能测试关注分析和实现过程。

1.确定测试类型。首先我们要明确了自动化测试类型,定位好类型才去选择用哪个自动化测试工具?测试类型包括:白盒测试、黑盒测试以及压力测试、性能测试等。

2.选择测试方法。不同的测试类型所选择使用的自动化测试方法不同,例如,白盒测试主要针对代码级的单元测试,黑盒测试主要面对用户功能级和系统级的验证测试。

3.人员技能要求。自动化测试要有一定编程基础,能编写测试代码。功能测试分基于API和GUI的测试;基于API的测试,即应用脚本技术向设备模拟发送API请求,以达到控制设备的效果。基于GUI功能测试,即应用传统的界面自动化测试工具如:RFT、QTP等控制界面控件操作的方法,以达到模拟用户操作,这都需要有一定编码基础;基于API需要懂脚本技术例如:python等,RFT需要懂java或者.net等。像常用的loadrunner性能测试工具,测试软件性能,例如多用户操作等性能,也需要写代码,LR脚本支持的语言有:java、c、VB。默认的脚本生成语言为C;需要掌握其性能测试的方法很重要的。

应用架构

敏捷自动化测试特点是:高效+深入+协作,敏捷自动化测试所需条件比常规瀑布式开发项目标准更严格。作者参加了消费金融项目一个多月的封闭开发,这是涵盖某银行个人贷款审批、贷后管理、授后变更等业务,在敏捷项目试点过程中,使用到的自动化测试工具如下所示:

1. 代码复查及监控。Jenkins任务调度+Sonar代码质量平台+PMD、Findbugs、CheckStyle、Jacoco静态代码复查工具。sonar是代码质量平台脚本语言 银行 中间业务平台,不做代码分析,可集成加载插件,从JENKINS调起MAVEN构建,成功后则用MAVEN构建完的执行码用来跑JUNIT,接着调用soanr,使用插件如,checkstyle,pmd,jacoco(javacodecoverageLibrary覆盖率工具可以嵌入到ant、maven中),findbugs代码静态分析工具,Sonar、Jenkins这些第三方的工具提供了对代码静态分析工具的集成。

我们通过命令调用sonar,在jenkins控制台看到插件使用情况,多个批次并行开发,指定代码存放的版本管理库地址,开展源码管理。配置好构建触发器,以便于下班后的自动构建。

2.Junit单元测试。Jenkins任务调度+Maven构建+Junit单元测试框架。

3.接口功能测试。Admitester接口自动化测试工具,简称AD。

4.RFW界面WEB测试。UI是用户界面的简称,RideRIDE是图形界面运行测试的软件。RobotFrameworkRF(简称RFW)框架,基于UI的自动化,RFW框架编写基于web用户界面的测试用例。RFW在用户需求有变化时,已创建界面用户功能测试案例需频繁修改,为了规避此风险,项目组做法是:等到下一个迭代再完成编写上一个迭代的测试案例,只测已稳定功能,即回归测试。若跟着迭代并行开展自动化测试,则会耗费大量人力。

脚本语言 银行 中间业务平台_以下语言为脚本语言的是_银行过桥业务银行翻脸

图 1 自动化工具

实践改进

在封闭期间,组织逾百人并行开发,利用持续集成方法和自动化测试平台,有效隔离了并行开发的相互影响,积累了丰富的敏捷实践经验。深入开展了新工艺方法及敏捷开发中的持续集成实践,取得了显著成果,且在短短一个半月内多批次测试案例的并行,圆满完成任务。作者根据实施敏捷开发项目的现状,提出三处可改进点。

一是维护成本大。项目成员刚接触自动化测试工具,边实践边学习,难度高、进度缓。加上系统功能点逻辑复杂脚本语言 银行 中间业务平台,功能点案例编写难度大,界面测试案例维护成本大,随着业务需求不断变化,版本快速迭代,维护案例越来越困难。

二是体系待完善。由于未搭建单元及组装测试的敏捷内部自动化测试体系,加之自动化测试工具尚在完善,测试人员对于相关功能掌握不够透彻。

三是缺陷时效性差。实现的自动化测试不是测试驱动,只是对稳定版本回归测试。自动化测试进度滞后,加上批量等重要的模块未开展自动化测试,无法快速响应迭代版本带来的影响,不能及时发现系统缺陷。

消费金融项目伴随着敏捷转型,资源实验快速分享,通过掌握自动化测试的方法,编写了培训手册例如《AD自动化测试工具挡板使用》《AD案例开发说明手册》《JUnit单元测试自动化案例的编写规范手册》,完善工具指引并组织内训。

根据项目中期数据显示,在批次内部测试工作中,该产品积累案例数自动化测试案例数位列第一,不仅将开发测试人员从日常繁杂重复的手工劳动中解放出来,从事更富创新与挑战性的工作;而且能够不断增强技术底蕴,加大自动化测试工具的应用深度,培养自动化测试人员技能,提高开发测试效率。

自动化测试是提升产品软件质量的一项重要举措,推动传统银行科技事业的长足进步,只有厚积薄发的测试工艺改进与提升,最终实现技术飞跃。展望未来敏捷自动化测试之路,任重而道远。

weixin.qq.com/r/WXW5oXnElSTqrT3C9yBL (二维码自动识别)

    暂无相关资讯

传统银行如何进行敏捷可靠的架构之变?软件测试