首页 > 其他分享 >大数据测试/ETL开发,如何造测试数据

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

时间:2024-06-03 09:31:49浏览次数:14  
标签:数据测试 代码 造数 测试数据 字段 开发 数据 ETL

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

1,造数背景

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

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

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

2,造数阶段

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

一张图拿捏:

3,造数代码

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

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开发的流程。

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

标签:数据测试,代码,造数,测试数据,字段,开发,数据,ETL
From: https://blog.csdn.net/wowulita123/article/details/139247520

相关文章

  • 数据图同步软件ETL
    ETL介绍ETL(Extract,Transform,Load)软件是专门用于数据集成和数据仓库过程中的工具。ETL过程涉及从多个数据源提取数据,对数据进行转换以满足业务需求,然后将数据加载到目标数据库或数据仓库中。以下是ETL软件的一些关键功能和特点:关键功能数据提取(Extract):从各种数据源(如......
  • Python factory_boy 生成测试数据
    factory_boy库中的工具,用于在测试中生成模拟数据:1.Sequence:用于生成一个唯一的序列。每次调用时,它都会返回一个新的值。这对于生成唯一的字段(如用户名或电子邮件地址)非常有用。例如,factory.Sequence(lambdan:f'user{n}@example.com')将生成一个唯一的电子邮件地址。......
  • ETLCloud中如何使用Kettle组件
    ETLCloud中如何使用Kettle组件在当今数据驱动的时代,数据处理和分析已成为企业决策的关键。为了更高效地处理海量数据,ETL(Extract, Transform, Load)工具变得至关重要。而在众多ETL工具中,Kettle作为一款开源、灵活且功能强大的工具备受青睐。而在ETLCloud平台上,可以通过Kettle组件......
  • resetlogs强制拉库失败并使用备份system文件还原数据库故障处理---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:resetlogs强制拉库失败并使用备份system文件还原数据库故障处理作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]接手一个库,在open的过程中遭遇到ORA-6002662错误SunMay2......
  • ETLCloud中如何执行SQL脚本
    SQL脚本在数据库管理与数据分析的广阔领域中,SQL(Structured Query Language,结构化查询语言)脚本扮演着举足轻重的角色。作为一门专为关系型数据库设计的编程语言,SQL不仅能够执行数据的检索、更新、插入及删除等基本操作,还支持高级功能,如数据分组、聚合计算、子查询及连接多个表以......
  • kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法
    kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。一、shell脚本调用python脚本1、下面是一段简单的无参python脚本importosdefmain():#在这里编写Python脚本的主要逻辑print("Hello,thisisaPythonscriptcalledbyshell!")i......
  • 数据仓库——ETL(详细教程)
    目录建模方式ETL新建etl项目,设置项目名称位置新建数据源新建SSLS包做全量双击编辑执行SQL任务 双击编辑数据流任务编辑OLEDB源编辑数据流转换编辑OLEDB源目标右键选择执行做增量 编辑执行SQL任务编辑任务条件编辑数据流任务1编辑数据流任务2执行任务数......
  • 在机器学习项目中,将原始数据集划分为训练数据集和测试数据集划分比例的确定
    在机器学习项目中,将原始数据集划分为训练数据集和测试数据集是非常重要的一步。这个划分比例会影响模型的训练效果和对未来数据的泛化能力。虽然没有固定的规则,但有一些建议和常见做法可以参考:常见的划分比例70%训练/30%测试:这是一个较为传统的划分比例,被广泛应用于各种机器......
  • kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中
    1、大家都知道kettle设计的job流程文件有个缺点:只能设置简单的定时任务,无法设置复杂的如支持cron表达式的job。 今天给大家分享一个使用xxl-job调度carte的流程文件的示例。整个调度流程图如下: 1)xxl-job-admin,页面可视化配置任务。2)xxl-job-executor,job执行器,通过调用carte......
  • kettle从入门到精通 第六十课 ETL之kettle for循环处理每条数据,so easy!
    1、kettle原生是支持for循环处理的,无需通过javascript脚本或者java脚本开发for循环控制。当然如果想通过脚本挑战下也是可以的。本节课主要讲解如何通过kettle中的job来实现for循环控制,如下图所示:1)步骤【设置变量】设置单个job级别的变量。2)步骤【转换】加载数据集清单列表,返......