最近一直在做报表的项目,在上一家公司的时候就开始做数据仓库项目测试,对数据展现这块的测试早就做了些准备。现在的这个项目只针对数据展现,展现即报表,报表测试的关键当然是报表数据的准确性,不容置疑,其他的界面、性能啊都较数据准确性紧急程度小一点。
对于报表测试看了很多同行的文章,我想提一点个人的看法
报表测试主要分为:报表界面测试、报表安全性、报表准确性、报表展示速度(也就是性能)。
不调胃口,从重点开始,数据准确性测试,带有报表测试的系统分为两类,一类是业务系统中,带有统计分析功能模块,该模块中包含分析报表,这个系统的主体是业务系统,报表是为办理业务的而提供帮助的。比如说,应年检统计报表,某月应交罚款车辆统计报表,这样的报表数据准确与否,可通过增加、删减、修改相关业务或相关业务的参数,查看统计报表数据变化,检查数据准确性。另一类是系统只有统计功能,就是我说的数据仓库展现这类,它与业务系统分离,并且经过多层处理,比如数据仓库的数据,经过抽取,清洗,展现前会经过数据挖掘,数据再处理,有些字段在原始数据表中根本就没有。这样的数据准确性测试比较复杂,当然检查出数据错误,修改定位也是很不容易的。
从整个项目节约成本看,逐层测试效果是最好的。完全修改率也是最高的。首先建立测试数据模型,模拟所有应用表,建立简单易跟踪的数据用例,底层的数据表测试,方法很原始,嘿嘿,通过SQL语句和手工计算,对数据进行比对。对系统中的报表数据准确性测试方法较为灵活,①系统中报表重叠的进行比对②对子报表汇总与父报表比对,就是对月报表汇总与年报表比对,日报表汇总与月报表比对,这只是一个方面,可以从维度关系考虑,地域,行政级别、时间,个人等方面下手,进行汇总比对,③这个方法如果延伸点呢,可以将报表间的业务逻辑关系作为比对依据。呵呵,这要看测试人员的需求了解深度个人能力了。插几句不想干的话,做测试工作总让我保持快乐状态,前两天我的一个同事说,公司里一直没有人喜欢做测试工作,这个工作太枯燥。嘿嘿,我当时就说我做了这么多年的测试工作从来没有感觉到枯燥。重复性工作不代表枯燥,编程其实不也是重复嘛,人每天谁不重复昨天的事啊,吃饭,吃这个动作重复一生,有谁觉得麻烦枯燥啦?J接着说④使用SQL和手工计算进行比对。以上是差错方式,接下来讲一下查什么错?哪些地方容易出错
Ø 原始表使用错误:因为表比较多,又加上没有统一的数据关系对应表,很容易表使用错误,当然这应该是单元测试检查出来的错误。
Ø 数据处理逻辑错误:这一点容易因为测试人员和开发人员对需求理解有偏差造成争执,所以在需求评审时,对数据处理规则用表达式或伪代码表示清楚。还有就是程序员失误,逻辑编写有偏差,边界值、特殊情况处理不当。
Ø 数据权限:不同用户对数据有着不同的查看权限。这关系到数据的安全性。
Ø 数据误差:数据的保留位数,数据是否是处理计算是否是最后一次计算使用了位数保留和四舍五入。
Ø 由于字典表,数据错误,而造成的数据错误,如,根据性别统计,购买量,表中的男女颠倒,或者没有考虑性别缺失项,用了if else,这样就是把表中缺失该项内容的算成了else条件里。或者逻辑中应该考虑用户状态,数据状态类似的字段,容易被忽略,测试应该考虑到。
Ø 最后一项,当数据量相当大的时候,统计应该考虑,切割速度,也就是数据的完整性,由于数据切割的滞后,带来的数据不完整,而造成统计结果不完整。如统计昨天的销售情况,而昨天的数据并没有完全从业务系统数据到数据池,再者月底数据,由于最后一天的数据切割不完整而造成的正月统计数量不准确。
我现在想到的只有这些(有待补充)
报表的界面和输入输出测试
界面分为输入界面和输出界面;统一的界面要求:美观、统一、易操作。输入界面要求是:①输入项字段长度不允许超过字段长度;②输入不符合字段要求的,不允许查询。如money类型,在输入汉字,字母、特殊字符等不允许查询,并有友好的操作提示。③用户 权限范围外的输入,不允许查询。如用户输入不是其权限范围内的客户号,不允许查询,并有友好的操作提示。
④对于选项,应不出现可选择的用户权限以外的选项。⑤对于汉字模糊查询,考虑不常见字,如“”即汉字因译码问题,造成的汉字存储出现乱码问题。
输出界面要求:①因为是报表所以应该有打印、打印预览、报表导出等功能。不能因为报表导出丢失数据,不能因为打印缺少了报表表格框②报表排列方式可调,用户可按任意列升序或降序排列,或者,按某一关键列的一定规则排序③报表标题明确,不能含糊误导用户④报表内可关联查询的项,应能特殊显示,如鼠标有箭头变为手掌,子报表格式与父报表格式统一,数据统一。
报表性能测试
这块主要使用自动化测试工具来测试,具体工具如何测试,不详细说明了,只说一下测试点:
Ø 并发查询,测试系统一个报表同时允许多少用户并发查询,并发查询报表平均展现的时间
Ø 一定量用户在线,报表平均展现时间
怎么觉得我这个文档头重脚轻,虎头蛇尾,这个测试主要针对报表数据准确这一重点,所以其他测试只是简略说明。
posted on 2007-10-26 16:13
小龙虾 阅读(851)
评论(1) 编辑 收藏 引用 所属分类:
工作笔记 、
技术感悟