51testing论坛版主,专注于软件测试及测试吐槽,屌丝测试攻城师一枚。。。。。。。。。。。。。。。。。。。。。。。。。新浪微博:@没翅膀的飞鱼-------邮件交流:wzb_minitester@126.com------

报表类模块测试一些注意点

上一篇 / 下一篇  2013-07-18 07:23:10 / 个人分类:测试总结

进行报表类测试也有一段时间了,结合自己的经验以及查阅过的一些资料,简单总结下报表类模块的测试点以及注意点,这里从测试数据构造和测试执行两点来展开。

报表类模块测试数据的构造,也就是源数据,主要有两个来源,一个是本测试平台业务产生的数据,另一个是第三方数据库过来的数据。针对不同的源数据来源,测试重点也应有所区分。

1>    本测试平台业务产生的数据,这种情况的报表测试相对来说较容易(注意是相对,主要还是看具体项目),测试重点在报表的准确性上,即真实产生的业务数据与报表统计的数据是否一致。需要注意的是真实的业务操作是否真的产生了数据,这个点是我们很容易忽略的测试点,比如日志系统,进行某一个操作平台是否记录了这个操作进而产生相关的日志,实际测试中我们更多的是进行大量数据产生的测试准备,忽略了数据产生的正确性(比如数据准备时是否有应该记录的数据没有记录,也就是写数据是否正确),这个需要测试负责人在测试前期测试任务划分时需要明确的,是专门人员来测试还是每个模块负责人负责。

2>    第三方数据库过来的数据,该类型报表测试,应该把更多的注意力放在源数据与被测平台数据对比上,如报表展示出来的数据是直接对第三方数据库通过算法计算的还是测试平台先把第三方数据库中的源数据转换写入被测平台的数据库,然后再对本平台数据库数据通过规则进行统计展示。测试过的多个项目发现,开发人员自测时常忽略源数据的重要性,他们自测时习惯性在测试平台上数据库直接插入一些数据进而查看报表展示功能,而忽略了源数据到被测平台数据转换是否正确这个过程,作为系统测试人员我们要保证源数据到被测平台再到页面报表展示这整个过程的正确性。

源数据的准备是测试执行的基础,如果源数据就不正确且不可控,那么报表功能就失去了意义,如何能有效的进行完备的各种数据类型的准备,首先需要我们了解业务流程,从数据产生到报表展示整个流程,了解报表的统计规则;其次就是平时的积累,做好测试数据的备份和维护。源数据的产生,我建议最好采用业务产生的数据,不管是第三方数据库还是被测平台,最好不要使用数据库直接插入方式,具体缘由读者自己思考。

 

测试执行,当然首先要按照测试用例来走,但是我们知道测试所发现的缺陷如果有40%是由执行测试用例发现,那么这份测试用例文档就相当优秀了。这里简单说下实际测试时一些注意点,这些注意点可能并没有在你的测试用例文档中。

1>    数据可控,接触过测试的人都知道,我们测试时多用自己的测试资源,很少共用,主要是怕测试时相互影响,导致测试数据不稳定性,测试的前提是你有能力去控制你的数据。

2>    数据的实时性,这个主要是针对从第三方数据库过来的数据,一般的项目都会有个采集器,定期去采集数据,这时就应该注意这个“定期“的设置测试,从第三方数据库产生数据到被测平台统计展示的时间,比如报警类和资源状态类这两种数据的采集时间就应该有区分,报警类对实时性要求可能要高点,“定期”的设置应该短些(由于定期采集时间可设置,要保证我们测试时的设置与实际用户场景保持一致)。

3>    查询条件,一般的报表展示都会有设置查询条件框,按某种统计方式展示的选择设置:

a>    可输入的查询框,可以当做一般控件测试,测试查询结果与查询条件是否一致,特别注意的是通配符的测试,如%_等。

b>    可手动增加的查询选择项,如资源类型,可以在其它模块更改增加类型,测试报表时就应该注意展示轴,如果展示轴是根据类型全部展示,当类型较多类型名称较长时,展示轴的显示就会出现问题。当然类型较多时,查询选项框展示的名称速度以及GUI也是一个检测点。

c>     默认查询,一般的报表查询展示都会有默认查询项,检测默认查询项设置是否合理,是否有必选项,不选择时是否有提示信息;是否有前置条件,如报表查询展示时一般先选择某个区域或者某个部门,如果不选直接查询,是否会出现js错误等等。

d>    关联查询设置项,设置一个查询项后,另一个查询项是否有相应变化,如开始时间是否可以设置大于当前时间,开始时间与结束时间的控件设置测试等

e>    查询条件测试用例设计应覆盖所有统计展示方式,保证测试的充分性。

4>    统计报表展示的准确性,这个是报表测试的重中之重,如何对比?除了要了解上面提到的业务流程外,还需要开发人员的协助,最好让开发人员提供查询SQL语句以及统计算法各个报表字段之间的关联等等,通过SQL语句以及手工的方式对比测试。

5>    测试数据的有效期,任何数据都不太可能无限制保存,如操作日志最长保留时间一年,这个数据的有效期也应该注意。

6>    测试数据变动:

a>    增加,这个没什么好说的。

b>    修改,修改已产生数据的某个字段,如人员名称,之前产生的数据记录,在展示页面是否有相应变化。

c>     删除,如果报表以各个人员来统计,删除某个人员,跟这个人员相关的数据是否全部清除(这个看具体业务,有些是做逻辑删除,页面不统计展示,但是数据库会保留,以便以后查看对照)

d>    权限(权限放这可能不太合适),设置某个用户对某部分资源没有查看权限,用该用户登陆查看相关资源,报表展示页面是否加以控制,是否对没有权限的资源不做报表统计处理,再次配置查看权限后是否能够正常统计。

7>    导出功能,一般的报表模块都有导出功能,查看导出文档名称,sheet页名称以及内容;这里要注意包含小数的字段显示,excel的四舍五入和被测平台的四舍五入规则可能不一致。

8>    注意报表展示各字段单位及小数位数控制。

9>    注意大数据量和空数据时报表展示。

10> 注意不同报表间的关系,对照测试。

11> GUI展示是否合理易理解,报表格式和颜色使用是否统一。

以上是根据近期进行报表模块测试时总结的一些注意点,希望对大家有所帮助。


没翅膀的飞鱼


TAG:

突破totop 引用 删除 wycmjrg   /   2015-12-09 11:08:11
5
引用 删除 peggygyy   /   2014-12-02 15:41:06
5
leona的个人空间 引用 删除 leona2012   /   2014-08-17 20:24:59
5
引用 删除 quweiweicat   /   2014-02-07 17:54:56
5
xullnscc的个人空间 引用 删除 xullnscc   /   2013-08-02 08:53:24
可输入的查询框,可以当做一般控件测试,测试查询结果与查询条件是否一致,特别注意的是通配符的测试,如%_等。什么意思,能详细说一下嘛,谢谢
xullnscc的个人空间 引用 删除 xullnscc   /   2013-08-02 08:53:10
5
引用 删除 cleargirl1127   /   2013-07-23 16:44:25
5
 

评分:0

我来说两句

Open Toolbar