浅谈报表测试

所谓的报表,就是在已有数据的基础上,经过各种加工、汇总,而呈现出来的数据结果,而报表测试则是鉴定报表的正确性、完整性、安全性和使用质量的过程。

需要掌握技术:
1、业务的熟悉程度
2、造数据技能

一、基础

熟悉业务是极为必要的,因为在设计测试用例前,需要理解这个指标是为了统计什么,需要在需求文档中了解并确定以下的信息:

1、指标的设计是否符合业务场景或真正的业务需求;

2、统计指标是否需针对异常数据的情况,做异常处理;

3、用户访问的频率、使用习惯等情况,以便后面做性能测试时的用例设计;

4、需求提供者有无以往的手工数据或历史数据可以作为核对标准?如果有,最好请产品人员提供。

熟悉业务后,就可以进行用例设计了。

二、测试用例设计

(一)UI验证:报表格式的显示

对界面功能、交互设计的验证。验证报表页面布局样式、表格格式、字体格式、颜色搭配、报表标题和文案。
特别是对外使用的报表,需要关注输出报表的显示格式是否符合客户需求:

1、报表的标题或者表名是否正确;

2、报表的整体显示格式是否符合客户提供的表样;

3、数据显示格式或误差是否与需求保持一致,如小位数、百分号、单位、汇率等;

4、报表页面的时间段是否用户选择的时间段;

5、当输出的内容过多时,分页方式是否正确;翻页时,是否有与上页相同的样式,第2页输出是否正确;

6、需要特别提醒的数据(一些异常数据)是否突出显示;有些指标计算方法特别或某些指标容易混淆的情况下,页面是否有加注释;

公司一般都有报表开发规范,提前向开发要规范文件。

(二)交互验证

主要包括:翻页、过滤器、提示、参数、上钻/下钻、多表联动、排序和导出等功能的验证。

1、各个指标的组合筛选查询是否正常;

2、输出功能,如导出PDF、excel等使用是否正常;

3、打印设置、打印效果等是否正常;

4、分页,或分布导出等是否如常;

5、导常情况下的使用等。

(三)更新验证/数据的正确新验证

在源数据出现更新后,验证报表数据是否更新正确。
对于用户来讲,使用报表就是希望通过报表快速简单地查到自已所需要的数据,所以测试报表最主要的内容就是验证数据的正确性:

1、数据来源是否正确。针对产品提出的指标,确认和需求是否是同一个数据源。一般来说,数据源大致分为两类:一是本系统产生的数据;二是从第三方同步过来的数据,需要核对需求中需要的数据,本系统是否已经同步过来,同步是否符合要求。

2、数据范围是否对应。是否只显示了报表设置的对应范围,并且考虑需求中是否包括统计区间的边界值。

3、指标的特定条件是否满足。前提是要弄清楚,所测报表的指标中,是否有特定条件,这个特定条件是什么,报表数据是否满足该特定条件等。

4、明细与合计是否一致。即报表的各部分明细值之和,是否和合计值一致。

(四)及时验证

主要是针对实时报表生成的及时性验证,验证在及时性方面是否满足业务需求

1、当数据源有实时数据入库时, 相关报表类的展示多久统计出来?

2、是实时还是会有延缓?延缓多久?

3、数据延缓对指标有何影响?

(五)安全测试

考虑到数据的安全性,对报表进行权限控制是很有必要的,检查报表系统的用户权限,数据安全设置是和合理。

1、确定报表是否有针对不同用户角色,设置相应查看权限的需求;

2、不同的用户角色,其查看权限是否正确;

(六)性能测试

数据响应时间、报表生成耗时等性能指标进行测试,验证是否符合预期。

1、数据范围大小;

2、筛选查询的响应时长;

3、QPS(即每秒的响应请求数)。

三、测试数据

报表测试的很大关注成分在于数据,需要了解如何造数和设计数据:

(一)五种造数据的方式

1、直接在前端页面上手动制造数据
这样造出来的数据正确性会很高,但是效率会很低;
2、通过接口实现
效率比较高、不依赖前端的界面,但是需要借助接口测试工具实现;
3、通过数据库
效率比较高,但前提是必须懂业务中数据的流线,否则造的数据可能不准确,不可用;
建议将造数据的过程记录下来,保证下一次的复用;
4、数据脱敏:线上数据脱敏导入到测试环境
需要大量数据,联系维护人员,将线上数据脱敏导入到测试环境;
5、采用接口数据库相结合的方式
数据库造数据效率高,接口造数据准确性高

(二)报表测试三大数据设计点:

1、有效数据

有效数据,顾名思义,是指既符合前台业务规则,又符合统计规则的数据。它们会被统计进报表中,对报表的统计值会产生正面的影响。

2、无效数据

无效数据,属于统计规则以外的数据。此类数据,符合前台业务规则,但不符合报表统计规则,即对报表的统计值不会产生任何影响。

3、异常数据

异常数据,主要目的是用于检验报表系统对数据的容错能力。此类数据不符合前台业务规则,对报表的统计值会产生负面影响。最常见的场景是,统计值的分母为零。

这类数据的设计,更多地应用于报表系统与业务系统分离的情况中。当报表系统与业务系统互相统一时,异常数据会受到前台业务规则的限制,即异常数据连出现的可能也没有;在报表系统和业务系统分离的情况下,异常数据就很有可能由于数据传输的不同步,造成短时间的出现,此时报表系统对于错误的处理机制就显得非常重要了。

除了针对以上3类数据的设计以外,我们在设计报表测试数据时,还需要注意以下几点:

1、保证场景间测试数据的独立性

这是为了保证数据可控而要注意的。如果一组数据的已经在某个场景被使用过了,就不应该再把这组数据应用到其他的场景中,否则一旦出现测试结果与预期结果不一致,就会提高查错的难度。况且保证数据的独立,可以更好地阐述缺陷,保留缺陷现场,等待开发人员来解决。

2、数据的多样性

多样性是指为同一个场景准备多组测试数据,因为凭借不同数据才能更好地接近真实,更容易发现问题。

3、空报表

所谓的空报表,就是指在报表查询条件下,没有相符的源数据,从而造成报表中的统计值为空。这样的测试,是为了确保报表的正确性,检查报表统计是否有张张冠李戴的现象。

4、注意数值的设计

这里所说的数值,是指统计值。

例如,统计值是百分比时,我们需要覆盖最大值(100.00%)、最小值(0.00%)、中间值(如38.01%)、小数位检查(99.99%)。除了这些,我们还需要考虑负数、百分比超过100%、小数位的四舍五入等情况。

5、不同报表间的对照

同一组数据在不同报表中的表现应该是一致的。

例如,在合同表中,合同总金额是1万元;然而在协议表中查询该合同所创建的协议总金额是1万5千元,那么,这意味着肯定是其中一份报表出现问题了。

6、历史数据的设计

历史维度也属于测试的一个重点。历史维度的测试,涉及到历史数据的设计。

例如,OA中的,A君4月前在市场中心,5月起调到了营销中心,那么5月后A君的业绩是否仍计算在在市场中心?
修改了一个统计维度的类别名称,数据是否按以前的类别名称统计还是按现在的类别名称统计?等等。

四、拓展

数据可视化必修课 - 图表篇
数据可视化之基础图表的设计要素剖析

学习链接:
1、https://blog.csdn.net/weixin_42976139/article/details/100544574
2、https://blog.csdn.net/gaixiaoyang123/article/details/112257957

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值