报表测试经验分享

提高对业务逻辑和数据逻辑的熟悉程度 提高对业务逻辑和数据逻辑的熟悉程度。其实对任何一个软件进行测试,都必须要熟悉它的业务,包括业务流程和业务规则。但是报表同一般的业务功能还是有些区别的。例如对于单据的增、删、改,通过对界面的浏览和探索性的操作,大概都可以弄明白它的业务流程和业务规则,因为这些内容 比较直观,而且在不同的行业中也差不了太多。但是在报表中, 比较直观,而且在不同的行业中也差不了太多。但是在报表中, 是很难直观的看到我们所需要了解的内容的。例如报表中的某个数据项,它的算法或者说数据来源,恐怕是比较难看出来了。 所以对于报表业务的熟悉,主要是两个方面:数据项的算法和数据来源,也就是说要明白一个数据项同具体的业务有什么关系,单据的增、删、改或者状态的变化,对报表中各个数据项的计算会产生什么不同的影响。如果不知道到这些,那么就无法验证报表中的数据是否准确,也无法通过报表去检查业务系统的正确与否 。

覆盖所有可能的查询统计方式,而不是以自己的使用习惯为准。对于报表的使用者来说——一般是企业的中层或高层领导,他们对于报表的要求可能会是多方面。如,生产线上的管理人员,他们可能关注的是每个产品的进度,而企业的管理者,他们更多是每个产品的进度。假如一个报表提供 的是关注整个加工单的进度。假如一个报表提供了多种查询统计的方法,那么在测试时,只要时间充分,就应该覆盖这些所有可能被用到的查询统计。

使用或搭建完全受控的数据环境弄清楚数据的流转过程,即,数据从哪里来?中间经过了哪些处理? 最终如何进行展现? 首先,应该保证准备足够多的有效的数据。前面也提到了,在实际测试报表时,应当尽可能的覆到报表所提供的各种查询统计方法,因此至少应盖到报表所提供的各种查询统计方法,因此至少应该保证每一种查询统计方法都应该有对应的数据,得到的结果都不会是0,否则等于没有覆盖到这个被测的查询统计算法。当然数据也不是越多越好,能保证全部覆盖,并且刚好够用就可以了,因为数据 的准备和生成也是很花时间的 的准备和生成也是很花时间的 。

其次,要保证数据的可控。数据并不是随意生成的。因为如果无法控制数据来源,那么即使知道报表中每个数据项的算法,也无法最终验证报表的查询统计结果是否正确。

测试数据准备循序渐进,数据逻辑由简单到复杂,数据量由小到大。不要上来就用很复杂的数据进行测试。所以如果希望高有效、更高质量的完成报表的测试,那么就要重视并增加对于数据准备工作的关注: 用于验证报表功能的数据,一定是专门为报表准备的,并且是经过精心设计,要分析影响数据项算法的的各种因素,以及每个因素可能出现的不同变化,这样才有可能覆盖各种查询统计方法;同时,才能保证无论使用哪个数据项的算法进行计算,其结果都是可以预知的——因为数据来源已经被我们控制了 。 对于算法比较复杂,又提供了多种查询统计方式的报表,如果想完整的测试,就需要准备大量的数据。而如果想高效、高质量的完成这项功能,就一定要理解数据准备工作的重要性

经过精心设计的数据还有一个好处,就是当在进行业务功能的测试时,不再需要使用一些随意的数据,而是可以通过业务测试的过程,把报表测试所需要的数据输入到系统中。并根据报表对单据类型和状态的需要,进行相应的操作。 如果留心,你也会发现报表测试同其他业务功能测试的有个区别。业务功能(例如单据的新增、审核等)的测试用例设计,通常需要考虑的是对各种正常的、异常的业务流程和业务规则的组合的遍历或覆盖;而对于报表 业务流程和业务规则的组合的遍历或覆盖,虽然没有太复杂的业务流程和规则,但是算法更 加复杂,同时报表功能本身就是一种对数据的加工处理,因此会更偏重于对于各种数据来源和算法的遍历或覆盖,也就是要准备各种正常的、异常的数据,来验证报表是否取到的该取的数据、没有取不该取的数据,并且最后计算出了正确的结果 。

