如果有人使用BDD测试大数据ETL应用程序,我会徘徊吗? 我可以看到BDD如何用于测试客户端与它们交互的应用程序,但是在大数据ETL应用程序的情况下,没有客户端交互,因此很难看到我可能使用的“何时”。 例如: 发生100个A类事件 并且在5分钟后发生50次B型事件 那么数据库行应该是: |类型|伯爵|斗| | A | 100 | 1 | | B | 50 | 2 |
但这似乎不对。 有洞察力的人吗?
答案 0 :(得分:1)
您能举例说明您希望在ETL输出中看到的内容吗?
您可以为此提供一些回复。一个可能是您期望的不同类型的数据库行,以及其中一些可能会被重复但不会重复的事实。这让我感到很奇怪,但是如果你习惯使用星型模式,那么你可能会注意到其他差异。
通常我会引导人们谈论数据库,但是如果你正在使用星型模式,我认为可以提及事实和维度(我没有和ETL合作很多,但我做的很多)记得通过这些的具体例子和我期望看到的内容进行讨论。
另一种方法是使用客户端。
我看到你说没有客户;但是,总是一个客户端,即使它是未来可能存在的客户端。 ETL会对安全性,性能和访问权限产生影响。值得拥有一个客户端,即使它是一个基于字符串或基于SQL的玩具,也可以探索可能会让你失望的东西。
你为什么要这样做?企业或用户或客户在现有的情况下能够做到的事情有什么新内容,他们不能做到这一点?你能掌握一个例子吗?
“我们将能够理解X对Y标准的表现。”
大。你能给我一些X,一些Y和一些标准的例子吗?您将如何衡量绩效?你会找到什么数据?每个人都应该能够看到这些数据吗?你能想到有人不应该访问它的任何场景吗?
这些示例成为ETL等同于场景;对话保持相同的模式。您最终会在不同的级别自动化它们,因为您的API是面向机器而不是面向人,而您的一些对话将是关于监控而不是测试。你的谈话应该仍然是与人民的对话。
您的“when”将是您在运行它的数据,权限和安全上下文中运行的查询或报告。
答案 1 :(得分:0)
BDD始终适用于大数据空间内的应用程序逻辑。记住测试三角形的原理。进行单元测试。练习BDD,并在Sprint中使用BDD建立集成和验收测试。不建议从外部维护您的测试数据,因此在所有移动件中验证E2E流量都必须轻巧。如果允许,请实践TDD模型。