testing - BDD 可以用于大数据 ETL 测试吗?

标签 testing bigdata bdd

我在想是否有人使用 BDD 来测试大数据 ETL 应用程序? 我可以看到 BDD 如何用于测试与客户端交互的应用程序,但在大数据 ETL 应用程序的情况下,没有客户端交互,因此很难看出我可能会使用什么“何时”。 例如: 给 100 个 A 类事件发生 5 分钟后发生 50 次 B 类事件 那么数据库行应该是: |类型|计数|桶| |A|100|1| |B|50|2|

但这似乎是错误的。 任何有见识的人?

最佳答案

您能否举例说明您希望在 ETL 输出中看到的内容?

您可以对此做出一些回应。一个可能是您期望的不同类型的数据库行,事实上其中一些行可能会重复,但其他行不会。这让我觉得很奇怪,但如果您习惯于使用星型模式,那么您可能会注意到其他差异。

通常我会引导人们远离谈论数据库,但如果你正在使用星型模式,我认为提及事实和维度是可以的(我没有经常使用 ETL,但我确实请记住通过这些具体示例以及我希望看到的内容进行讨论)。

另一种方法是使用客户端。

我看到你说没有客户端;然而,总是有一个客户,即使它可能在未来存在。对跨安全性、性能和访问等方面运行的 ETL 有影响。拥有一个客户端是值得的,即使它是一个基于字符串或基于 SQL 的玩具,来探索可能会让您出错的事情。

你为什么要这样做?企业、用户或客户可以做的事情有什么新的,而他们已经不能做?你能举个例子吗?

“我们将能够了解 X 相对于 Y 标准的表现。”

太棒了。你能给我一个 X、Y 和标准的例子吗?你将如何衡量绩效?您要查找哪些数据?每个人都应该能够看到该数据吗?您能想到任何人不应该访问它的场景吗?

这些示例成为场景的 ETL 等价物;对话保持相同的模式。你最终只是在不同的层次上自动化它们,因为你的 API 是面向机器而不是面向人的,而且你的一些对话将是关于监控而不是测试。您的对话应该仍然是与人进行的。

您的“何时”将是您在运行它的数据、权限和安全上下文中运行的查询或报告。

关于testing - BDD 可以用于大数据 ETL 测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31275867/

相关文章:

php - 无法在 Laravel Dusk 中截图

testing - 如何测试一个网站,看看它在崩溃前能承受多少惩罚?

testing - Google Cloud Pub/Sub - 发布测试消息

java - 如何刷新HBase中的表

hadoop - 将rdbms和大数据集成到datamart中?

python - ISO 公共(public) Django 应用程序使用 Doctest、Unitests 和 Selenium 开发敏捷/BDD 风格

java - 在不使用 Java 中的任何 DI 框架的情况下,实际上有可能做好 TDD(或 BDD)吗?

java - Android 计费 - 在 production/alpha/beta 中使用 android.test.purchased 测试购买

大数据MySQL数据库设计

javascript - Mocha bdd 风格测试命名