性能测试一直以来都是测试领域一个令人争议的话题。测试的参考标准、评判依据及测试的方法选择都很难有一个统一的说法。但无论如何,对于需要能够承受一定压力而运行的程序来说,进行其进行功能和性能测试是一个必不可少的过程。
工欲善其事,必先利其器。性能测试,很必要的准备是要利用工具简化测试的繁杂程度。减轻人工操作的负担。在下面的例子中,我们将会用到下面几个软件:
Eclipse 3.2 java IDE,对ant的强力支持,非常方便我们利用ant的task与target功能实现测试的自动化。
Ant1.7 一个强大的构建脚本工具,在需要进行批处理操作或多任务时,非常有用。
Jakarta-jmeter 2.1 100%用java实现的性能测试工具,原来目的是用于web的压力测试,目前已经可以用于测试静态或者动态资源的性能 包括java桌面应用程序、文件、数据库等。目前已经有更新的版本可用。
Badboy 2.0 一个非常不错的脚本录制工具,支持导出jemter的jmx格式。虽然功能不如loadrunner和winrunner强大,但如果只用于录制动作脚本,那么已经足够了。
下面以个简单的web程序的负载测试的实现流程介绍如何使用ant 与jmeter实现负载测试自动化的。
一、
利用badboy录制一段脚本,该脚本包含了所需进行负载测试的url段以及请求数据。
然后利用 ”File”->”Export to Jmeter…”导出jmx。
二、
运行jmeter。打开刚才的jmx。对其进行一定的编辑。
我们计划要对登陆进行测试,则可以在该请求的节点上加上循环控制器:
运行无误后,取消掉监视器。保存该脚本。
三、
打开eclipse,先建一个java工程用于运行ant脚本。
在jmeter的安装目录的extras文件夹下有个示例的ant运行脚本以及一个演示教程的html文档。我们直接copy这个build.xml到eclipse的新建工程目录下。利用”Windows”-->”Show View”-->”Other”-->”Ant”打开ant控制面板。通过”Add Buildfiles”按钮将该build.xml添加进去。
因为示例的脚本使用相对目录.,我们需要修改一下这个build.xml使得ant可以找到所指定的资源。在我的jmeter版本中,有个小的错误需要修改,原文件多打了个x:
<property name="jmeter.save.saveservice.bytes" value="true"/> |
运行脚本成功后,会在指定的目录下生成一个html文档:
小提示:如果每次运行脚本不删除先前的jtl文件,则报告内容会把以前的测试结果保留下来。