特征性数据的准备,如果由多人同时对一个系统进行测试,虽然大家各自使用的数据都是经过精心设计的,但是在实际进行报表测试时,还是很难保证其他人的数据不会对自己的测试结 试时,还是很难保证其他人的数据不会对自己的测试结果产生影响,最明显的一个问题就是原来自己对结果是可以预知的,但是现在掺杂了别人的数据,就需要花时间去区分这种 “ 假 ”的错误和真的错误。有一个经验是可以借鉴的,就是在初期,团队内对数据的准备达成一致,使数据中的某一项具有特征性,例如 的准备达成一致,使数据中的某一项具有特征性,例如 分别使用不同的工单号。最后测试报表时,通过限定选 分别使用不同的工单号。最后测试报表时,通过限定选取的数据来源,来保证相互之间尽可能的没有影响

做好数据环境的备份和维护,维护你的数据文档。如果想减少回归测试的工作量,那么应该考虑在一些关键的 “ 点 ” 上备份测试数据。例如所有工单的工序已经完成,但还没有进行 上备份测试数据。例如所有工单的工序已经完成,但还没有进行 QA时,那么可以备份一下,下次再测的时候可以直接在数据库中恢复这部分原始数据 。

在业务功能测试通过之后才开始,这一点相信应该不难理解,如果业务功能本身存在缺陷,导致的数据不准,那么最后进行报表测试也就没有什么意义了。所以,应该在保证各项同报表有关的业务的功能测试通过之后,才开始考虑对报表进行测试。

寻求开发人员的协助。 在报表测试中很常见的一个问题,是需求文档中可能没有定义报表的各个数据项的算法,这时候你需要找开发人员帮忙,向他们了解准确的算法和相应的公式 。

多个报表相互对照。 这是一项 “高级 ”的报表测试技能,需要对整个系统中的各种业务的熟悉程度达到一种炉火纯青的地步。除了可以准确的说出各个业务的处理过程对每张报表的影响之外,还能够进行横向的联系,知道不同表的影响之外,知道不同报表之间存在的关系,是否存在一些关联呢?是否会存在一些可以相互验证的地方呢?同一张报表不同的统计时间段之间的数据是否也有一定的逻辑关系?

着重对那些算法复杂、与业务功能关联较多的报表的测试 。这就像业务功能的测试一样,越是特殊的数据。越是复杂的业务,越有可能出错。

留意四舍五入对报表数据的影响。 9这也是一个常见的问题。在一般管理系统中,都会存在这种情况,无论小数点后保留几位,总是难以避免明细和汇总之间的差别。

留意业务单据中存在多个日期字段时对报表数据。那么在测试时,一定要留意,开发人员是否按照要求选择了正确的日期,包括日期选取的一致性。

留意不同状态的单据对报表数据的影响。

留意那些被当做默认规则的因素。 有些规则——例如单据类型或者单据状态是作为默认规则写死在SQL语句或者数据库的存储过程里面,这些规则不会体现在界面,也不会由用户选择决定。但是这些规则恰恰是最容易被忽略的部分。所以,一定要同开发人员反复确认, 保证自己已经了解了同报表各数据项计算有关的各个因素

保证测试人员可以通过UI 找到自己所需的所有找到自己所需的所有原始数据 。在进行系统测试时,无论是报表,还是一般的业务功能测试,都不要去直接通过SQL语句查询数据库中的内容,而是通过UI来输入,再通过UI 体现处理的结果进行验证,因为这是系统测试,将来用户是决不会去直接查数据库的。

检查大数据量对报表的影响。报表测试也会涉及到性能测试,主要是在大数据量查询统计的测试。大数据量一是说原始数据多,二是被操作、计算的数据多,三是某个数据项被是经过多次计算得出的。特别是对于一些算法比较复杂的报表,10万条数据和100万条数据的响应时间将表现出巨大的差别。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容