24

我们已经编写了自己的集成测试工具,我们可以在其中编写许多“操作”或测试,例如“GenerateOrders”。我们有许多参数可以用来配置测试(例如订单数)。然后我们编写第二个操作来确认测试已经通过/失败(即有(nt)个订单)。

该工具用于

  • 集成测试
  • 数据生成
  • 端到端测试(通过混合和匹配多个测试)

它似乎运行良好,但是需要开发经验来维护和编写新的测试。我们的测试团队想参与进来,他们几乎没有 C# 开发经验。

我们即将开始一个新的 Greenfield 项目,我正在研究编写和维护集成测试的最佳方式。

问题如下:

  • 你如何进行集成测试?
  • 您使用什么工具(FitNess?、Custom?、NUnit)?

我期待着人们的建议/评论。

提前致谢,

大卫

4

3 回答 3

12

集成测试可以在用户界面级别(通过自动化功能测试 - AFT)或服务/API 界面级别完成。

在这两种情况下都有几个工具:

我参与的项目成功使用SahiSelenium进行 Web 应用程序的 AFT,white用于 .NET WPF 或 winforms 应用程序的 AFT,swtBot用于 Eclipse 富客户端应用程序的 AFT 以及frankenstein用于 Java swing 应用程序的 AFT。

Fitnesse 对于服务/api 级别测试或在 UI 下方运行的测试很有用。如果做得好,它的优势是具有业务可读的测试,即非开发人员可以阅读和理解测试。NUnit 之类的工具在此用途上的用处不大。SOAPUI特别适合测试 SOAP Web 服务。

需要考虑的因素:

  • 持续时间:你能忍受 8 小时的试运行吗?
  • 脆弱性:AFT 对于不断发展的应用程序可能非常脆弱(例如,小部件的 id 和位置可能会改变)。需要足够的技能和努力才能不对变化的部分进行硬编码。
  • 保真度:您希望它与现实世界有多接近?例如,您可能不得不模拟与支付网关的交互,除非提供商为您提供了一个测试环境,您可以使用您的测试进行测试。

这里捕捉到了一些细微差别。

全面披露:作者与上述大多数(不是全部)免费和开源工具背后的组织有关。

于 2009-05-14T08:56:09.470 回答
2

您可以尝试使用Concordion框架在 HTML 文件中编写用户验收测试。它采用 BDD 风格的方法。还有一个.Net端口

于 2009-06-12T23:11:54.977 回答
1

它还没有结束 Beta 测试,但StoryTeller看起来很有希望:

于 2009-05-14T07:55:08.977 回答