BDD与测试管理器或编码的UI测试

时间:2011-06-27 17:36:41

标签: testing bdd specflow

您是否有使用Microsoft的测试管理器或编码的UI测试进行真正的BDD(甚至是TDD)的经验?

我对这些工具不太熟悉,因为我们一直在使用SpecFlow和WatiN进行BDD。 我们组织中的一个团队正在提出测试管理器,但我担心他们错误地编写测试的能力,实际上是在做一个小的测试FIRST,然后编写最小的代码来通过测试。

他们向我们展示的示例是在测试管理器中写出测试用例,启动UI并记录测试的功能。显然,这不是BDD。可以使用测试管理器完成真正的BDD吗?

任何想法都表示赞赏。 谢谢, 将

哇,差不多一个星期,没有回复。我是否可以认为NOBODY使用TestManager是因为它是QA工具而不是开发人员工具?

2 个答案:

答案 0 :(得分:3)

测试管理器和编码UI测试更多用于功能测试。 MTM中的测试用例没有像specflow那样描述该功能的行为。我猜你在测试用例中的措辞可能会更加通用,所以你可以在编写代码之前编写它们,但这并不是真的由测试用例驱动。 specflow中的BDD可以工作,因为它为开发人员可以编码的每个步骤生成存根。要在MTM或CUIT中自动执行任何操作,您需要等到开发人员完成之后。

说可以一起使用Specflow和CUIT。根据你如何定义BDD(由行为规范驱动的开发?),它仍然不是真正的BDD,而且它不是TDD。这些只是条款。他们仍然有共同的价值。如果您对此感兴趣,我写了一篇关于如何让他们一起工作的博客。 http://rburnham.wordpress.com/2011/03/15/bdd-ui-automation-with-specflow-and-coded-ui-tests/

答案 1 :(得分:1)

我认为您无法使用测试管理器。正如您所指出的,它在很大程度上依赖于记录和播放类型的工作流程,这使得它变得不可能。

如果您使用MTM的编码UI功能(这是使用完全自动运行测试的唯一替代方法),您需要将测试规范“复制”到代码(使用单向生成),因此它将是很难维持变化。

您可以在任何其他BDD工具(例如SpecFlow)中使用Coded UI作为UI驱动程序来驱动您的app。