如何做报表测试

原创 2007年09月28日 11:25:00

 

如何做报表测试
 
今天看到了51testing上看到了这个贴子http://bbs.51testing.com/viewthread.php?tid=49629,虽然这个帖子是关于进销存系统的报表测试,但是让我想到了该总结一下自己关于怎么样报表测试的一些看法了.
报表测试根据项目的定义有大有小,有时只是作为软件的一个部分进行测试,有时整个项目都是测试各种报表.但不论如何,报表的作用始终都是将系统中已经存在的数据根据用户的设置计算加工/整理汇总/最终以清晰的格式展示给用户,以便用户进一步做数据分析或统计.
软件中的报表实现一般分为定义报表的所需数据(一般可以通过选择或手工输入条件来缩小数据范围)和定义报表格式两个部分.报表格式除了如国家各行业标准中规定的报表使用固定格式外,大多是根据企业或用户的需要定制报表.
所以,做报表测试时要注意以下方面:
1.         数据的正确
用户使用报表就是期望通过一个简单方便的平台能快速的查找到他所需要的数据.所以在测试报表时首先就要检查报表中的数据是不是用户需要的数据,如果没有加工的数据,是否保持了原貌;加工过的数据查看加工的结构是否和手工加工的结果一致.简言之,需要测试以下内容.

测试项目
测试要点
数据的来源
来源于哪张表,哪个字段,
数据库中的数值与界面数据的对应.如数据库中性别的数据可能是0或1,但界面显示为男或女,这个对应关系是否正确.
数据的范围
是否只显示了报表设置的对应范围
特别要注意边界数据,要清楚报表的需求,是否需要过滤掉被选择的数据.如时间选择为2006-9-27~2007-9-27,那么是否应该包含9-27这天.
数据的对应关系
数据库中的字段是否与报表中的信息对应
数据的格式
小数位,千位符,四舍五入等是否与报表设置一致
单位或税率转换是否正确
组合显示的数据是否合理
数据的排序
排序方式是否与报表设置一致(如果没有设置,是否有一个清晰的默认排序方式,如按字母或数字排序)
流水号
如报表有使用流水号,流水号的生成和格式是否正确.
取消操作是否会生成流水号.
明细与合计的一致性
各部分明细或小节是否与最后总和一致
其他
 
测试这一部分内容需要对业务逻辑相当熟悉,对数据库的设计也要非常了解.必要时可以通过自己写查询语句查看数据.
有些报表的条件有多有少,但测试方法都是一样.根据条件通过等价类划分和排列组合设置各种条件组合.千万不要盲目的测试,否则会导致该测的没测,多余的测试做了一堆..一般来说有类别划分的(一般界面表现为下拉框),每个类别都要测试到,如性别中的男,女都要测试.输入的可以用等价类来划分要测试的数据.
2.         格式的正确
数据验证正确后,就需要看看报表的输出格式是否符合要求.可以从以下几方面来检查.

测试项目
测试要点
报表的整体风格
报表是否符合规定的或用户设置的格式
报表标题
报表的标题是否是正确的报表名称
如报表中有嵌入的数据(会跟随用户的选择而变化的).需要检查数据是否正确,如XX企业9月份财务报表,这个9月就是用户选择的;或者XX公司2006-9-27~2007-9-27的网站访问量,这个时间段也是用户选择的.
公司的一些标志
如logo,名称,地址之类的是否正确
报表的页首与页尾
是否采用了一致的规则.
分页
当输出的内容多时,分页是否正确.
翻页功能是否正确
友好性
数据或图表是否清晰,一目了然,
数据的展示符合用户的习惯
需要特别提醒的数据(如合计,异常数据)是否突出显示
复杂算法处,用户不明白或容易混淆处是否有注释
一些默认的格式是否让人感觉舒服,如对齐,边界,间隔等
3.         权限的控制
对于有权限控制的系统,报表当然也应该和用户所具有的权限相一致.需要从两方面校验权限的控制.
l       报表的条件定义:在条件选择区域,有些下拉框中应该不能显示用户权限范围外的数据.如普通文员在使用报表时,报表名称下拉框中是不可以显示管理者才能查看的报表的.有些以输入的文本框有级别的划分时,都应该要测试输入超越权限的数据的相应.
注意这里一定要测试每个条目.
l       报表内容:报表中的内容不能显示用户本没有权限查看的数据.
4.         报表的输出
报表在电脑上生成后,并不是报表的结束.报表一般都需要打印出来他用,如开会或者提交审批之类.所以报表的打印功能也是非常重要的.测试主要分成三部分:
l       打印设置
l       打印预览
l       实际打印效果
除了打印之外,用户有可能需要导出报表做进一步的分析或用于和其他报表的比较.所以也应该提供导出报表的功能.一般可以导出为CSV,Excel,pdf,html,xml格式.看公司需要了.这里主要要检查导出的报表默认属性是否为读写,然后导出的内容是否正确,与生成的报表相一致.
5.         报表与报表之间的关系
有些报表都使用了相同的数据,只不过针对不同的需要做了不同的处理.所以报表与类似报表之间要做些测试,看看数据是否一致.
6.         报表的性能
用户在设置好条件后都希望不要等待报表太长时间,当然有时数据量大时等待时间长些也是合理的.但是在做报表的开发时或测试人员可以提出一些意思来提高报表的性能.
l       报表的条件设置区域应该设置默认值以避免用户不输入任何条件直接生成报表所造成的长时间等待.例如开始和结束时间可以默认为当前的一个月,一些输入文本框可以根据用户的身份默认一个数值.
l       生成报表时用类似进度条表现进度,避免用户盲目的等待
l     提供让用户选择每页显示多少条数据的选项, 默认为最小的选项,这样可以避免无谓的资源浪费.
l       生成报表的语句尽量采用最优的查询语句,多调试几遍,查看语句的性能.
注意:如果可以所有的条件为空时,需要测试条件为空时的性能.
7.         报表控件的独特性
一般公司会用专门的报表控件来生成报表,例如MS的Report service, Crystal报表等.所以最好先了解一般的报表生成流程和这类报表控件的特点,这样在测试时就可以有的放矢,而不是盲目的比较. 
8.         一般性测试
测试报表条件选择区域,主要需要注意如下问题:
l       每个字段的类型校验
l       每个字段的长度校验
l       每个字段中输入特殊字符的校验(包括空/空格)
l       通配符的测试(对信息量大的系统,建议最好作处理不支持通配符以避免性能的低下)
l     字段与字段之间的关系的测试(如约束关系或排斥关系)

