具有外部依赖项的性能测试

时间:2019-12-15 05:25:10

标签: performance-testing stub external-dependencies

在微服务领域中进行性能测试(主要是负载测试)时,您的应用程序依赖于外部依赖项(API)的方法是什么,但不受团队所有/控制。在我的情况下,外部依赖关系由同一公司内的团队拥有。那么,您将指向相应的“真实”集成非产品端点,还是创建存根并模拟它们的响应时间以尽可能匹配生产?

  • 第一种方法示例:您的团队拥有的后端api,并调用外部api来验证客户。您的团队无法控制客户的api,但是在运行负载测试时,您仍然指向其集成测试端点。
  • 第二种方法示例:您的团队拥有的后端api调用存根,该存根发送静态响应并模拟外部客户api的响应时间。

我意识到这两种方法各有利弊,根据测试的目标,一种方法会胜过另一种方法。但是您最喜欢的是什么?不一定是上述两者之间的选择。可以是完全不同的。

1 个答案:

答案 0 :(得分:2)

识别被测系统(或应用程序)很重要。如果您要衡量您自己的微服务的性能,则可以考虑使用存根选项。

但是,通常会进行性能测试以评估整个系统的性能。通常目的是模拟实际使用中的延迟。对此建模进行精确建模的唯一方法是存根并使用“真实”集成端点。这种方法还有其他优点,因为它可以帮助您识别潜在的系统性能瓶颈,例如微服务之间的链接同步调用(服务A调用B和B调用C和C调用D等)。这些测试也可以重新用于负载测试。

简而言之,您需要同时进行以下操作以确保:

  1. 微服务正在SLA中执行
  2. 各种SLA在整个SLA中执行。