51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 成功的 Web 应用系统性能测试[3]

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-8-13 11:14:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
性能测试脚本是描述单个浏览器向Web服务器发送的HTTP请求序列。每个性能测试工具(如IBM Rational

Performance Tester, LoadRunner)所提供的测试脚本语法是不同的。测试人员利用性能测试工具可从

头手工编写测试脚本,也可以通过录制浏览器和Web服务器之间的网络通信数据而自动形成测试脚本。
   任何性能测试工具都不能保证录制形成的性能测试脚本的正确性,测试人员应通过在单用户下运行性

能测试脚本对其正确性进行验证。测试脚本不正确的一个重要原因就是脚本的数据关联不正确,也就是

并没完全建立一个测试请求和前面的响应内容之间的关联。测试脚本HTTP请求和响应之间的数据关联是

否正确的一个重要标准是单用户运行脚本,脚本能完成期望的功能。
   在完成性能测试脚本的数据关联后,需要对脚本进行参数化,也就是把脚本中的某些请求数据替换成

变量,变量的值来于一个独立的数据文件,从而保证在多虚拟用户运行脚本的情况下,每个虚拟用户所

提交的数据是不同的。
   此外,为了测试Web应用的可靠性,还需要对请求所收到的响应进行验证(比如验证响应的HTTP返回

码或验证响应的内容),便于性能测试完成后统计请求成功率。
   2.3 建立性能测试负载模型
   性能测试负载模型定义了测试工具如何向Web应用系统提交请求,包括向Web应用系统发送请求的虚拟

用户数,每个虚拟用户发送请求的速度和频率。针对前面介绍的网上购物系统的性能测试需求,在性能

测试工具中定义的性能测试负载模型应包括如下信息:
   虚拟用户数:性能测试不仅仅是执行一次,而且每次执行时虚拟用户数也不固定,因此在性能测试负

载模型中定义的虚拟用户数将在测试执行时进行设置。
   虚拟用户发送请求的思考时间和迭代次数:虚拟用户发送请求的思考时间长短是决定Web应用系统负

载量的重要因素之一,而迭代次数将决定性能测试的执行持续时间。对基于在线用户的性能测试需求,

将基于录制脚本时记录的思考时间,而且由于现实中不同用户访问系统的思考时间不同,可把思考时间

设置为在一定范围内的随机值。对于基于吞吐量的性能测试需求,将把思考时间设置为零,此时Web应用

系统的在线用户数量将等于并发用户数。同时,为了避免性能测试压力的随机性,将增加请求的迭代次

数来增加测试执行持续时间,从而获得系统在稳定压力下的性能数据。
   虚拟用户启动模式:在现实中,Web应用系统的用户不太可能同时做相同的操作,因此为了让Web应用

系统所承担的压力随时间均匀分布,中国IT室验实建议

虚拟用户依次启动,同时也避免大量用户同时登录造成系统阻塞。以10个虚拟用户模拟下定单为例,可

设置每个虚拟用户间隔30秒启动,这样10个虚拟用户可在5分钟后完成启动,并保证10个虚拟用户不会在

同一时刻下定单,从而更符合实际情况。
   2.4 执行性能测试
   执行性能测试是指通过多次运行性能测试负载模型,获得系统的性能数据。在执行过程中,需利用测

试工具、操作系统、系统软件(如Web Server或DB Server)提供的资源监控手段对资源进行监控和分析

,帮助发现资源瓶颈,并在系统层面进行优化。同时,还需对应用进行性能分析,帮助定位应用代码中

的性能问题,切实解决系统的性能问题。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 04:39 , Processed in 0.066352 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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