天天看点

大数据测试个人拙见——结合工作实际情况

我日常工作中的大数据测试分为四个层级:1.数据采集 2.数据清洗 3.数据分析4.数据可视化

1.数据采集

首先说一下数据采集,目前我所接触的数据采集分两块,一部分是实时数据采集,一部分是触发式的数据采集。

实时数据采集主要通过像fulume,logstash这样的数据采集工具或者一些java程序,通过crontab或者后台运行脚本来实时去数据源抓取数据存入hdfs,hbase这些存储工具中。

像类似这样的测试,我一般会测数据从源头到目标的数据完整性,各个字段的数据一致性,数据采集整体性能(我这边测试环境集群一般扛不住太大的数据流)

触发式的数据采集一般也就是数据源是第三方接口的部分的,需要我这边主动发起请求获取数据,存入HDFS或者hbase这样的。测试方法也是相当于接口测试方法,这个就不多赘述。

2.数据清洗

数据清洗一般也称ETL处理,我接触到的有automation,logstash,oozie,control_m,shell调取java程序这些。

一般数据清洗分为实时和离线两部分

实时部分,以数据采集的logstash为例,它从input的数据源采集数据,然后经过一层filter过滤数据,到output输出数据到目标。主要验证数据清洗的完整性,数据各个字段清洗规则是否生效。

离线部分,我们这边一般处理的是T-1或者更长时间的数据,一般通过oozie这样的调度工具去调度sql,从一张数据表到另一张表。这部分也是一样,得查看数据完整性,数据清洗规则,如果像是从Mysql这样的数据库sqoop到hive这样的数据库时,得关注一下字段类型,因为有些字段类型mysql这样的数据库有,而hive没有,这样数据过来可能就都是null值。

一般测试方法是先遍历sql,然后再挂调度看测试结果

3.数据分析

数据分析这一块,目前我接触到的是用户画像和精准推送,其实也同样是验证开发的算法,处理逻辑。

还有要用到A/B测试来验证开发算法的合理性。

4.数据可视化

数据可视化就是把之前的数据采集,清洗过后,分析出来的东西实际应用起来做成一个可见的产品。如BI报表,实时大屏

这部分测试,偏UI测试的会多点,后台部分主要是前台展示和后台各个数据流的交互,前台UI在承载实时和离线数据的性能情况。

以上为自己对大数据测试的点点拙见,如有不合理的地方,欢迎指正,联系Wechat:jetxule,希望有更多相关测试人员一起来沟通探讨。