APP下载

银行系统软件测试方法探究

2020-01-18刘艳萍山东省城市商业银行合作联盟有限公司

环球市场 2020年13期
关键词:层次化软件测试测试方法

刘艳萍 山东省城市商业银行合作联盟有限公司

软件的建设和标准化进程耗费大量的资金和人力资源,然而软件的风险又会影响使用者在现实世界中的信用和名誉,近年来银行业系统采用了大量的测试措施来应对不同客户的需求,采用共同的检测方法,检测不同客户需求是不现实的,但是基于银行系统的可靠性和稳定性,开发人员和测试人员可以就不同领域内银行系统软件测试的方法总结大的类别,从而能够为不同场景应用下的测试方法进行归类。

一、软件测试的基本定义及特点

(一)软件测试的基本定义

针对银行系统软件的测试主要是为了发现银行系统运营时的bug,也就是常见的程序执行错误,在软件开发的初始阶段,研究者发现了不同开发阶段的组成部分,而对于软件工程来说软件测试是保证软件质量的关键环节,也影响着软件与社会需求之间的适应关系。针对软件的质量评估,既要讲究策略和方法,又要讲究实效性。通常来说,对于银行系统的软件测试是验收的最后一个步骤,将直接影响到软件的可交互性,是有组织、有步骤的工作活动。

(二)银行系统软件测试的特点

1.业务具有复杂性

对于银行系统来说,由于其整个业务端均基于一个核心系统而存在,主要处理客户的账务、管理的各类系统都会直接或间接的与核心系统之间产生严密的交互性,核心系统将记录客户的账务变化信息、各类大的资金往来,而银行的业务比较复杂,既包括人民币业务,也有外币业务,业务涉及的支付款项和数目变动比较频繁,涉及的途径有网上银行、手机银行、直销银行、微信银行、柜面、ATM、呼叫中心、信贷中心、资产信托、资金风险评估系统等,另外还有一些新颖的中小企业金融业务和中间业务,如外汇买卖业务、基金业务等,也与其核心系统紧密相关。

2.业务软件具有复杂性

其业务相对比较复杂,因此软件系统也具有复杂性,软件系统与服务系统之间密切相关,既要保证客户的利益,同时又要进行银行自身的风险管控,而在账务处理时有既定的规范账务处理流程,也必须规范、精准,银行的软件系统开发使用的语言和技术也比较复杂,不同的系统甚至有不同的解决方案,拥有不同的语言和处理技术,在银行系统内会有一些非常用的技术测试方式,多种多样。

3.银行系统所涉及的网络和硬件环境相对复杂

银行系统所面临的性能考验比较严峻,因此大部分银行系统都会采用集群技术,这是测试的一个方面,同时也给测试带来了难度。银行的软件系统部署到总行和分行要考虑二者之间的网络互通关系,并涉及第三方的业务测试内容,一般比较常见的问题是,银联和人民银行在支付系统测试方面的关系,农信系统以及清算系统普遍存在的代理业务关系等,银行使用的中间服务器一般为CICS、MQ、Tuxdeo 等等,对于中间服务器的测试也是必不可少的实验环节。

二、银行系统软件测试方法

(一)软件层次化测试

银行系统的特点决定了需要实现软件的层次化测试,为了保证软件的质量和可靠性,应该在软件投入运行之前,就针对其需求分析,设计规格说明和编码进行审查。软件的层次化测试策略,是有规律的实现层次化测试模型,并围绕软件测试的基本步骤进行其流程,主要包括单元测试、通用功能测试、业务流程测试、验收测试等。由于银行系统内针对于金融业务的分析,往往是数据处理的增加、变更、消除等,因此其多种多样的操作,需要精准的处理数据,并且不能影响前台的业务逻辑。实现软件的层次化测试,可以根据以下原则,规范测试方法:

1.根据具体的银行系统模块进行功能的抽象分层,实现各种功能的明确约定。

2.完善不同层次,功能灵活的标准化选择。

3.不同的系统分类完成相应层次的测试。

4.当银行系统高层为银行系统下一层级提供服务时,下层的服务实现应该依据上层的测试结果。

5.针对于其层次的数目选择要恰当,不必要设置太多的测试层次。

(二)针对不同测试场景的测试

由于银行系统几乎全年在持续运行,因此可以根据实际的系统运行场景,展开不同时段的测试分类。比如在登录场景之下模拟实际系统运行,按照各个网点在集中时间段内的签到操作,计算其签到数额、金额比数,银行系统CPU 的资源占用情况等。针对银行系统的日高峰场景,分析业务比例组合情况,业务系统获取情况。具体的测试方法大概有以下内容:

1.发起服务器上使用gentest 命令,生成run 文件,使用检测的参数并发度分析,针对不同情况进行调整,该测试方法经检测优于启动服务测试。

2.运行run 文件,登陆使用nmon 或者topas 监控应用服务器对于其数据库的交易发起数量进行监控,run 命令运行100 秒,一般可以完成一次测试。

3.使用run 命令完成之后的系统程序报告分析数据。

4.筛选和剔除交易失败场景比较多的次数,反复测试服务器和SMT 指数及并发数最终得到最理想的TPS 和系统响应时间优化,系统内的程序配置。

三、结论

在银行的实际工作中,由于多个完整的软件测试项目有可能同时进行,在工作之前一定要了解设计的需求,选择不同的银行系统软件测试方法。这就要求系统的测试和研究人员必须透彻的分析及理解银行系统不同场景的测试需求,首先设置测试目标,并在测试中不断完善分析报告。针对于不同的银行工作内容和外包项目等有可能在出现测试bug 时难以马上优化,测试人员不能迫于压力进行强行修正,而是应该发现软件测试的实际反馈问题,找到不易暴露的错误,并进行多次测试实例后予以根本纠正,只有这样的银行系统测试才是真正有意义的测试。

猜你喜欢

层次化软件测试测试方法
基于泊松对相关的伪随机数发生器的统计测试方法
面向量化分块压缩感知的区域层次化预测编码
软件测试方向人才培养“1+X”融合研究
基于皮尔森相关算法的云存储层次化去冗优化
基于OBE的软件测试课程教学改革探索
无线电发射设备杂散发射的测试方法探讨
航天软件测试模型构建与应用
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
EXCEL和VBA实现软件测试记录管理