据我所知,ATDD是从QC/QA的角度来测试整个过程的。这种对整个过程的测试,不同模块如何集成,听起来像是集成测试的定义。验收测试驱动开发与集成测试有什么不同?或者它们是同义词?
发布于 2014-04-18 07:28:29
您对ATDD的理解是错误的。您确实描述了集成测试,而不是ATDD。
请阅读此link中的以下代码片段
验收测试驱动开发是一种实践,在这种实践中,整个团队通过示例协作讨论验收标准,然后在开发开始之前将其提炼成一组具体的验收测试。这是我所知道的最好的方法,以确保我们所有人都对我们实际正在构建的东西有相同的共同理解。这也是我所知道的确保我们对完成有一个共同的定义的最好方法。
在实践中,您将您的客户、开发人员、QA都放在一个房间中,您可以讨论特定的功能。客户描述了新的功能,并将其提炼成许多验收测试。
有各种自动测试驱动开发框架(JBehave,Cucumber,spec flow等),你可以使用它们来自动化这些测试,并根据你的代码运行它们。大多数都使用一种公共语言,比如gherkin,它的形式是给定、当、然后。
例如:
Scenario: Simple Addition
Given a calculator I just turned on
When I add 4 and 5
Then the result is 9在这些框架中,我们设置映射到此示例的每一行的步骤。一个用于设置计算器,一个用于加法,另一个用于断言期望值与实际值匹配。显然,这些可能会更加复杂。
这给了我们一个测试失败,直到功能已经实现到每个人都同意的规范。当测试通过时,功能就完成了。
https://stackoverflow.com/questions/22564035
复制相似问题