有关良好的自动化Web负载测试工具的建议吗?

时间:2010-06-04 07:00:53

标签: asp.net ajax load-testing stress-testing

用于负载测试(压力测试)的Web应用程序有哪些优秀的自动化工具,使用HTTP网络数据包的记录和重放?

我知道市场上有许多负载测试工具可以记录和重放HTTP网络数据包。但这些不适合我的目的,因为:

  • HTTP数据包格式在我们的应用程序中经常更改(例如,何时 我们优化了AJAX调用)。我们不想仅仅因为调整所有测试脚本 HTTP数据包格式略有变化。

  • 我们的测试团队不需要了解任何有关我们申请的内部人员 编写他们的测试脚本。但是,重放HTTP数据包的工具需要 团队知道HTTP请求和响应的格式,以便他们 可以调整重播的HTTP数据包的详细信息(例如用户名)。

我正在寻找的自动负载测试工具应该能够让测试团队编写“黑盒子”测试脚本,例如:

  • 通过网址 http:// ...
  • 调用网页
  • 首先,在文本字段 XXX 中输入 XXX
  • 然后,按下按钮 XXX
  • 等到从Web服务器收到响应。
  • 确认文本字段 XXX 现在包含 XXX 文本。

该工具应该能够模拟多达1000个用户,并且应该与使用ASP.NET和AJAX的Web应用程序兼容。

5 个答案:

答案 0 :(得分:2)

JMeter我发现它非常有用,它还具有录制用例的录制功能,因此您不必手动指定每个GET / POST,而是“单击”用例一次然后让JMeter重复它。
http://jmeter.apache.org/

答案 1 :(得分:1)

许可证可能很昂贵(如果你没有MSDN),但Visual Studio 2010 Ultimate版本有一套很棒的负载和压力测试工具可以完成你所描述的工作。 You can try it out for free for 90 days here.

答案 2 :(得分:0)

有几种方法;然而,我遇到过这种情况,我不得不推出自己的负载生成实用程序。

就您的测试脚本而言,它涉及:

  • 向http:// 表单输入页面发送GET请求(仅检查是否给出了200响应)
  • 向http:// 表单提交页面发送POST请求,并为文本XXX预先生成键/值对,并对响应执行正则表达式检查

除非您的网页是复杂的AJAX,否则无需“模拟按下按钮” - 这将由POST请求处理。

鉴于您的测试只包含两个步骤,应该有几个可以执行此操作的自动加载包。

我之前使用httperf对大型网站进行负载测试:它可以模拟由多个请求组成的会话,并可以同时模拟大量用户(即会话)。例如,如果您的网站从主页生成了会话cookie,您可以将其作为第一个请求,那么httperf会将该cookie用于后续请求,直到它完成了所提供的请求列表。

答案 3 :(得分:0)

PushToTest.com的TestMaker可以运行Selenium等记录脚本以及HTML,Java,Ruby,Groovy,.Net,VB,PHP等许多不同的语言。它有一个通用的报告基础设施,你可以创建负载在您的测试实验室中或使用EC2等云测试环境进行虚拟测试实验。

他们每月提供免费的网络研讨会,使用开源测试工具,下周二有一个。

http://www.pushtotest.com

答案 4 :(得分:0)