如何使用SQL Server Dev Edition加速集成测试

时间:2013-04-01 21:22:01

标签: sql-server-2008 unit-testing c#-4.0 nunit resharper

我们有一套用C#和C ++开发的应用程序,并使用SQL Server作为后端。集成测试是使用NUnit开发的,运行时间超过两分钟。为了加速集成测试,我们使用以下内容:

  • 测试在同一工作站上运行,因此没有网络延迟
  • 在DataRam RAM磁盘上创建测试数据库,这是快速的
  • 测试装置并行运行,目前一次最多四个
  • 大多数测试数据是使用表值参数进行批量加载的。

还有什么方法可以加速自动化集成测试?

2 个答案:

答案 0 :(得分:0)

我知道这个问题非常非常老,但无论如何我都会发布我的答案。

这可能听起来很愚蠢但是:编写较少的集成测试和更多的单元测试。仅在您的应用程序边界进行集成测试(如在"当您将控制传递给您不拥有的代码时#34;)。

我对此的看法受到J.B. Reinsberger的启发。如果你愿意,你可以听听他就这个话题发表的演讲。他解释这个比我更好。以下是视频的链接:

http://vimeo.com/80533536

答案 1 :(得分:0)

我不喜欢这个答案,请写更少的集成测试,因为这是错误的。我们的应用程序数据量很大。我们的大多数代码都是围绕数据的逻辑。因此,如果没有集成测试,我们只能进行一些琐碎的单元测试(我认为仍然应该编写这些单元测试)。

我们的集成测试运行1小时。数以千计的测试。他们给我们带来了巨大的价值。

我认为您应该分析缓慢的测试以及为何缓慢。看看是否有多个测试可以重用数据而无需删除并重新创建数据。 将测试划分为多个区域,因此您不必总是运行每个测试。 使用现有的数据库快照而不是重新创建数据库。