做数据分析时,要先将原始业务数据进行ETL处理(即抽取、转换、载入),转换成有业务价值的目标数据。比如对业务数据库来说,数据库里可能有用户信息表、用户订单表、用户账单表、还款计划表等等,但是数据分析人员需要的是有针对性、更直观的信息,囊括了用户基本信息、用户订单记录、用户账单、是否有逾期、是否已结清的数据,那就需要对原始业务数据进行加工处理。这一部分工作也是需要测试的,主要是针对存储过程的逻辑是否有遗漏、是否准确来进行测试。
一、需求分析(要什么数据)
1、直接获取的数据,可以从一个或者多个数据库中根据条件直接获取的数据
例:还款日期,还款金额
2、需要加工的数据,需要对数据进行求和、求最大值、求最小值、求次数,或者根据数据满足的条件赋予其它含义
例:最近一个月内借款金额,历史最大逾期天数,支付通道(已逾期和未逾期的通道可能不相同)
二、sql脚本分析(怎么处理这些数据)
1、直接获取的数据-->分析数据来源和条件
2、需要加工的数据-->分析需要新增的字段,数据来源,条件,数据处理方式
注意:
(1)容易遗漏其它条件的数据
例:未还款的订单,条件为还款标志为未还款的,是否忽略了部分还款的
(2)取值的准确
例:最大逾期天数的逾期本金,如果有几笔的最大逾期天数相同,是只取逾期金额最大的一笔,还是取所有逾期本金之和
三、数据验证(数据处理的结果对不对)
1、根据需求
(1)满足需求的数据能获取
(2)不包含不满足需求的数据
(3)边界值的数据能获取
2、数据完整性
(1)校验从源数据库表的数据到原始表的数据正确
(2)校验从原始表到中间表被过滤的数据是否因为不满足条件
(3)校验从中间表到结果表被过滤的数据是否因为不满足条件
3、数据一致性
从结果表拿数据到源数据库表中核对金额、应收日期等
四、接口测试(提供数据的服务是否准确)
1、数据一致性
2、数据完整性
3、接口基础校验
4、sql性能(查询方式是否会造成慢sql等)