【问题标题】:Whats a great way to perfom integration testing?执行集成测试的好方法是什么?
【发布时间】:2009-05-11 18:42:30
【问题描述】:

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

该工具用于

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

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

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

问题如下:

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

我期待人们的建议/cmets。

提前致谢,

大卫

【问题讨论】:

  • 您是否打算使用持续集成测试?
  • 我不是有意提出这个问题,但我相信至少有一些开发/c# 经验对测试人员来说是非常有益的。这可能是他们在开发部门学习一点技能的时候了。
  • @McWaffletix - 我们编写的自定义工具在通过 CC.NET 签入代码时运行,因此它将连续运行:)。 @Greg D - 我完全同意 :) 但是我们的测试人员没有!问题在于说服他们 C# 很有趣。这是一个彻底的思想转变,我们不断地得到“我们不是开发人员”......

标签: c# .net integration-testing


【解决方案1】:

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

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

我参与的项目成功地将SahiSelenium 用于Web 应用程序的AFT,white 用于.NET WPF 或winforms 应用程序的AFT,swtBot 用于Eclipse 富客户端应用程序的AFT 和@987654325 @ 代表 Java swing 应用的 AFT。

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

需要考虑的因素:

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

捕捉到一些细微差别here

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

【讨论】:

  • 这就是我们最终的目标。我们创建了一个类似于 WCFTestClient.exe 的 Web 应用程序,尽管允许复杂类型,因此我们可以使用 selenium 在 UI 级别执行集成测试:)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    它尚未结束 Beta 版,但 StoryTeller 看起来很有希望:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多