如何做报表测试

报表测试根据项目的定义有大有小,有时只是作为软件的一个部分进行测试,有时整个项目都是测试各种报表.但不论如何,报表的作用始终都是将系统中已经存在的数据根据用户的设置计算加工/整理汇总/最终以清晰的格式...
  • u011446864
  • u011446864
  • 2014年07月17日 09:48
  • 352

单元测试报表以及覆盖率报表

1、checkstyle统一规范代码的格式,注释的数量。 2、junit进行代码的单元测试,并且在覆盖率上面有比较高的要求。 3、dailybuild结合上述两者并且外加findbugs。 4、除此之...
  • wangwenjun69
  • wangwenjun69
  • 2013年11月25日 22:45
  • 1820

统计报表测试

报表测试 报表功能的基本要求,就是通过查询/统计/分析,提供用户所需的准确的数据。如果无法实现这个基本功能,则报表完全失去意义。 对于用户来说,报表可以直接影响到他们的决策,例如可能因为报表对销售...
  • wycmjrg
  • wycmjrg
  • 2016年02月03日 10:58
  • 843

报表类项目测试

需求目的 已有数据的基础上,经过各种加工,汇总,呈现出数据结果。 需求评估 1 . 源数据 是否正确;针对产品提出的指标,确认和需求是否是同一个数据源。 一般说来,数据源大致分为两类: 1...
  • wodeyijia911
  • wodeyijia911
  • 2017年02月27日 10:42
  • 494

Tsung测试统计报告说明

Tsung测试统计报告说明 **********************  report.html  *********************** 1.主要统计信息   Tsung统计数据是平...
  • u010419967
  • u010419967
  • 2014年07月07日 15:45
  • 4708

手把手教你用Java制作原生态的报表

今天下午没事干。主要是论文没有什么进展,唉!读研苦逼啊。突然想玩玩其他的,记得上次用JSP和Servlet是几个月前的事了。于是就任性的玩一回报表。 首先我是默认你不是菜鸟了,而且用过JSP和Serv...
  • LULEI1217
  • LULEI1217
  • 2016年04月07日 20:28
  • 9756

Oracle EBS R12 XML数据表格的Excel脚本报表

Oracle EBS R12 XML数据表格的Excel脚本报表 一.概述 在EBS系统中,报表是一个非常重要的客户化开发内容,也是系统一种比较常见的数据输出形式。报表的做...
  • postfxj
  • postfxj
  • 2015年03月19日 09:50
  • 1248

移动端报表如何实现离线查看报表功能

对于移动端报表而言,查看报表经常会有以下问题:查看缓存数据相比于实时数据,减少了数据传输时间,效率提高;而且部分客户不需要实时看数据,定期取数据,或者手动更新数据已经能满足需求了;有时由于网络环境不好...
  • nayun123
  • nayun123
  • 2015年11月19日 15:04
  • 561

Qt中QPicture对报表的实现

最近写了一个小项目  中间要把所获取的数据以报告的形式打印出来  在这里整理出来 首先是背景的显示  也就是相当于那张纸张  这里面要对它设置大小  并且我自己加了一个水印在这个纸上  后面...
  • big_shuozi
  • big_shuozi
  • 2016年01月06日 19:01
  • 386

python 生成html测试报表三步曲

最近把测试框架优化了一下,原本生成的报表时txt格式的,现在搞成html格式。主要步骤如下 首先找个html处理工具,这样处理html会简单很多 我网上找了一下发现phy停好用,在这里非常...
  • u012512575
  • u012512575
  • 2014年03月11日 16:41
  • 1686
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何做报表测试
举报原因:
原因补充:

(最多只允许输入30个字)