【IT168 技术文章】
实际ATM监控系统的报表测试,可以以本文介绍的六点为纲展开,但是又不可拘泥于这六点,而应根据实际项目的情况,调整相应的测试策略和测试方法,以便对系统进行更有效的测试。
ATM监控系统集SNA通信技术、TCP/IP通信技术、数据库技术、数据库远程同步技术、语音卡技术、报表技术等多种技术于一体,实现了基于银行分布式网络环境下的ATM集中管理。银行需要通过ATM监控系统将总行数据分发到各地市行的数据库,各地市行通过报表及时掌握本地区ATM机的整体状态信息、局部状态信息和交易信息。同时,银行高级管理人员通过系统灵活的报表来进行科学的决策分析。所以,从用户的使用频度来说,除了交易监控之外,接下来就是报表的使用了。由此可见,报表是很重要的一项功能。相对应的,报表内容的测试在整个ATM监控系统中也就显得很重要了。
虽然所有报表测试的总体目标都是相同的,即要求生成的报表的统计结果是正确的。但是因为银行业务的独特性,所以ATM监控系统的报表测试与一般信息管理系统的报表测试,在以下三方面有所不同。
● 信息类型不同
ATM监控系统要处理的信息有两类:一类是管理信息,主要用于将ATM的状态告知前置服务器,如OEX信息、RWT、RDT、RTT等交易;另一类是客户交易信息。而一般信息管理系统要处理的信息则主要是交易信息。
● 报表统计的原始数据不同
对于ATM监控系统,每天日切时,系统将根据历史(包括当日)的交易以及状态信息进行分析统计,产生新的分析统计记录。ATM监控系统的报表统计功能使用的原始数据就是这些每日产生的新的分析统计记录(笔者在这里称为:报表中间数据)。而一般信息管理系统的原始数据,则是通过系统执行交易或操作产生的报表统计的原始数据。
● 测试方法不同
因为报表统计的原始数据不同,所以两类系统的报表在测试方法上也有一定的区别。对于一般的信息管理系统,可以通过在相应功能界面进行数据的增、删、改操作,然后在报表界面执行生成报表操作,就可以验证报表数据的正确性。但是ATM监控系统无法简单通过前台界面的操作来验证报表数据的正确性。
本文是笔者在某省行ATM监控系统中,对超过三十个报表进行测试的经验总结。在本项目的报表测试过程中,笔者主要通过以下六个方面进行测试:功能测试、界面测试、数据正确性测试、单设备和多设备测试、权限和访问安全性测试、报表性能情况验证。
功能测试
功能测试主要是对报表的基本功能进行测试,如正常生成报表功能、二次查询、报表导出等正常功能外,还对报表统计日期合法性控制、没有数据情况下进行生成报表等异常控制的测试。报表功能测试的主要目标是:验证报表基本功能的正确性,为后续的数据正确性测试奠定基础。
报表的功能测试是整个报表测试的基础内容。同时,通过这部分测试,测试人员可以逐步了解报表模块的需求,提高业务的熟悉程度。因为这部分内容的测试方法和其他功能的测试没有太大区别,所以这里不再详细介绍。
界面测试
报表的界面测试,也可以算是功能测试的一部分,但是由于更侧重于界面内容的正确显示验证,所以笔者将它剥离出来作为单独的一项测试内容。
界面测试的主要目的是验证界面显示的内容是否正确,是否符合软件开发规范。避免出现如表格布局不合规范、打印的硬拷贝少了表格线、界面有多余字符之类的情况。在报表测试中,界面测试的主要内容包括:报表表头信息、报表整体界面、报表导出文件的界面显示、打印预览时的界面显示、打印出的硬拷贝内容的界面显示等。
数据正确性测试
报表功能的基本要求,就是通过统计分析操作,提供给用户所需的准确数据。如果无法实现这个基本要求,则报表会完全失去意义。所以,报表测试很重要的一个内容就是对报表数据进行正确性的测试,而这部分工作也最复杂。在本文提到的某省行ATM监控系统的报表测试中,笔者主要从以下五个方面进行报表数据正确性的测试。
1.多个报表相互对照
在交易类报表中,有一些报表取的原始数据是相同的,我们可以在假设这些报表取的数据库表的数据是正确的前提下,通过对比这些报表相同列的数据,进行报表结果是否取正确数据的验证。如:交易情况明细表、金融交易统计表、它行卡、发卡机构交易分析、盈利情况表,虽然这几张报表表单不一样,但是本行卡、它行卡的交易笔数、金额却应该是相同的。在测试时,我们通过对比这几张报表同一字段的数据,发现“金融交易统计报表”中,“改密”和“缴费”这两列取了错误的数据。
这种方法是在有假设的前提下进行的,所以具有一定的局限性。假如所有报表的同一列都取错了数据的话,那么这个方法就失效了。尽管如此,这个方法还是可以帮助我们在测试初期快速发现一些简单的数据错误缺陷。