大数据测试/ETL开发,如何造测试数据

相信很多的小伙伴,有些是大数据测试岗位,有些是ETL开发,都面临着如何要造数据的情况。

1,造数背景

【大数据测试岗位】,比较出名的就是宁波银行,如果你在宁波银行做大数据开发,对着需求开发完代码之后,可能需要把代码提交给测试人员,那么测试人员会根据这个业务需求,他们会自己造一批数据,然后看看你的sql脚本,是不是有一些明显的sql错误,以及开发规范的问题。当然,还有最重要的一点是,他们会拿着你的脚本取跑数,看看的出来的数据是不是符合业务的逻辑与需求。

如果是【ETL开发岗位】,那么在你连通了HIVE和其他的数据库(比如说,Oracle,mysql,kingbases等等),接着你把代码也开发好了,那么怎么判断你的数据是不是ETL到目标数据库里面了呢?当然是自己先在源数据库里造一批数据,然后走调度跑脚本,如果不报错的情况下,我们再到目标数据库里查看一下,我们之前造的数据是不是ETL过去了。

如果是【大数据开发岗位】,那基本不咋造数据,因为在测试环境,就是有测试数据,还有生产上来的脱敏数据。这些都是可以拿来借鉴参考开发的。

2,造数阶段

那么如何造数呢??直接上 HUE 摸鱼儿展示一下

一张图拿捏:

3,造数代码

sql 复制代码
--如果是分区表(直接建立分区,同时往该分区插入数据)

insert into  table xxxx partiton ( dt = '2024-05-27' )

(字段1,字段2,字段3......)

values (值1,值2,值3.......)  

, (值4,值5,值6.......)

--如果不是分区表

insert into  table xxxx 

(字段1,字段2,字段3......)

values (值1,值2,值3.......)

, (值4,值5,值6.......)

4,造数逻辑

当然,造数代码不难,但是数据可不是瞎造的,其中还是有一定的讲究。

1,首先,你得先了解整个需求文档,它的数据的最细粒度是什么??

比如说一个客户对应多个资金账号,那么你就按照最细粒度来造数。

可以造3条数据,一个客户对应3个不同的资金账号。

2,其次,根据需求文档的某些特殊字段进行穷举

比如说,客户类型字段,总共分为3个,个人客户,机构客户,产品客户。

这个时候,你可以发散出3条数据,穷举出来。

3,也可以根据数据的低概率可能性造数

比如,非主键字段,可以故意设置一些null值。

比如,要算一个完成率,你可以设置分母为0的情况。

比如,一般一个员工,只能归属于一个营业部,但是你清楚这个业务,你可以把某个客户,分别放在2个不同的营业部下面。

4,最后,我想说,测试人员得要对业务需求文档要有一定的理解。

清楚哪些是开发重点,哪些是争议点,在重点之处下文章,才能取得好的效果。

只有这样子,跑出来的数据才是全面的。你无需造数太多,但一定要麻雀虽小五脏俱全。才能叫校验出开发代码人员的代码有没有漏洞,能不能良好的实现业务需求。

==========================================================

好了,这个知识点就分享到这里。

之后看看给大家分享一下测试数据的岗位的小伙伴是怎么测试你的脚本的,有空也会分享一下ETL开发的流程。

欢迎大家点赞收藏关注,不一定很难,但都是经验之谈。

相关推荐
Lx3523 小时前
Hadoop小文件处理难题:合并与优化的最佳实践
大数据·hadoop
激昂网络4 小时前
android kernel代码 common-android13-5.15 下载 编译
android·大数据·elasticsearch
绝缘体14 小时前
折扣大牌点餐api接口对接适合本地生活吗?
大数据·网络·搜索引擎·pygame
君不见,青丝成雪5 小时前
浅看架构理论(二)
大数据·架构
武子康5 小时前
大数据-74 Kafka 核心机制揭秘:副本同步、控制器选举与可靠性保障
大数据·后端·kafka
IT毕设梦工厂7 小时前
大数据毕业设计选题推荐-基于大数据的1688商品类目关系分析与可视化系统-Hadoop-Spark-数据可视化-BigData
大数据·毕业设计·源码·数据可视化·bigdata·选题推荐
君不见,青丝成雪8 小时前
Hadoop技术栈(四)HIVE常用函数汇总
大数据·数据库·数据仓库·hive·sql
万邦科技Lafite8 小时前
利用淘宝开放API接口监控商品状态,掌握第一信息
大数据·python·电商开放平台·开放api接口·淘宝开放平台
更深兼春远13 小时前
flink+clinkhouse安装部署
大数据·clickhouse·flink
专注API从业者16 小时前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化