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

标签 c# .net integration-testing

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

该工具用于

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

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

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

题目如下:

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

我期待人们的建议/意见。

提前致谢

大卫

最佳答案

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

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

我曾参与成功使用 Sahi 的项目或 Selenium对于网络应用程序的 AFT,white适用于 .NET WPF 或 winforms 应用程序的 AFT,swtBot用于 Eclipse 富客户端应用程序的 AFT 和 frankenstein用于 Java swing 应用程序的 AFT。

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

要考虑的因素:

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

捕获了一些细微差别 here .

全面披露:作者与上述大部分(并非全部)免费和开源工具背后的组织有关联。

关于c# - 执行集成测试的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/849467/

相关文章:

c# - Parallel.ForEach 和聚合异常

C# Flag 获取组合标志的值

c# - 用C#中的正则表达式替换连接字符串中的密码

c#连续读取文件

.net - 在 GAC 部署的程序集中测试代码

c# - 在 C# 中从没有颜色对象的像素中提取 RGB

java - Rhapsody 插件测试

unit-testing - 测试 - 命名法

testing - 针对数据库验证 grails 域类

c# - 潜在的 .NET x86 JIT 问题?