Asp.net Net压力测试的实际应用

Asp.net Net压力测试的实际应用,asp.net,performance,load,stress-testing,qa,Asp.net,Performance,Load,Stress Testing,Qa,我在这里读到了一些关于压力测试的问题,人们通常会推荐这些问题 ab 硒 吉米特 openSTA 但这些似乎都是基于Apache、Java和脚本等 Selenium似乎是最好的选择,因为您可以记录站点的实际使用情况,模拟UI加载和数据库请求等,然后反复播放。如果你想模拟100个用户使用你的应用程序,我不确定你如何测试你的应用程序。我知道你应该把它放在另外15台电脑上,然后运行自动化系统,但这真的不可行 其中一些应用程序实际上只是测试所有页面的HTTPResponse,但这并不真正模拟数据库调用

我在这里读到了一些关于压力测试的问题,人们通常会推荐这些问题

  • ab
  • 吉米特
  • openSTA
但这些似乎都是基于Apache、Java和脚本等

Selenium似乎是最好的选择,因为您可以记录站点的实际使用情况,模拟UI加载和数据库请求等,然后反复播放。如果你想模拟100个用户使用你的应用程序,我不确定你如何测试你的应用程序。我知道你应该把它放在另外15台电脑上,然后运行自动化系统,但这真的不可行

其中一些应用程序实际上只是测试所有页面的HTTPResponse,但这并不真正模拟数据库调用,例如,您可能有一个菜单,当用户单击它时,它会进行数据库调用。另一个问题是,你的应用程序中可能有一个页面需要参数,然后执行数据库请求,所以尽管你从加载测试的页面得到了很好的响应,但实际上测试并没有达到你想要的效果

是否有人有任何易于使用的模拟工具来测试一个有100个并发用户的应用程序,这些用户实际上使用该应用程序,而不仅仅是渲染测试。如果必须这样做,我不介意脚本工具,但请仅在有关于如何设置脚本工具的良好文档的情况下推荐它们,因为这是我遇到的另一个问题


感谢

看看selenium

负载测试工具,如OpenSTA和Jmeter,它们通过发送HTTP请求来模拟用户活动,因为在大多数情况下浏览器都是通过这种方式与服务器交互的。不需要实际的浏览器-您可以捕获将发出的请求,然后在协议级别进行播放。通过这种方式,您可以从一台PC上模拟多个用户。您需要参与一些脚本编写工作,通常是为了对发送的数据进行参数化,并检查页面内容是否正确


你的应用程序是否直接从浏览器调用数据库?如果是,它使用什么协议?通常,任何数据库调用都是通过某种http请求进行的。

我认为测试asp.net应用程序的挑战在于,实际的http调用通常不是很好使用-所有会话数据都编码在一个大的丑陋会话状态变量中,url中的参数不容易编写脚本。大多数负载测试工具都会处理会话状态变量,自动为您对其进行参数化,不管它有多大、多丑。