2014-03-04 18 views
1

我有两个不同的应用程序实现,它应该为相同的请求返回相同的结果。第二个实现是重写应用程序,因此我们可以将第一个实现作为参考。重播多个服务器上的HTTP请求并比较结果

我有想通过比较从第一次执行的结果和第一次执行的结果来测试第二次执行的想法。

理想情况下,我想对大量的HTTP请求执行此操作,从操作部署记录(使用某个代理来记录或访问日志)。

我找了一套工具,使得这种情况可能没有太多的编码(另一种方法是,我可以写一个工具来为我做这个):

  1. 对生产记录的请求(访问日志,查尔斯代理等)
  2. 重播两台服务器上请求
  3. 检测到任何差异返回的响应

我已经看到了真实世界的负载测试类似的方法(使用JMeter重播访问日志,或Charles Proxy所做的),但我还需要测试的结果的比较结果的功能

目标系统位于Java实现系列(Servlet容器,JSP,log4j等),如果这可能与答案有关,但我认为这是一个纯粹的HTTP,网络和功能测试问题,该解决方案可能与服务器类型和实现无关。

回答

1

Jmeter将是一个很好的开始。你可以拥有它replay your access log,它可以选择添加断言。 编辑: 进一步研究它之后。您可以添加两个访问日志采样器,这两个访问日志采样器可以读取相同的日志并激活两台不同的服务器将一个后处理器节点添加到每个提取主体并将其分配给变量的后处理器节点。然后你可以使用断言来比较两者。 Read about using those elements