51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2287|回复: 0
打印 上一主题 下一主题

[讨论] ATM监控系统中的报表测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-6-22 16:21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实际ATM监控系统的报表测试,可以以本文介绍的六点为纲展开,但是又不可拘泥于这六点,而应根据实
际项目的情况,调整相应的测试策略和测试方法,以便对系统进行更有效的测试。

ATM监控系统集SNA通信技术、TCP/IP通信技术、数据库技术、数据库远程同步技术、语音卡技术、报表
技术等多种技术于一体,实现了基于银行分布式网络环境下的ATM集中管理。银行需要通过ATM监控系统
将总行数据分发到各地市行的数据库,各地市行通过报表及时掌握本地区ATM机的整体状态信息、局部状
态信息和交易信息。同时,银行高级管理人员通过系统灵活的报表来进行科学的决策分析。所以,从用户
的使用频度来说,除了交易监控之外,接下来就是报表的使用了。由此可见,报表是很重要的一项功能。
相对应的,报表内容的测试在整个ATM监控系统中也就显得很重要了。

虽然所有报表测试的总体目标都是相同的,即要求生成的报表的统计结果是正确的。但是因为银行业务的
独特性,所以ATM监控系统的报表测试与一般信息管理系统的报表测试,在以下三方面有所不同。

● 信息类型不同

ATM监控系统要处理的信息有两类:一类是管理信息,主要用于将ATM的状态告知前置服务器,如OEX信
息、RWT、RDT、RTT等交易;另一类是客户交易信息。而一般信息管理系统要处理的信息则主要是交易
信息。

● 报表统计的原始数据不同

对于ATM监控系统,每天日切时,系统将根据历史(包括当日)的交易以及状态信息进行分析统计,产生
新的分析统计记录。ATM监控系统的报表统计功能使用的原始数据就是这些每日产生的新的分析统计记录
(笔者在这里称为:报表中间数据)。而一般信息管理系统的原始数据,则是通过系统执行交易或操作产
生的报表统计的原始数据。

● 测试方法不同

因为报表统计的原始数据不同,所以两类系统的报表在测试方法上也有一定的区别。对于一般的信息管理
系统,可以通过在相应功能界面进行数据的增、删、改操作,然后在报表界面执行生成报表操作,就可以
验证报表数据的正确性。但是ATM监控系统无法简单通过前台界面的操作来验证报表数据的正确性。

本文是笔者在某省行ATM监控系统中,对超过三十个报表进行测试的经验总结。在本项目的报表测试过程
中,笔者主要通过以下六个方面进行测试:功能测试、界面测试、数据正确性测试、单设备和多设备测试、
权限和访问安全性测试、报表性能情况验证。

功能测试

功能测试主要是对报表的基本功能进行测试,如正常生成报表功能、二次查询、报表导出等正常功能外,
还对报表统计日期合法性控制、没有数据情况下进行生成报表等异常控制的测试。报表功能测试的主要目
标是:验证报表基本功能的正确性,为后续的数据正确性测试奠定基础。

报表的功能测试是整个报表测试的基础内容。同时,通过这部分测试,测试人员可以逐步了解报表模块
的需求,提高业务的熟悉程度。因为这部分内容的测试方法和其他功能的测试没有太大区别,所以这里
不再详细介绍。

界面测试

报表的界面测试,也可以算是功能测试的一部分,但是由于更侧重于界面内容的正确显示验证,所以笔
者将它剥离出来作为单独的一项测试内容。

界面测试的主要目的是验证界面显示的内容是否正确,是否符合软件开发规范。避免出现如表格布局不
合规范、打印的硬拷贝少了表格线、界面有多余字符之类的情况。在报表测试中,界面测试的主要内容
包括:报表表头信息、报表整体界面、报表导出文件的界面显示、打印预览时的界面显示、打印出的硬
拷贝内容的界面显示等。

数据正确性测试

报表功能的基本要求,就是通过统计分析操作,提供给用户所需的准确数据。如果无法实现这个基本要求
,则报表会完全失去意义。所以,报表测试很重要的一个内容就是对报表数据进行正确性的测试,而这部
分工作也最复杂。在本文提到的某省行ATM监控系统的报表测试中,笔者主要从以下五个方面进行报表数
据正确性的测试。

1.多个报表相互对照

在交易类报表中,有一些报表取的原始数据是相同的,我们可以在假设这些报表取的数据库表的数据是正
确的前提下,通过对比这些报表相同列的数据,进行报表结果是否取正确数据的验证。如:交易情况明细
表、金融交易统计表、它行卡、发卡机构交易分析、盈利情况表,虽然这几张报表表单不一样,但是本行
卡、它行卡的交易笔数、金额却应该是相同的。在测试时,我们通过对比这几张报表同一字段的数据,发
现“金融交易统计报表”中,“改密”和“缴费”这两列取了错误的数据。

这种方法是在有假设的前提下进行的,所以具有一定的局限性。假如所有报表的同一列都取错了数据的话
,那么这个方法就失效了。尽管如此,这个方法还是可以帮助我们在测试初期快速发现一些简单的数据错
误缺陷。

2.修改数据库数据

