数据报表类系统测试

发表于:2014-9-01 11:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:玉浓    来源:51Testing软件测试网采编

  二、数据关联到问题、产品、部门等进行分析展现—逻辑代码
  平台实现了将传入的参数组装成一条复杂的sql语句,将源数据关联到产品数据、问题点数、时间数据后的数据结果输出。
  所以验证的是报表数据的正确性,简单来说就是验证一条复杂sql写的对不对,采用的测试方式是根据业务理解测试整理出对应sql,输出数据,和系统输出的数据进行对比
  测试要点
  1、表结构设计决定业务拓展性 例 测试过程中发现有些元数据表必须是唯一性的
  2、对整个数据库设计非常了解,明确每个表的业务定位
  举个栗子
  某业务 测试验证sql
select f.date_id,d.issue_name,sum(f.all_qz_cnt)
from voc_tb_*** f,
voc_issue_*** d,
bi_time_*** t,
voc_prd_*** v
where d.issue_code = f.issue_codes
and v.id = f.prd_id_sk
and t.date_id = f.date_id
and v.prd_id=711
and t.day = 20140316
group by f.issue_code
order by sum(f.all_qz_cnt) desc
  开发sql
SELECT bi_time_***.day,voc_prd_***.prd_id,voc_issue_***.issue_code,sum(voc_tb_***.all_qz_cnt) as index_135
FROM voc_tb_*** LEFT JOIN voc_issue_*** ON voc_tb_***.issue_code = voc_issue_***.issue_code and voc_issue_***.flow_step=voc_tb_***.dim7
LEFT JOIN voc_prd_*** ON voc_tb_***.prd_id_sk = voc_prd_***.id
LEFT JOIN bi_time_*** ON voc_tb_***.date_id = bi_time_***.date_id
WHERE voc_prd_***.prd_id=711 and bi_time_***.day=20140316
GROUP BY bi_time_***.day,voc_prd_***.prd_id,voc_issue_***.issue_code
ORDER BY index_135 desc
  发现的问题:表voc_issue_***中的issue_code不是唯一值,LEFT JOIN的特性使非唯一issue_code的sum(f.all_qz_cnt)值翻倍了,解决方案是,表voc_issue_***的的业务定位修改,作为issue_code的元数据表
  这个过程中需要关注的问题
  1、数据多样性评估不完整,导致部分数据未被统计
  2、表定位错误,比如上面的例子说明的问题
  三、综述
  1、数据是否可以提取极大的依赖于原始数据本身的健壮性,原始数据质量很大程度上决定分析数据的效果
  2、对于这类数据产品,测试侧重点主要是:数据完整性、数据准确性、数据有效性、业务合理性
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号