4

我正在考虑如何构建验收测试的两种不同方法。我们有一个调用服务层的 Silverlight 项目(我拥有双方)。由于 Silverlight 的方式,调用 Silverlight 程序集的测试代码必须位于与其他非 Silverlight 测试不同的测试项目中。

1) 采用我们提出的所有验收标准并将它们放入功能文件中。使用标签标记场景以指定它们将在其中运行的环境(@server、@client 等)。在功能文件中也包括手动测试,并用@manual 标签标记它们。

优点:由 BA 编写的所有测试都将集中在一个地方供他们查看和编辑

缺点:使用单元测试或集成测试来测试某些场景可能更有意义,而 NUnit 可能是比 SpecFlow 更好的工具

2) 为所有内容编写验收标准,然后在 SpecFlow 中自动化一些,一些使用单元测试,一些使用集成测试等。只有 SpecFlow 自动化的场景才会在 SpecFlow 中。我们可以将单元测试、集成测试或手动测试的场景放在功能文件中,但这些场景实际上不会运行任何代码,它们只是用于文档目的。

优点:开发人员的摩擦和开销更少。我们将使用我们为每个测试提供的最佳工具来自动化不同的测试。

缺点:我们必须让 SpecFlow 不运行的场景与任何自动化它们的代码保持同步。

想法?还有另一种我没有想到的方法吗?你怎么做呢?

4

2 回答 2

0

从测试的角度来看,我认为您在这里有两个不同的项目。

理论上,您的服务可以由 Silverlight 应用程序以外的其他东西调用。它可能是一个 HTML5 应用程序,其他一些用 Java 编写的 MVC 容器等等。所以我会自己编写场景/规范/你有什么服务。

同样,您的 Silverlight 应用程序可以与模拟的服务层进行交互。这将是您的 NUnit 等。然后您将在 SpecFlow/Cucumber 中进行额外的验收测试,这些测试将是“集成”测试,显示整个应用程序将如何对用户起作用。

于 2011-11-14T13:18:17.550 回答
0

将此类问题发布到程序员站点可能会更幸运,因为这是一个概念性讨论,而不是特定的技术查询。

于 2011-12-30T16:17:56.003 回答