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

时间:2009-05-11 18:42:30

标签: c# .net integration-testing

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

该工具用于

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

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

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

问题如下:

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

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

提前致谢,

大卫

3 个答案:

答案 0 :(得分:12)

集成测试可以在用户界面级别(通过自动功能测试 - AFT )或service / api接口级别完成。

两种情况都有几种工具:

我参与了成功使用SahiSelenium进行网络应用AFT的项目,white用于.NET WPF的AFT或winforms应用,swtBot用于AFT Eclipse Rich客户端应用程序和frankenstein用于Java swing应用程序的AFT。

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

要考虑的因素:

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

捕获了一些细微差别here

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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