马胜蓝
伴随着经济发展压力和银行竞争日趋白热化,以及大数据、云计算、互联网+的不断发展,银行业务信息系统由传统的信息化、集中化和自动化,逐步向分布式、云计算、大数据方向发展。银行信息系统的构建和更新的任何失败,都有可能带来较大的风险。银行对自身系统质量和风险的控制能力,须提升到战略层面来考虑。
当前各家银行都构建了信息系统测试体系,但随着业务系统的不断增加,测试案例也逐步增加,对测试的难度和覆盖度提出了更高的要求。为此,本文基于福建农信的测试体系现状,采用粗糙集的方法论探讨银行测试案例的精简化方法,以期实现测试案例的约简,在保证测试覆盖的同时减轻测试人员的工作量。
提高测试效率是核心竞争力
测试资产管理是测试体系建设中的重要一环。而其中测试案例一项即是重要的测试资产。测试案例是测试活动产出的重要资产,对于不断升级及推陈出新的银行业务系统,大量测试过程积累的测试资源能否在新需求或者新环境下测试,并且测试案例能否被复用,是检验测试工作可回归性的重要指标。
据统计,福建农信2015年全年完成70多个项目、任务建设,执行测试案例276141条,这些案例的执行也意味着需要同等规模的测试数据需求。目前福建农信完成了测试案例管理与搜索系统的自主研发。从QC系统批量导入系统的测试案例,主要是测试案例的重要字段,并利用Lucene引擎进行主题关键字的划分和存储。截止目前积累案例近16万个,为测试人员提供了快速案例检索的入口。如图1和2所示。
虽然通过测试案例搜索系统可以有效地对测试案例进行横向管理,提高了测试案例的检索效率,但是测试案例的不断增长对测试团队的执行效率提出了更高的挑战。
利用粗糙集理论实现测试案例的约简
在每个业务系统的测试案例构造过程中,需要通过选择测试的要素构建出测试案例。基于历史案例库和当前经验业务人员构建的初步案例集合,可以拥有一系列的测试要素和测试案例集合。如果通过全量测试要素进行构建测试案例,则会案例庞大(如果平均N个测试要素,每个测试要素拥有K个数据字典,则拥有NK个测试案例1。对于如此大的测试案例库,需要在保证测试语义值的同时,探索一种即可以降低测试案例库,又能保证测试的完整性。
目前,粗糙集理论作为一种处理不精确、不一致、不完整等各种不完备的信息有效的工具,一方面得益于数学基础成熟、不需要先验知识,另一方面在于易用性。由于粗糙集理论创建的目的和研究的出发点就是直接对数据进行分析和推理,从中发现隐含的知识,揭示潜在的规律,因此是一种天然的数据挖掘或者知识发现方法,它与基于概率论的数据挖掘方法、基于模糊理论的数据挖掘方法和基于证据理论的数据挖掘方法等其他处理不确定性问题理论的方法相比较,最显著的区别是它不需要提供问题所需处理的数据集合之外的任何先验知识。而且与处理其他不确定性问题的理论有很强的互补性(特别是模糊理论)。
因此,可以采用粗糙集理论,实现属性约简的同时。保证原先测试案例的语义经验。利用粗糙集的属性约简理念,將测试案例的测试要素进行属性约简,在降低测试维度的同时保证原始测试案例数据的知识完备性。即在通过对U进行属性与约简,就可得到业务系统的最小属性约简(即最小的测试要素集合)。
以远程集中授权系统测试案例为例
目前远程集中授权系统中最主要的测试工作在于授权规则测试,而授权规则中分为付款账户、收款账户、金额及柜面要素等。
对于远程集中授权的要素和数据字典,构建出对应A非空属性集合,将授权模式的V作为决策属性,利用属性约简算法进行计算。例如对于单条的授权规则“040102+010506+03010106+010601+010701”本币付款账户支取方式为凭折且发生额大于等于五仟远程授权22”,可以将授权条件040102-交易类别等于内转、010506-付款账户支取方式等于存折、03010106-借方发生额(本币)大于等于五仟、03010601-借方定期累计实付利息大于等于五万、010701-付款账户客户号不等于收款账户客户号拆解到A的集合中。远程授权22填写到V中。通过实验约简计算,发现保证金标志可以约简掉(保证金在授权中与账户性质类似,因此属于冗余属性)。因此在将类似的属性约简后,就可以将测试案例进行缩减,降低授权人员工作量。