qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

后台数据逻辑的测试分析方法

 一.    关于后台数据逻辑的测试分析
  (一)基于业务场景的分析
  1. 背景分析
  用户角色:数据的使用者,属于什么岗位,什么角色,关注点是什么。
  应用场景:数据在哪些前端业务系统中使用,业务关系是怎样的。
  使用目的:使用这些数据的目的是什么,能够为业务带来怎样的效益。
  2. 业务场景分解
  统计维度:针对每个维度的粒度,层次和成员等。
  统计口径:针对哪个时间段的数据进行统计
  统计指标:每个指标的定义及情景细分
  计算逻辑:维度和指标的计算逻辑
  更新频率:数据更新的频率。
  3. 关于历史数据的考量
  比如新增字段,历史数据是否需要补数。
  (二)基于程序设计的分析
  1. 存储过程
  所在包名
  调用方式:通常是定时程序,数据库job或java quartz
  功能说明:初始化逻辑和增量更新逻辑。
  改动方式:新增或修改
  入参出参
  目标表
  2. 数据表
  结果表:表结构是否满足业务统计要求
  中间表:a.用途;b.更新或删除的机制
  源表:a.源数据是否能满足需求;b.源数据的分布;c.源表之间的关联关系
  3. Java逻辑
  接口类型:通常是查询接口
  接口名称
  改动方式:新增或修改
  入参返回
  实现逻辑
  4. 存储过程和java接口的调用时机
  存储过程的调用顺序和执行时间。
  Java接口的调用时机和触发条件。
  5. 初始化数据,增量更新数据,实时处理数据
  初始化数据:对当前所有数据的处理结果。
  增量更新数据:对每日变化数据的处理结果。
  实时处理数据:业务系统产生业务数据的同时进行数据处理的结果。
  注意:除了测试初始化数据以外,还需要模拟增量更新数据的处理和需要实时处理的数据。
 (三)基于结果表的或基于检查点的分析
  1. 列数据(字段):
  检查点:
  每个字段的取值赋值是否正确;
  哪些场景下需要更新字段值,程序是否都有考虑;
  增量跑的时候,是否会错误的更新不该更新的数据;
  对列值进行分类,观察是否有特殊数据,给予特别关注。
  2. 行数据(记录):
  检查点:分类统计记录数,分析合理性。
  (四)基于边界条件和边界数据的分析
  这里只关注系统测试层面的边界条件和边界数据,对于代码层面的边界值测试建议在单元测试阶段完成,成本更低。
  1. 边界条件
  需要测试上边界和下边界,以及超越上下边界的情况。
  在包含边界条件的程序中可能开始一直是大于号判断,到了下边界可能会忘了改成小于号判断。
  2. 边界数据
  对于值的范围,值的个数,有序集合,需要选取正好等于,刚刚大于,刚刚小于,或者有序集合的第一个和最后一个。
  二.    关于后台数据逻辑的测试方法
  (一)常规测试方法
  1. 编写测试数据准备脚本(按维度)
  查询出基于测试分析得到的各种测试数据类型
  2. 编写测试数据验证脚本(按指标)
  按指标计算逻辑直接查询得到或间接得到一个预期的结果值。
  3. 查结果表
  根据测试数据ID查结果表,得到一个实际的结果值。
  4. 比较预期结果值和实际结果值
  (二)基于存储过程的测试方法
  是基于常规测试方法的分析基础上,将SQL打包成procedure,能够更快速的执行,并将测试结果记录到测试表中。
  1. 拆分,从复杂到简单:
  将复杂的逻辑拆分成若干个简单片段,保证每个片段的数值或属性值容易得到。
  2. 建测试表:
  在测试环境中,构建一张测试数据表,除ID外,为每个片段设置一个或几个表字段,用于存储每个片段得到的中间值。
  3. 编写测试存储过程:
  按照Step 1拆分的片段逻辑,直接使用数据库存储过程实现整个过程的统计分析,即写一个测试用的存储过程。
  4. 执行测试存储过程和程序代码:
  测试执行时,先执行被测功能代码逻辑,再基于同一个数据源执行存储过程的测试用例,最后对比测试表最终计算结果和被测功能代码逻辑的计算结果。
  5.分析比较结果并定位问题:
  如果结果不一致,可根据测试数据表存储的中间值,方便的进行手工核对,定位出错点是测试用例还是代码逻辑。
  若用例出错,及时修正测试用例;若测试用例没有出错,则可以根据计算过程的中间值,结合debug工具,定位代码逻辑的bug点
  好处:方便进行批量测试。
  (三)基于探索式的随机测试方法
  1. 基于结果表,从各种维度去查询数据,观察是否有可疑的数据
  2. 基于结果表,用明显不合理的条件从反向去验证是否有异常数据存在
  3. 基于源表,查询关键字段的数据状态。
  观察是否有异常数据,对异常数据是否需要清洗机制。
  4. 基于数据特点,分析是否可能有多对多的表关联情况,可能导致数据翻倍
  需要分析出存储过程中涉及到哪些源表,源表之间的关系和数据特点
  (四)基于生产模拟的用户验收式测试方法
  从业务系统前台操作产生业务数据,通过真实模拟源数据的产生,检查结果表的统计数据是否正确。
  最后,还是祝福我的小宝贝聪明勇敢,善良快乐。祝福我的家人们平平安安,健健康康,真的好爱你们。
版权声明:本文出自 暖洋洋 的51Testing软件测试博客:http://www.51testing.com/?15019819
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

posted on 2014-04-29 11:01 顺其自然EVO 阅读(1514) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