什么是进行集成测试的好方法?

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

该工具用于

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

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

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

问题如下:

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

我期待着各国人民的建议/意见。

提前致谢,

大卫

集成测试可以在用户界面级别(通过自动function测试 – AFT )或服务/ api接口级别完成。

两种情况都有几种工具:

我曾参与过成功使用Sahi或Selenium进行Web应用程序AFT的项目, 白色用于.NET WPF或winforms应用程序的AFT,用于Eclipse Rich客户端应用程序的AFT的swtBot以及用于Java swing应用程序的AFT的frankenstein 。

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

要考虑的因素:

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

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

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

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

它尚未脱离Beta,但StoryTeller看起来很有希望: