精品课件教案ppt_软件测试实验三__第1页
精品课件教案ppt_软件测试实验三__第2页
精品课件教案ppt_软件测试实验三__第3页
精品课件教案ppt_软件测试实验三__第4页
精品课件教案ppt_软件测试实验三__第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试实验三 Jmeter,,Jmeter agenda,Jmeter简介 Jmeter安装 脚本录制 脚本开发 Web压力测试 数据库测试性能测试 上机实验习题,Jmeter简介-概述,Jmeter是Apache组织的开放源代码项目,是纯 java应用程序,是功能测试和性能测试的工具. Jmeter最早是为了测试Tomcat的前身Jserver的执行效率而诞生的.目前其测试能力不仅局限于对Web服务器的测试,而是涵盖了数据库,JMS,Web Service,LDAP等对种对象的测试能力. Jmeter可以用于测试静态或是动态资源的性能(静态文件,Servlets,java对象,Perl脚本,数据库和FTP服务器等).可以用于针对服务器,网络或对象上模拟大量并发负载来进行压力强度测试.可以分析不同压力负载下的整体性能情况,包括性能的图形分析.,Jmeter简介-特点,Jmeter支持范围广泛: 多协议-HTTP/TCP/FTP/JDBC/SOAP/LDAP/MAIL; 跨平台-所有支持JVM的平台都可以运行Jmeter; 多语言-所有支持Bean Script Framework的脚本语言; 内部实现线程机制(线程组),不用编写并发负载过程代码; 提供丰富的逻辑控制器,控制线程的运行; 产生相应测试结果的统计报表.,Jmeter简介-优势,不依赖于界面,通过API调用或参数传递来增加并执行测试用例; 不需要编写测试脚本,只需要熟悉业务流程和http请求,根据input对象编写测试用例; 跳过页面限制,直接向后台程序添加非法数据; 利用badboy录制测试过程,快速生成测试脚本; 运用参数化以及函数功能,快速完成添加修改测试数据.,Jmeter安装,Jmeter官方网站 /jmeter downloads release - browse download area -binaries-jakarta-jmeter-2.3.4.zip 选择最新版本jakarta-jmeter-2.3.4.zip; 需要JDK1.4以及以上版本;,Jmeter安装目录,解压jakarta-jmeter-2.3.4.zip生成安装目录; 选择最新版本jakarta-jmeter-2.3.4.zip; 需要JDK1.4以及以上版本;,Jmeter安装目录,Bin目录 运行Jmeter.bat即可看见Jmeter GUI客户端; 注意: 1.内存512M,使用默认参数 内存512M,将命令行中参数调小 否则在jmeter.log里会显示内存溢出错误. 将Jmeter.bat用UE打开,JVM内存配置参数调整,set HEAP=-Xms256m -Xmx256m set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m set SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50% set TENURING=-XX:MaxTenuringThreshold=2 set EVACUATION=-XX:MaxLiveObjectEvacuationRatio=20% set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000 set PERM=-XX:PermSize=64m -XX:MaxPermSize=64m set DEBUG=-verbose:gc -XX:+PrintTenuringDistribution,内存配置参数定义,ms/mx:定义YOUNG+OLD段的总尺寸,ms为JVM启动时YOUNG+OLD的内存大小;mx为最大可占用的YOUNG+OLD内存大小。在用户生产环境上一般将这两个值设为相同,以减少运行期间系统在内存申请上所花的开销。 NewSize/MaxNewSize:定义YOUNG段的尺寸,NewSize为JVM启动时YOUNG的内存大小;MaxNewSize为最大可占用的YOUNG内存大小。在用户生产环境上一般将这两个值设为相同,以减少运行期间系统在内存申请上所花的开销。 PermSize/MaxPermSize:定义Perm段的尺寸,PermSize为JVM启动时Perm的内存大小;MaxPermSize为最大可占用的Perm内存大小。在用户生产环境上一般将这两个值设为相同,以减少运行期间系统在内存申请上所花的开销。,Jmeter安装目录,Docs目录 Jmeter Java docs Usermanual- Jmeter英文用户文档手册 Component_reference.html 核心元件帮助文档 demos Jmeter脚本案例 Extras目录 对ant构建工具提供支持 运用ant实现批量脚本自动执行,产生HTML报表. 记录所有测试数据,自动生成.jtl文件至extras 目录下,运行ant-Dtest=文件名report,即可生 成测试统计报表. Lib目录 ext 存放Jmeter核心jar包. junit 存放Junit测试脚本,录制脚本,运用Badboy录制生成Jmeter脚本. 安装和启动录制 Badboy官方网站 .au/ 下载Badboy最新版本 启动badboy,在地址栏中输入待录制的web应用网站 的URL,这里以为例,回车开始录制. 录制过程 直接在主界面右侧badboy内嵌浏览器中对应用网站进行操作,所有操作都会被记录在主界面右侧的编辑窗口中.,录制脚本,导出脚本 录制完成后,点击工具栏中的stop recording完成录制 选择File-Export to Jmeter,并填写文件名 USTCLogin.jmx,将录制好的脚本导出为Jmeter格式. 执行脚本 启动Jmeter打开刚才生成的脚本. 先增加监听器-查看结果树/用表格查看结果,自带录制组件-Http代理服务器,配置Http代理服务器,代理服务器端口:8000 目标控制器:录制脚本的存放位置 选择默认值 分组:将请求汇总分组,把url请求理解为组 不对样品分组:罗列所有请求 在组间添加分割:加入一个虚拟的,以分割线命名的动作. 每个组放入一个控制器:执行时按控制器定义输出结果 只存储每个组的第一个样本:对于一次url请求,实际很多次http请求的情况. 一般选择只存储每个组的第1个样本.,配置Http代理服务器,记录HTTP信息头:录制request的head信息 添加断言:录制时,加入空的检查点(自行填写) Regex matching:录制时,加入空的正则匹配. 包含模式和排除模式:过滤一些不需要的访问请求. 通过配置浏览器的代理服务器,使得所有访问请求通过Jmeter发送,Jmeter将访问过程全部录制下来.,浏览器设置,浏览器设置,打开浏览器添加代理 填写本机IP或是host name,端口填写为设置的8000 将IE设置为代理 在浏览器中键入待录制页面的URL,然后对该页面进行操作 Jmeter会自动将所进行的操作转化为脚本.,Jmeter脚本开发,测试计划 测试计划描述了执行测试过程中JMeter的执行过程和步骤,一个完整的测试计划包括一个或者多个线程组(Thread Groups)、逻辑控制(Logic Controller)、实例产生控制器(Sample Generating Controllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素(Config Elements)。打开JMeter时,它已经建立一个默认的测试计划,一个JMeter应用的实例只能建立或者打开一个测试计划。,Jmeter脚本开发,JMeter 的主要测试组件总结如下: 1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。 2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。 3. 监听器负责收集测试结果,同时也被告知了结果显示的方式。 4. 逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。 5. 断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。 6. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。 7. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。 8. 定时器负责定义请求之间的延迟间隔。,Jmeter脚本开发,填充一个测试计划的内容,这个测试计划向一个jsp文件和一个servlet发出请求,我们需要JMeter模拟五个请求者(也就是五个线程),每个请求者连续请求两次,下面介绍了详细的操作步骤.,Jmeter脚本开发,增加负载信息设置 模拟五个请求者,每个请求者在测试过程中连续 请求两次. 选中可视化界面中左边树的测试计划节点,单击 右键,选择增加线程组,界面右边将会出现他的 设置信息框。 线程组有三个和负载信息相关的参数: 线程数: 设置发送请求的用户数目. Ramp-up period: 每个请求发生的总时间间隔, 单位是秒。比如你的请求数目是5,而这个参数是 10,那么每个请求之间的间隔就是105即2秒. 循环次数:请求发生的重复次数,如果选择后面的 forever(默认),那么请求将一直继续,如果不选择 forever而在输入框中输入数字,那么请求将重复 指定的次数,如果输入0,那么请求将执行一次.,Jmeter脚本开发,Jmeter脚本开发,增加默认Http属性(可选) 实际的测试工作往往是针对同一个服务器上Web应用展开的,所以Jmeter提供了这样一种设置, 在默认Http属性设置需要被测试服务器的相关属性,以后的http请求设置中就可以忽略这些相同参数的设置,减少设置参数录入的时间.,Jmeter脚本开发,选中可视化界面中左边树的测试计划节点,单击右键,选择配置元件-Http请求默认值,界面右边将会出现他的设置信息框。 默认http属性的主要参数说明如下: protocal:发送测试请求时使用的协议 server name or ip:被测试服务器的ip地址或者名字 path: 默认的起始位置。比如将path设置为jmeter,那么所有的http请求的url中都将增加jmeter路径。 port number: 服务器提供服务的端口号,Jmeter脚本开发,测试计划将针对本机的Web服务器上的Web应用进行测试,所以protocal应该是http,ip使用localhost,因为这个web应用发布的context路径是jmeter,所以这里的path设置为jmeter,因为使用Tomcat服务器,所以port number是8000。设置后的屏幕截图如下:,Jmeter脚本开发,Jmeter脚本开发,增加Http请求 选中可视化界面中左边树的线程组节点,单击右键,选择添加Sampler-Http请求,界面右边将会出现其设置信息框。 参数和http属性差不多,增加的属性中有发送http时方法的选择,可以选择为get或者post。,Jmeter脚本开发,Jmeter脚本开发,增加监听器 选中可视化界面中左边树的测试计划节点,单击右键. 选择增加监听器-查看结果树,可以查看每个链接的执行情况,包括发出的请求和服务器返回的详细内容. 选择增加监听器-用表格查看结果,可以查看到每个链接的执行情况,包括执行时间与成功与否. 选择增加监听器-聚合报告,可以查看每个线程组的最大,最小和平均响应时间.,Jmeter脚本开发,开始执行测试计划 现在可以通过单击菜单栏运行 - 启动开始执行测试计划了。 下面是两次测试结果以及分析.,Jmeter脚本开发,Jmeter脚本开发,Jmeter脚本开发,第一次执行时的几个大时间值均来自于jsp request,这可以通过下面的理由进行解释:jsp执行前都需要被编译成.class文件.所以第二次的结果才是正常的结果 .,Jmeter脚本开发,Jmeter脚本开发,Jmeter脚本开发,上机作业习题,选择被测试服务器:T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论