BDD 可以用于大数据 ETL 测试吗?
Can BDD work for Big Data ETL testing?
我在想是否有人使用 BDD 来测试大数据 ETL 应用程序?
我可以看到 BDD 如何用于测试与客户端交互的应用程序,但在大数据 ETL 应用程序的情况下,没有客户端交互,因此很难看出 'When' 我可能会使用什么。
例如:
给 100 个 A 类事件发生
5 分钟后发生 50 次 B 类事件
那么数据库行应该是:
|类型|计数|桶|
|A|100|1|
|B|50|2|
但这似乎是错误的。
任何有见识的人?
能否举例说明您希望在 ETL 输出中看到的内容?
您可以对此做出一些回应。一个可能是您期望的不同类型的数据库行,事实上其中一些行可能会重复,但其他行不会。这让我觉得很奇怪,但如果您习惯于使用星型模式,那么您可能会注意到其他差异。
通常我会引导人们远离谈论数据库,但如果你正在使用星型模式,我认为提及事实和维度是可以的(我没有经常使用 ETL,但是我确实记得讨论过这些的具体示例以及我希望看到的内容)。
替代方法是使用客户端。
我看到你说没有客户;但是,总是 一个客户,即使将来可能存在。对 ETL 的影响 运行 涉及安全、性能和访问等方面。有一个客户是值得的,即使它是一个基于字符串或基于 SQL 的玩具,来探索可能会绊倒你的东西。
你为什么要这样做?企业、用户或客户可以做的事情有什么新的,而他们已经不能做?你能举个例子吗?
"We'll be able to understand how X is performing against Y standard."
太棒了。你能给我一个 X、Y 和标准的例子吗?你将如何衡量绩效?您要查找哪些数据?每个人都应该能够看到该数据吗?您能想到任何人不应该访问它的场景吗?
这些示例成为场景的 ETL 等价物;对话保持相同的模式。您只是最终在不同的级别上将它们自动化,因为您的 API 是面向机器而不是面向人的,并且您的一些对话将是关于监控而不是测试。你的谈话应该仍然是与人。
您的 "when" 将是您 运行 在您 运行 的数据、权限和安全上下文中进行的查询或报告。
BDD 始终适用于大数据中的应用程序逻辑space。记住测试三角原则。进行单元测试。练习 BDD 并使用 BDD 并在您的冲刺中构建您的集成和验收测试。不建议在外部维护您的测试数据,因此验证所有移动部件的 E2E 流程需要轻量级。如果允许的话,练习 TDD 模型。
我在想是否有人使用 BDD 来测试大数据 ETL 应用程序? 我可以看到 BDD 如何用于测试与客户端交互的应用程序,但在大数据 ETL 应用程序的情况下,没有客户端交互,因此很难看出 'When' 我可能会使用什么。 例如: 给 100 个 A 类事件发生 5 分钟后发生 50 次 B 类事件 那么数据库行应该是: |类型|计数|桶| |A|100|1| |B|50|2|
但这似乎是错误的。 任何有见识的人?
能否举例说明您希望在 ETL 输出中看到的内容?
您可以对此做出一些回应。一个可能是您期望的不同类型的数据库行,事实上其中一些行可能会重复,但其他行不会。这让我觉得很奇怪,但如果您习惯于使用星型模式,那么您可能会注意到其他差异。
通常我会引导人们远离谈论数据库,但如果你正在使用星型模式,我认为提及事实和维度是可以的(我没有经常使用 ETL,但是我确实记得讨论过这些的具体示例以及我希望看到的内容)。
替代方法是使用客户端。
我看到你说没有客户;但是,总是 一个客户,即使将来可能存在。对 ETL 的影响 运行 涉及安全、性能和访问等方面。有一个客户是值得的,即使它是一个基于字符串或基于 SQL 的玩具,来探索可能会绊倒你的东西。
你为什么要这样做?企业、用户或客户可以做的事情有什么新的,而他们已经不能做?你能举个例子吗?
"We'll be able to understand how X is performing against Y standard."
太棒了。你能给我一个 X、Y 和标准的例子吗?你将如何衡量绩效?您要查找哪些数据?每个人都应该能够看到该数据吗?您能想到任何人不应该访问它的场景吗?
这些示例成为场景的 ETL 等价物;对话保持相同的模式。您只是最终在不同的级别上将它们自动化,因为您的 API 是面向机器而不是面向人的,并且您的一些对话将是关于监控而不是测试。你的谈话应该仍然是与人。
您的 "when" 将是您 运行 在您 运行 的数据、权限和安全上下文中进行的查询或报告。
BDD 始终适用于大数据中的应用程序逻辑space。记住测试三角原则。进行单元测试。练习 BDD 并使用 BDD 并在您的冲刺中构建您的集成和验收测试。不建议在外部维护您的测试数据,因此验证所有移动部件的 E2E 流程需要轻量级。如果允许的话,练习 TDD 模型。