2012-09-03 45 views
0

总结集成测试 - 模仿预期延迟

如何创建“一体化”试验模拟从外部系统预计延迟?

详细

我有一个应用程序的“主”,与多个外部系统通信(通过Web服务),我称之为“伙伴”。

我对合作伙伴的内部工作没有兴趣,但我需要完全测试Main。

对于主我目前有:

  • 为每个单独的可测试的块单元测试[在每一个“水平”,以便测试在每类中的每个公共的方法(n层)和短截线每个依赖]
  • 从自上而下的测试(所以测试的表示层和存根只有这些合作伙伴的Web服务的所有公共方法)

我也想是创建一些集成测试集成测试,以确保代码中主要提供正确的表演即

什么是“正确性能”?那么,产品经理可以说“所有视图必须在2秒内返回数据”。我知道(通常情况下)给合作伙伴的电话需要(比如说)1.5秒,所以我可以用0.5秒内完成主代码(2 - 1.5)时通过的秒表写我的集成测试。然而,在与同事的讨论中,有人建议合作伙伴的存根应该包含1.5秒的预期延迟,因此我的测试应该是主代码加上合​​作伙伴的存根应在PM指定的2秒内完成。

的QU:

  1. 什么是建议的行为吗?
  2. 如果如所暗示的那样,使用Rino Mocks进行剪枝是如何实现的?

谢谢大家

格里夫

+0

当确定运行时间时,请记住它们取决于运行它们的机器 - 构建服务器可能会比开发人员机器(或反之亦然)。 – seldary

+0

这是一个非常好的观点,让我怀疑这是否是错误的方法。 – DrGriff

回答

0

毫无意义 “的视图都必须在2秒内恢复数据”。在限制响应时间时,您还应该考虑负载。当每10秒会有一个请求时,您的视图可能会在2秒内返回。但是当每秒会有10k个请求时,你的响应时间将会“略微”增长。更好的性能要求是“当负载低于每秒z请求时x%的响应时间不会超过y秒”或类似的东西。

单元测试延迟也没有意义。你应该运行全面的性能测试。选择一个现有的工具,准备一些客户端节点(由该工具控制),运行记录/脚本客户端对被测服务器的请求,并检查响应时间,CPU和内存使用情况。然后将一个或多个模式节点添加到您的系统中,并检查系统如何缩放