ATDD与集成测试

时间:2014-03-21 16:19:05

标签: integration-testing atdd

据我了解,ATDD来自QC / QA视角并测试了整个过程。对整个过程的测试,不同模块如何集成,听起来像是集成测试的定义。验收测试驱动开发与集成测试有何不同?或者他们是同义词吗?

1 个答案:

答案 0 :(得分:2)

您对ATDD的理解不正确。您确实描述过集成测试而不是ATDD。

请阅读此link

中的以下代码段
  

验收测试驱动开发(ATDD)是一个实践,整个团队通过实例协作讨论验收标准,然后在开发之前将它们提炼成一组具体的验收测试。这是我所知道的最好的方式,以确保我们对我们实际构建的内容有相同的共识。这也是我所知道的最好的方法,以确保我们有一个完整的Done定义。

在实践中,您将客户,Dev,QA全部放在一个房间内,然后讨论特定功能。客户描述了新功能,并将其提炼为许多验收测试。

有各种ATDD框架(JBehave,Cucumber,spec flow等),您可以使用这些框架自动执行这些测试并针对您的代码运行它们。大多数人使用一种共同的语言,如小黄瓜,采取GIVEN,WHEN,THEN的形式。

例如:

Scenario: Simple Addition
Given a calculator I just turned on
When I add 4 and 5
Then the result is 9

在这些框架中,我们设置了映射到此示例的每一行的步骤。一个用于设置计算器,一个用于加法,一个用于断言期望值与实际值匹配。显然这些可能更复杂。

这给我们一个测试失败,直到该功能已经实现到每个人都同意的规范。测试通过后,功能完成。