1.提高对业务的熟悉程度
所谓的报表,就是在已有数据的基础上,经过各种加工、汇总,而呈现出来的数据结果,而报表测试则是鉴定报表的正确性、完整性、安全性和使用质量的过程。
报表测试是一项重要的测试内容,因为面对的使用群体一般是公司高层或者用户中的重要群体。出现问题影响较大,所以必须仔细且谨慎对待。本文根据自己之前的测试经验,结合其它相关资料,做个简单的总结汇总。
和功能测试以及其他测试一样,报表测试也需要熟悉业务,包括业务流程、业务规则以及数据存储,不同点是报表测试要理解每个指标的算法、数据来源以及要明白具体的业务动作和指标之间的关系.
2.数据准备
- 原始数据:
1.了解原始库的库表结构\数据分类。
2.了解本次报表展现的边界规则,对应的准备测试数据。
3.通过一定的手段生成数据并固定测试数据。 - 展现数据:
1.数据覆盖所有分类。
2.数据量需要足够多。
3.需要包含所有边界值(结合展现时的查询条件)。
4.数据中需要包含少量的非法数据,验证系统的容错性。
- 数据生成方式:
1. 存储过程。
2. 第三方工具(DataFactary等)。
3. 通过业务生成数据(并不推荐)。
4. 相关业务接口生成数据。 3.数据正确性验证
- 对于客户来说,使用报表就是期望通过报表系统这个平台能够快速简单的查到自己所需要的数据,所以测试报表最主要的内容就是要验证数据的正确性。
- 总结方法如下:
- 要弄清楚数据的来源,来源于哪张表、哪个字段;
- 时间条件:统计区间具体应该以业务中的什么时间在卡,并且考虑需求中是否包括统计区间的边界值;
- 要弄清楚所测表以及所测指标的特定条件,比如要统计2023-01-01——2023-01-31,这个月份所有代理业务,那特定条件就是将保单的业务来源要限制在代理业务中;
- Sql准备,这个过程是将上面三个过程进行总结,也是后续和开发人员进行分析数据的基础,所以提高自己编写sql的能力。另外当测试时间不充裕的情况下,对一些简单的报表,如清单之类的报表就可以不用自己遍写sql语句,直接选出各种业务类型的单子进行单独分析;
- 数据核对以及分析,用sql查询出的数据要和开发人员的进行核对,由于有些数据量很大,所以最好借助对比工具(推荐:BCompare此软件),对于核对不上的数据要单独进行分析,分析的过程往往是发现问题主要环节,在这个过程中,如果自己实在分析不出来,则可以让开发人员协助;
- 数据的显示格式: 小数位、千分符,百分号等是否与报表设置的一致,单位、汇率等是否进行转化,将有些代码是否转换成文字;
- 明细与合计的一致性,各部分明细值的和是否和总和一致等;
- 要覆盖所有的查询统计方式,在时间充分的条件下,要根据条件(筛选项、维度)通过等价类划分和排列组合设置各种条件组合,每种都要测试到,千万不能按照自己的习惯为准;
4.报表格式的显示
- 在数据验证之后,要关注的就是输出报表的显示格式是否符合客户需求。
- 报表的格式主要有两大类
- 保险行业标准中规定的报表使用固定格式,如:保监会上报的一些报表,
- 按照企业或者用户的需求定制的报表,所以对这两大类报表则需要从以下几个方面去测试:
- 报表的整体显示格式是否符合客户提供的表样;
- 报表的标题或者表名是否正确;
- 报表页面的时间段是否是用户选择的时间段;
- 当输出的内容过多时,分页方式是否正确,翻页时,是否有与上页相同的样式(如表头),第2页的输出是否正确;
- 需要特别提醒的数据(一些异常数据)是否突出显示,有些指标计算方法特别复杂或者有几个指标容易混淆时是否在页面有加注释;
5.报表之间的可比性
- 在纵向的测试完成后,我们要将所测试的报表进行横向联系,因为有些报表虽然名称不一样,但是有些指标是一样的,这样我们就需要将这两张报表哪起来进行比较,看在相同的时间段内是否统计出的结果都是一样的。
- 另外不同报表的不同指标之间也是有联系的,如:业务中的应收保费清单和财务中的应收保费科目余额,当两者统计口径一致的时候,清单中的应收保费的合计则等于财务应收科目的余额,还有保费收入、实收保费、应收保费在同一统计区间总保费收入 = 实收保费 + 应收保费(未实收到的),所以在测试过程中,一定要理清它们之间的层次、顺序,这就需要加强对业务的理解和知识的积累!
6.其他
- 报表的输出以及打印:
报表在系统中生成后,并没有结束.报表一般都需要打印出来供客户使用用,例如开会或者提交审批之类.所以报表的打印功能也是非常重要的.在打印之前,用户一般都需要导出报表做进一步的分析或用于和其他报表的比较.所以也要验证报表的导出功能.一般可以导出的主要格式是Excel,pdf格式,然后要验证导出的内容是否正确,与生成的报表相一致. - 报表的性能:尽量要求开发人员采用最优的查询语句,避免客户在使用过程中等待时间过长
- 报表的权限;对于有权限控制的系统,报表当然也应该和用户所具有的权限相一致.需要从两方面校验权限的控制.报表的条件定义:在条件选择区域,有些下拉框中应该不能显示用户权限范围外的数据.