51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2048|回复: 0
打印 上一主题 下一主题

[讨论] WEB应用程序测试与优化

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-24 12:34:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
WEB应用程序的性能

首先,这里有两个web应用程序性能方面的重要指标。请注意,下面的“定义”并不规范,仅供参考。
* Response Time - 响应时间
从初始化请求到完成响应所用的时间。这是一个测试WEB应用程序速度的重要度量。
* Scalability - 伸缩性
一个可伸缩的应用程序的响应时间随负载的增加而线性增加。
没有WEB应用程序可以处理无限数目的请求,但是一般我们可以预测一个范围,并保证我们的WEB应用程序可以在此范围内“优雅”的伸缩,即始终把响应时间维持在可接受的级别。

如果我们打算优化我们的WEB应用程序,那么至少我们应该知道它到底该不该优化。压力测试可以解答这个问题。

* Load Test - 压力测试
为WEB应用程序模拟用户请求以测量其伸缩性的过程。
它非常有用,虽然开始的时候会觉得有点“变态”。一般我们会模拟大量的用户请求以获得在WEB应用程序的速度恶化到无法接受的级别前能够处理的并发请求数量。
所谓“无法接受的级别”并不是一定要到实例池崩溃、应用服务器瘫痪甚至服务器当机的时候,这要视需求而定。

一般压力测试包含如下步骤:
* 确定接受请求并完成响应的最大允许的延时。
* 估计WEB应用程序的最大并发用户数量。
* 模拟用户请求,以一个比较小的负载开始,逐渐增加模拟用户的数量,
直到WEB应用程序的 相应延时超过最大延时。
* 如果负载比估计的用户数量小,那么应该优化这个WEB程序,否则你选择性的执行优化。

你不会在考虑自己写一个测试程序吧?算了,何必再重新发明一次轮子?这里有一些压力测试工具,它们各有特色,先介绍免费的:
* Web Application Stress Tool, Microsoft, http://www.microsoft.com
* JMeter, Java Apache Project, http://www.apache.org/

如果你或你的公司很有Money,或者需要更加丰富的功能,可以使用以下商业软件,不过它们都价值$10,000,甚至更多:
* WebLoad, RadView Software, http://www.radview.com/
* SilkPerformer, Segue Software, http://www.segue.com/
* Benchmark Factory, Quest Software, http://www.benchmarkfactory.com/
* LoadRunner, Mercury Interactive, http://www.mercuryinteractive.com/

无论你选择哪种工具,它都至少应该提供以下的功能,以便为以提供丰富且有意义的测试数据:
* 发送GET和POST请求
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 00:46 , Processed in 0.068711 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表