论基于Java的Web应用程序的性能测试

发表于:2010-8-02 14:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:tyler_choi    来源:51Testing软件测试网采编

分享:

  3.性能测试的实现

  性能测试,大多数的测试只有借助测试工具才能完成。目前,广泛使用的性能测试工具大多是商业软件,如mercuryinteractive公司的loadrunner、AstraLoadTest,Compuware公司的QALoad,IBMRational公司的TeamTest。本文选用的用Mercury公司的自动化性能测试工具loadrunner,在WindowsXP,MySql数据库的测试环境下进行性能测试。

  (1)性能测试设计

  Loadrunner是一个可以进行自动化测试执行,并对测试的数据进行分析,从而得到系统瓶颈的行业标准的性能测试解决方案。有以下三部分组成:VuGen用来录制虚拟用户的脚本。Controller用来执行脚本并且对整个测试过程进行监控。Analysis提供图和报表来显示测试结果。

  具体方法:首先通过使用VuGen(虚拟用户生成器)录制用户在客户端应用程序中执行的典型业务流程来开发Vuser脚本。VuGen还可以运行脚本,为了成功的把脚本集成到LoadRunner方案中,在录制了基本的Vuser脚本以后,还要对脚本进行增强及编辑,设置好运行时环境后,以独立模式运行Vuser脚本。其次通过Controller从一个单一的控制点简单有效地控制所有的Vuser。导入测试脚本,在方案(描述测试会话期间发生的事情)中配置好Vuser的计算机列表、运行Vuser脚本的列表以及在方案执行期间运行的指定数量的Vuser或Vuser组。执行方案时,Controller将该方案中的每个Vuser分散到负载生成器,负载生成器是执行Vuser脚本,从而使Vuser可以模拟实际用户操作的计算机。在运行的同时,还可以用LoadRunner的性能监视器来监视方案的执行。最后,Analysis把在方案执行期间,LoadRunner纪录下来的不同负载下的应用程序性能,以图和报表显示出来。从而可以方便的分析出应用程序的性能。

  (2)性能测试数据的准备

  通过使用最少的硬件资源,为所有VUSER提供一致的、可重复并可度量的负载,像实际用户一样使用开发的应用程序,这是Loadrunner的一大特点及优势。在提供负载时,除了准备一些比较有代表性的数据,还要注意测试脚本的重用问题。一个是关联,即通过参数化,来实现测试用例的充分利用。另一个是ip欺骗因为当运行场景时,虚拟用户使用它们所在的负载生成器的固定的IP地址。每个LoadGenerator上(同时)运行大量的虚拟用户,这样就造成了大量的用户使用同一IP同时访问一个网站的情况,这种情况和实际运行的情况不符,并且有一些网站会限制同一个IP的登陆。为了更加真实的模拟实际情况,LoadRunner允许运行的虚拟用户使用不同的IP访问同一网站,这种技术称为“IP欺骗”。

  (3)性能测试执行

  在测试计划、测试环境及测试数据准备好以后就可以进行测试。Controller通过远程代理调度程序启动负载生成器计算机上的应用程序。通过代理Controller和负载生成器互相通信。运行方案时,Controller指示远程代理调度程序启动LoadRunner代理。该代理根据从Controller接受到的指令来初始化、运行、暂停和停止各个Vuser。同时,该代理还将各个Vuaer的状态数据传回Controller。

  (4)性能测试评估

  在应用程序的测试测试结束后,可以对应其各个性能指标来分析系统的可用性。有许多因素能够影响系统的性能指标,如测试环境、网络、应用的数据库和中间件的使用及它们之间的关联应用。其中任何一个环节都可能造成整个系统的可用性。LoadrunnerController通过隔离并标识潜在的客户端、网络和服务器瓶颈。监视负载下的网络和服务器资源,检查出现性能延迟的地方:网络或客户端延迟、CPU性能、I/O延迟、数据锁定或服务器上的其他问题。在进行web应用测试中,LOADRUNNER提供的性能指标有每秒点击次数吞吐量每秒HTTP响应数、每秒下载页面数每秒连接数。同时。用户通过在LOARUNNERANALYSIS中看到这些性能指标的图或报表,很方便的分析各部分的性能状况。

  4.总结

  任何软件的测试结果都不是只与应用程序本身有关,特别是性能测试,还与其测试硬件环境、软件环境、测试方法及测试工具有关,因此在进行测试之前、一定要了解应用程序的使用及运行的约束条件。LoadrunnerController通过使用虚拟用户技术来达到并发的目的,这个测试属于黑盒测试,测试人员不需要对程序代码有很深刻的了解。通过模拟真实用户对系统的访问,可以帮助系统分析员提早发现系统的瓶颈,从而优化各部分的软硬件配置。

22/2<12
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号