动态装置测试

Dive into business data optimization and best practices.
Post Reply
rumana777
Posts: 81
Joined: Thu Dec 26, 2024 6:05 am

动态装置测试

Post by rumana777 »

动态装置测试与静态装置测试基本相同,但我们不使用静态装置作为输入,而是实时抓取数据。这样,我们不仅检查解析器,还检查抓取器和布局。

动态装置测试比静态装置测试更复杂,因为它们需要实时抓取数据,然后使用抓取的数据运行解析器。这意味着我们需要在测试运行中启动抓取器和解析器,并管理它们之间的数据流。这就是 Dagster 的作用所在。

Dagster 是一个协调器,可以帮助我们管理抓取工具和解析器之间的数据流。

动态夹具测试的步骤
该过程主要有四个步骤:

将我们要抓取的 URL 加入队列

解析
根据保存的装置检查已解析的文档
最后一步与静态夹具测试相同,唯一的区别是我们不 BC 数据 使用静态夹具,而是在测试运行期间抓取数据。

动态装置测试在我们的数据质量保证过程中发挥着非常重要的作用,因为它们会同时检查抓取工具和解析器。此外,它们还能帮助我们了解页面布局是否发生了变化,而静态装置测试则无法做到这一点。这就是为什么我们按计划运行动态装置测试,而不是在 CI/CD 管道中的每个合并请求上运行它们。

然而,动态装置测试确实有一个相当大的限制。它们只能检查我们能控制的配置文件的数据质量。例如,如果我们不控制测试中使用的配置文件,我们就无法知道预期的数据,因为它随时可能发生变化。这意味着动态装置测试只能检查我们拥有配置文件的网站的数据质量。为了克服这个限制,我们有动态覆盖测试。

动态覆盖测试
动态覆盖测试也属于动态数据类别,但它们在检查内容方面与动态装置测试不同。动态装置测试检查我们可控制的配置文件的数据质量,这非常有限,因为不可能在所有目标中都做到这一点,而动态覆盖测试可以检查数据质量而无需控制配置文件。这是可能的,因为动态覆盖测试不检查确切的值,但它们根据我们定义的一组规则检查这些值。这就是 Great Expectations 的用武之地。

动态覆盖测试是我们数据质量保证流程中最复杂的测试。Dagster 也将它们编排为动态装置测试。不过,我们在这里使用 Great Expectations 而不是简单的 Python 脚本来执行测试。

首先,我们需要选择要测试的配置文件。通常,我们从数据库中选择具有高字段覆盖率的配置文件。我们这样做是因为我们想确保测试覆盖尽可能多的字段。然后,我们使用 Great Expectations 使用选定的配置文件生成规则。这些规则基本上是我们想要根据数据检查的约束。以下是一些示例:

所有个人资料都必须有一个名称。
至少 50% 的个人资料必须有姓氏。
教育计数值不能低于0。
Post Reply