用数据管道实现测试的现代化

117 阅读8分钟

DZone>大数据专区>利用数据管道实现测试的现代化

利用数据管道实现测试的现代化

了解数据合成与数据管道如何提供一个可扩展的解决方案,以创建类似于测试系统的现实世界需求的一致数据。

Eric D.  Schabell user avatar 作者

埃里克-D-沙贝尔

CORE -

5月22, 22 - 大数据区 -分析

喜欢 (3)

评论

保存

鸣叫

2.86K浏览次数

加入DZone社区,获得完整的会员体验。

免费加入

这是一篇来自DZone的2022年数据管道趋势报告的文章。

欲了解更多信息。

阅读报告

今天的组织被埋没在数据中。他们从大量的来源收集数据,并试图找到利用这些数据的方法来推进他们的业务目标。一种方法是使用数据管道作为连接数据源的方式,并通过管道将数据转化为在终端可用的某种形式。

虽然这是为组织运营数据的持续斗争的一部分,但始终需要找到提供良好的数据集进行测试的方法。组织需要这些数据集来测试整个架构中的应用和系统。他们也需要数据集来关注他们组织的测试方面,如安全和质量保证。

创建合成数据是一个非常现实的需求。这实际上意味着,简单地说,我们需要找到一种方法来创建虚构或虚假的数据。我们要创建类似于现实世界需求的一致的数据,用于测试系统。让我们来看看数据管道,并探索如何使用它来开始创建你自己的合成数据,以便在你的组织中进行测试。

数据管道和测试

数据管道的一个非常简单的定义是 "一组串联的数据处理元件,其中一个元件的输出是下一个元件的输入"。更简单地说,这些是用于将数据从数据源带回到可以被分析、转换,然后被一个组织使用的水平的基本连接。

数据管线从检索数据开始。他们可以从一个平台中提取所需的数据,如SQL(DB)数据源,通过一个可编程的接口,如应用程序编程接口(API),或通过数据流和事件处理接口。

一旦数据被检索出来,就可以决定对数据进行转换,以满足终端用户的需求。这可以通过数据生成API来完成,通过清理或改变检索到的数据结构来建立数据,最后,在提交给最终用户之前,出于安全考虑可以对数据进行匿名处理。

这些只是数据管道作为测试过程一部分的几个例子,图1是数据管道从源头到最终数据仓库位置进一步使用的一个简单例子。

图1

测试需要我们为被测试的系统、应用程序或代码片断提供一个数据集。这组数据可以手动创建,从现有的数据集中复制,或生成供测试团队使用。

当处理非常小的数据集时,手动创建测试数据可能是有用的,但当需要巨大的数据集时,它就变得非常麻烦了。如果数据包含敏感元素,从现有(生产到测试)环境中复制数据集会带来安全和隐私问题。在现有数据的基础上生成数据可以提供一个好的结果。

如果我们想大规模地生成数据,同时考虑到安全问题,以提供匿名的结果,并确保所生成的数据的灵活性,该怎么办?这就是数据合成的意义所在。它允许你以你可能需要的灵活性来生成数据。

初学者的数据合成

生成合成数据可以提供大量的数据,同时解决敏感数据元素。合成数据可以基于关键的数据维度,如姓名、地址、电话号码、账户号码、社会保险、信用卡、识别码、驾驶执照号码等等。

合成数据被定义为假的或创建的数据,但它通常是基于真实的数据,用来扩展创建更大的、真实的数据集进行测试。然后,为测试而产生的数据以安全和可扩展的方式在整个组织内提供给业务用户和开发人员需要。

这种合成数据在任何组织中都有广泛的用途,如医疗、金融、制造和任何其他采用新技术满足各种业务需求的领域。它的直接用途是在持续的测试、安全和质量保证实践中,帮助实施、应用开发、集成和数据科学工作。

你不仅能够通过数据综合提供大规模的数据集,而且还能确保支持一个组织中多个领域的数据一致性,同时提供代表真实世界格式的可行数据。它为开发者、架构师和数据架构师在任何组织中提供了一个一致的方法,以利用数据进行测试。

开始使用数据合成

发现数据合成可以为你做什么的最好方法是探索最常见的使用模式,然后潜入一个开源项目来启动你的经验。有两种简单的模式可以开始使用数据合成:在云原生环境和云原生API中,如图2所示。

图2

第一种模式是,你在你选择的云平台上的单个容器内运行数据合成平台,并利用API从容器内的来源(如应用程序或数据库)提取数据。第二种是你可以在你选择的云平台上部署数据综合平台,并利用云原生API从任何来源(如外部独立的数据源)提取数据。

数据综合在以下用例中大放异彩。

  • 在平台内检索所需数据(SQL)
  • 检索数据(API)
  • 数据生成(APIs)
    • 按需或按计划建立更多虚构的数据
  • 数据构建
    • 按需或按计划在虚构的数据基础上建立更多的结构化数据
    • 创建符合您需求的结构化或非结构化数据
  • 以行业为中心的数据流
    • 使用数据管道来处理各种行业标准的数据
    • 通过对实时系统的解析和填充,提供真实世界的属性,实现去身份化和匿名化

涵盖这些用例中的每一个都超出了本文的范围,但这个列表让读者对数据合成和测试的适用领域有一个很好的了解。对于数据合成数据层的概述,我们提出了下图。

图3

这是数据层的概述,以美国的位置数据字段(邮编和区号)为例,介绍了平台如何将其联系在一起。在中间,你可以看到你的松散耦合的数据模型,可以根据需要进行扩展。它们构成了从现有数据、实施数据和行业标准数据访问的核心基础。这可以使用数据设置和基于你的组织中现有的数据结构来调整。输出是生成的数据、参考数据和特定平台数据。

在这个简短的数据合成之旅之后,下一步是开始探索被称为Project Herophilus的开源项目,在那里你可以开始使用数据合成平台。

你会发现数据合成的关键起始领域。

  • 数据层--设计成可扩展的,支持平台的所有需求。
  • 数据层API - 支持用户请求的是数据层API;这套API是关于能够生成数据并将其持久化到数据层。
  • Web UI(s)--旨在成为最低限度的可用产品,可以用来查看你实现的数据综合数据层。

数据综合项目中的三个模块应该可以让你在开发测试数据集的过程中快速起步。

结论

随着组织收集、探索、转换和尝试利用他们的数据,测试是一个不断增长的挑战。虽然生成测试数据集可以解决其中的一些问题,但当这个过程需要扩展时,它往往会失败。数据合成,加上数据管道,可以提供一个可扩展的解决方案,以创建类似于测试系统的真实世界需求的一致数据。你可以通过探索被称为Herophilus的开源项目开始,它提供了三个模块来启动你的第一个数据合成项目。

这是一篇来自DZone的2022年数据管道趋势报告的文章。

欲了解更多信息。

阅读报告

数据(计算) 管道(软件)

DZone贡献者所表达的观点属于他们自己。

DZone上的热门文章


评论

大数据 合作伙伴资源