做数据分析时,要先将原始业务数据进行ETL处理(即抽取、转换、载入),转换成有业务价值的目标数据,比如对业务数据库来说,数据库里可能有用户信息表、用户订单表、用户账单表、还款计划表等等。

但是数据分析人员需要的是有针对性、更直观的信息,囊括了用户基本信息、用户订单记录、用户账单、是否有逾期、是否已结清的数据,那就需要对原始业务数据进行加工处理。这一部分工作也是需要测试的,主要是针对存储过程的逻辑是否有遗漏、是否准确来进行测试。

需求分析 (要什么数据)

1、直接获取的数据,可以从一个或者多个数据库中根据条件直接获取的数据,例:还款日期,还款金额。

2、需要加工的数据,需要对数据进行求和、求最大值、求最小值、求次数,或者根据数据满足的条件赋予其它含义,例:最近一个月内借款金额,历史最大逾期天数,支付通道(已逾期和未逾期的通道可能不相同)。

sql脚本分析 (怎么处理这些数据)

1、直接获取的数据–>分析数据来源和条件。

2、需要加工的数据–>分析需要新增的字段、数据来源、条件、数据处理方式。
注意:

(1)容易遗漏其它条件的数据例:未还款的订单,条件为还款标志为未还款的,是否忽略了部分还款的。

(2)取值的准确例:最大逾期天数的逾期本金,如果有几笔的最大逾期天数相同,是只取逾期金额最大的一笔,还是取所有逾期本金之和。

数据验证 (数据处理的结果对不对)

1、根据需求

(1)满足需求的数据能获取;

(2)不包含不满足需求的数据;

(3)边界值的数据能获取。

2、数据完整性

(1)校验从源数据库表的数据到原始表的数据正确;

(2)校验从原始表到中间表被过滤的数据是否因为不满足条件;

(3)校验从中间表到结果表被过滤的数据是否因为不满足条件。

3、数据一致性从结果表拿数据到源数据库表中核对金额、应收日期等。

接口测试(提供数据的服务是否准确)

1、数据一致性

2、数据完整性

3、接口基础校验

4、sql性能(查询方式是否会造成慢sql等)