部分报表的数据,由于数据的验证比较烦琐,可以通过修改数据库表对应字段数据的方式,来验证报表数
据是否如预期设置生成报表。

在测试“厂商服务质量报告”时,为了验证报表是否只统计“接警操作员”和“修复操作员”为同一个人对应的故
障数据,我们可以在数据库中修改某一故障记录对应的“修复操作员”的数据,将它修改为和“接警操作员”
不一致的数据,然后进入系统,生成对应统计条件的报表数据,验证系统是否有将这条“修复操作员”和“接
警操作员”不相同的故障记录也统计出来,通过这种方式来验证数据的正确性。

3.特征数据的准备

对于有特殊计算要求的报表,我们要准备相应的特征数据。在本系统中,每台设备在省行、分行等各级机
构,分别设置了直接维护人员、监护人员、督办人员三个管理员。当ATM产生故障时,这些管理员要对这些
故障进行响应和处理。为了统计管理员们及时响应故障、及时处理故障的情况,系统设计了响应及时率、
处理及时率之类的及时率计算数据。对于这类报表数据正确性的验证,笔者使用边界值和等价类划分的测
试用例设计方法,设计了及时率测试用例。具体举例如下。

处理及时率的计算方法是:将“故障修复时间”与“故障报警时间”的差值与配置文件中的“故障处理超时时间”
进行对比。当差值小于或等于配置文件的设置,则说明处理及时;反之为处理超时。在实际测试时,笔者
修改配置文件中的“故障处理超时时间”为10秒,然后修改某故障记录的“故障修复时间”与“故障报警时间”
的差值分别等于9秒、10秒、11秒,然后执行报表生成操作,验证系统是否正确统计及时和超时的数据。

通过这个例子说明,在进行类似需要进行类比操作后才能得到的统计数据,可以考虑将测试用例设计方法
融入测试设计中,设计特征数据来进行测试,避免测试的盲目性。

4.报表数据的正确性验证

ATM监控系统的报表统计的“原始数据”是通过后台程序在指定时间,对日常交易数据、管理数据进行统计
、分析后生成的,所以在进行ATM监控系统的报表测试时,还需要对生成的报表中间数据的正确性进行测
试。这部分测试的重点是,验证后台程序是否将符合条件的交易数据、管理数据生成报表中间数据,即验
证报表中间数据的正确性。

例如,在进行生成故障报表数据的测试时,为了验证系统没有将“维护结果”为“尚未处理”的报警记录生成
报表中间数据,但是“维护结果”为“成功”和“失败”的报警记录可以生成报表中间数据的功能。笔者特意设
计了三笔不同“维护结果”(成功、失败、尚未处理)的报警记录,执行生成报表中间数据的脚本,然后到
“故障统计分析”报表中,验证生成的报表数据是否正确(如果报表中间数据生成有误,这里得到的报表是
错误的)。采用这种方式间接验证程序是否如预期的要求生成了正确的报表中间数据。

5.留意四舍五入对报表数据的影响

在生成的统计报表中,报表数据不可避免的会发生四舍五入的情况。对于普通比例列的计算,只需验证是
否正确四舍五入即可。这里提到要留意四舍五入对报表数据的影响,主要是指四舍五入对于合计列的影响
。如:对于合计列,要注意百分比的合计结果应为100%,合计列的数值要等于所有统计列之和。

单设备与多设备测试

为了验证程序在选择单设备和多设备时处理是否都正确,笔者特意对报表模块,在选择单设备和多设备的
两种情况下分别进行测试。这部分测试,可以说是功能测试中的一项边界测试。由于测试目的明确,所以
笔者将它单独出来说明。通过这部分测试,笔者发现了部分报表在单设备情况下,处理有误的缺陷。

权限和访问安全性测试

在报表测试中,除了功能测试、数据正确性测试外,我们不要遗漏权限控制和访问安全性的测试。为了验
证报表在权限控制和访问安全性的控制,笔者使用不同机构的用户对报表模块的所有报表进行测试,验证
权限控制,以及报表正确筛选数据的功能。指定机构级别的用户只能看到指定机构级别的数据和设备。例
如:使用三级机构的用户登录系统,进入某个报表界面,即使是直接选中“省行”执行生成报表操作,也只
能列出该机构所属设备对应的信息。

报表性能情况验证

虽然报表公认响应速度是很慢的。但是从用户接受度来说,也不可能出奇得慢,尤其是对于用户常用的报
表。为了检查在大数据量情况下,报表的响应情况,笔者以省行用户登录系统,在一个月实际运行数据的
情况下,对省行下的所有设备(1000多台)进行交易情况的统计。通过测试结果反映,对于交易情况统
计这类常用报表,在数据量大的时候,响应速度过慢。通过这次测试结果给项目组敲了个警钟,项目经
理组织人员对报表实现方式等进行了一系列的优化。如原来默认对所选机构,包括所属机构的全部设备进
行统计,改为默认只对所选机构本级别下的设备进行统计。通过一系列的调整,优化了报表的性能。

如果要对报表进行更深入的性能测试,那么需要编写测试脚本或借助自动化测试工具进行测试。因为本
项目的需求中,没有报表方面的性能需求,所以笔者没有对报表进行深入的性能测试。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 04:31 , Processed in 0.057946 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表