Cucumber 将BDD测试应用于批处理场景?
我正在尝试将BDD实践应用到我的组织中。我在一家银行工作,那里的夜间批处理作业是一个庞大的协调多系统批处理作业流,它们在彼此之间运行和传递数据 在我们的测试过程中,交互式在线测试可能只占测试场景的40-50%,而其余的则嵌入到批处理作业中。例如,测试场景可能是:Cucumber 将BDD测试应用于批处理场景?,cucumber,tdd,batch-processing,bdd,atdd,Cucumber,Tdd,Batch Processing,Bdd,Atdd,我正在尝试将BDD实践应用到我的组织中。我在一家银行工作,那里的夜间批处理作业是一个庞大的协调多系统批处理作业流,它们在彼此之间运行和传递数据 在我们的测试过程中,交互式在线测试可能只占测试场景的40-50%,而其余的则嵌入到批处理作业中。例如,测试场景可能是: 考虑到我的储蓄账户到晚上10点有100美元的余额 当夜间批次在晚上11点运行时 然后在分批运行完成后的凌晨3点,我应该回来看看,我有一个额外的应计利息$0.001 银行的总分类账应增加0.001美元的应计利息分录 如您所见,这是一个非常
我想做的是找到一种方法,利用BDD框架来自动化测试执行并捕获结果,这样我们就不必在环境中手动跟踪它们了。我觉得您似乎无法控制场景的执行 显然,在验证结果之前等待几个小时不是一个好主意 是否可以仅提取该场景中感兴趣的批处理部分?如果这是可能的话,那么我预计执行时间不会达到4-6小时 如果无法单独执行所需的功能,则系统的测试能力会出现问题。这是非常常见的,也是您真正想要解决的问题。如果测试的唯一方法是运行整个系统,那么您不能自信地说它工作正常,因为所有需要测试的组合都很难执行,有时甚至不可能执行
不幸的是,似乎不存在快速解决办法。您需要处于能够验证系统小部件的位置,以便快速可靠地验证它们。不管你使用的是黄瓜还是任何其他工具,为了验证,所有的工具都会有同样的问题。 < P>一种方法,你可以考虑使用一个报告过程来查询每一批运行的结果。然后,它会将您感兴趣的结果(即来自测试的结果)存储到测试分析数据库中 我假设每个批处理运行都有一个唯一的标识符。该标识符将用作测试结果的键 下面是一个它可能如何工作的示例:
- 我们知道批处理运行何时完成(假设这是在凌晨4点)。我们计划在批处理运行完成后(比如上午5点)开始报告作业,以分析测试帐户
- 报告作业查看帐户X和帐户Y。它将帐户中的金额记录在一个表中,与批处理运行的唯一标识符一起。该信息存储在测试结果数据库中
- 一个单独的过程将测试场景与测试结果相匹配。它知道测试场景29与批处理运行ZZ20相关联,因此在测试结果数据库中查找批处理运行ZZ20的分析
- 早上,测试工程师检查运行结果。他们发现测试场景29失败,因为账户X中只有100英镑,而不是预期的100.001英镑
此设置允许您同步处理异步批处理运行。不过,配置起来很有挑战性,因为您需要围绕报告和将测试场景与测试结果链接起来进行大量自动化操作。您好,我已经解释了为什么不描述可以单独运行的场景。但是它用了太多的词,因此我把它添加到了主要问题中。非常感谢。