作业题目:使用测试工具jmeter,并介绍如何在你的项目中具体使用
要求:通过搜索资料和自学,介绍jmeter如何在你的项目中具体使用
1.JMeter 简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具。
用于对软件做压力测试,它最初被设计用于Web应用测试,但
后来扩展到其他测试领域。 它可以用于测试静态和动态资源,
例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、
FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,
来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对
应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了
你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
2.JMeter安装前的准备
由于Jmeter是基于java开发,首先需要下载安装JDK,并配置系统环境变量
由于电脑上之前安装过JDK在此不再讲解。JDK下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
3.JMeter安装
http://jmeter.apache.org/download_jmeter.cgi
选择apache-jmeter-5.1.1.zip下载,下载完成后解压zip包,运行jmeter.bat
注意:打开的时候会有两个窗口,JMeter的命令窗口和JMeter的图形操作界面,不可以关闭命令窗口。
4.JMeter界面
通过菜单选项->选择语言,可选择语言
5.JMeter对SQL数据库进行压力测试
前提准备:先安装jdbc驱动,下载解压之后,将sqljdbc*.jar放置jmeter的安装目录/lib下;复制之后重新启动jmeter
(1)测试计划—配置驱动程序
测试计划右下角,点击浏览,选择jdbc驱动
(2)添加线程组
右击测试计划——添加——线程——线程组
(3)添加配置元件JDBC Connection Configuration
右击-添加-配置元件-JDBC Connection Configuration
(4)配置JDBC Connection Configuration
重要参数说明:
Variable Name:数据库连接池的名称,可以有多个jdbc connection configuration,
每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池进行使用。
Database URL:数据库url,jdbc:sqlserver://主机ip或机器名称:sql监听的端口号/数据库名称
JDBC Driver class:sql JDBC驱动
username:数据库登陆的用户名
passwrod:数据库登陆的密码
(5)添加JDBC Request
右击-添加-取样器-JDBC Request
(6)配置JDBC Request参数
(7)添加监听器
(8)设置线程组的线程数为200:
图形结果:
聚合报告:
(9)设置线程组的线程数为300:
图形结果:
聚合报告:
(10)设置线程组的线程数为400:
图形结果:
聚合报告:
(11)结果树:
(12)测试结果汇总
结论:
随着用户请求数量的增加,数据库服务器的每分钟处理请求数即吞吐量也在逐步增加然后便降低,
平均响应时间没有大幅增加。经过分析可得出以下结论:数据库服务器的系统性能随着
用户数量的增加而没有太大改变,此数据库服务器的系统性能良好,测试的数值在其承受范围内。
6.学习心得
通过学习掌握了测试工具JMeter,一开始使用这个软件测试工具总感觉不太习惯
通过网上的学习和研究掌握了jmeter的使用,需要经常使用这个测试工具就可以
熟练掌握了,做事情没有捷径,只有自己努力学习,发现问题并解决问题,才能掌握
更多的知识。分析jmeter功能测试的优点:
(1)不依赖于界面,测试脚本不需要编程,熟悉http请求,熟悉业务流程,
就可以根据页面中input对象来编写测试用例。
(2)测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存
(3)可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健壮性。
缺点:(1)使用Jmeter无法验证JS程序,也无法验证页面,所以需要手工去验证
(2)Jmeter的断言功能不是很强大而Jmeter提供的断言功能有限,并且不依赖于界面,
无法完成界面相关内容的验证,用Jmeter测试更需要人工测试,人工确认。
(3)就算是jmeter脚本顺利执行,依旧无法确定程序是否正确执行,
有时候需要进入程序查看,或者查看Jmeter的响应数据。