软件测试技术与项目实践 课件 第8章 性能测试_第1页
软件测试技术与项目实践 课件 第8章 性能测试_第2页
软件测试技术与项目实践 课件 第8章 性能测试_第3页
软件测试技术与项目实践 课件 第8章 性能测试_第4页
软件测试技术与项目实践 课件 第8章 性能测试_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第8章性能测试汇报人:小精灵132性能测试概述性能测试工具JMeter结合Jenkins工具持续集成4实践:合同管理系统性能测试8.1性能测试概述为什么要进行性能测试境内公众启动第二阶段奥运会门票预售。然而,为了让更多的公众实现奥运梦想的“先到先得,售完为止”的销售政策适得其反,公众纷纷抢在第一时间订票,致使票务官网压力激增,承受了超过自身设计容量8倍的流量,导致系统瘫痪。上午9点,预售一开始,公众提交申请空前踊跃。北京奥运会官方票务网站的浏览量在第一个小时内达到800万次,每秒从网上提交的门票申请超过20万张;票务呼叫中心热线的呼入量超过了380万人次。由于瞬间访问数量过大,技术系统应对不畅,造成很多申购者无法及时提交申请。北京奥运会官方票务网站的浏览量在第一个小时达到800万次,每秒从网上提交的门票申请超过20万张。当时的新闻解释:从昨天上午8点左右开始,就有不少网民登录票务官网排队等待申购门票。据了解,从上午9点正式开始售票到中午12点的3小时内,票务网站的浏览次数达到2000万次。这与此次所提供的100万次/小时的流量相差甚远。不停地刷新网页,也是造成网络拥堵的原因之一。杨力说:“不少网民在无法正常登录后便不断刷新,这就相当于一名申购者变成了若干名申购者,无形中增大了网站流量。从技术角度上讲,网站的流量几乎成几何倍数增长,导致其他申购者无法登录。”认识性能测试性能测试定义性能测试工程师的主要目标就是确保系统能够在一定的硬件、软件环境下达到一定的性能指标。性能测试的定义为:在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求。什么是负载?对于基于网络架构(如C/S架构或者B/S架构)的系统,当众多终端用户对系统进行访问时,用户越多,那么服务器需要处理的客户请求也越多,从而形成负载。认识性能测试性能测试分层模型(1)前端层前端层主要是指用户看到的页面,比如电商网站的首页、移动APP的各个页面,这些页面都是用户最关心的(2)网络层任何系统都可以粗略地分成客户端、网络和服务器端,其中网络是连接前后端的命脉,网络质量的好坏对系统性能也有很大的影响。在性能测试中可能遇到的情况大致可分为两种,一种是测试服务器在不同网络状况的大流量下的表现(一般接触得比较少);另一种则要求将压力机和服务器最好放在同一网段,不然压力无法完整地到达后端,系统性能可能会在网络层就被拖垮,这样就没法较为准确地评测服务器端的性能情况了。如果测试的是移动APP端,那么可能还要考虑在不同网络状态下的测试。(3)后端层不论是Web端还是移动APP端,在后端层实施性能测试的方法都是类似的,都是模拟大量客户端请求发送给后端层,同时监控后端服务器的处理能力。认识性能测试性能测试分层模型前端网络后端性能指标认识性能测试响应时间响应时间反映完成某个业务所需要的时间。在性能测试中通过事务函数来实现对响应时间的统计吞吐量吞吐量反映单位时间内能够处理的事务数目在性能测试工具中,吞吐量也称为TPS(TransactionPerSecond,每秒事务数),即在单位时间内能完成的事务数量服务器资源占用服务器资源占用反映了负载下系统资源的利用率服务器资源的占用率越低,说明系统越优秀性能测试的流程认识性能测试制定性能测试目标选择性能测试工具设计性能测试监控分析系统性能调优12.2性能测试工具JMeterJMeter介绍概述ApacheJMeter是基于Java开发的压力测试工具,用于压力、负载和稳定性测试。最初用于Web应用测试,现已扩展到多种测试领域,支持静态/动态资源测试,可模拟繁重负载并分析性能。作用支持多种协议:HTTP、HTTPS、SOAP/XML-RPC、JDBC、POP3、IMAP、SMTP、TCP、FTP等。允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。提供GUI界面设计操作和更精确的计时。支持缓存和离线分析/回放测试结果。性能测试工具JMeter环境搭建下载:访问JMeter官网(),下载对应版本压缩包。安装:解压压缩包至本地硬盘,无需额外安装。配置环境:安装JDK8及以上,配置JMETER_HOME系统变量,Path中添加%JMETER_HOME%\bin。验证:cmd中输入jmeter-v,显示版本信息则配置成功。性能测试工具JMeter基本组件测试计划:描述性能测试相关功能,包含线程组、控制器、取样器等所有测试元素。线程组:测试计划起点,设置线程数(并发用户数)、Ramp-Up时间、循环次数等。取样器:发送请求、记录响应信息与时间,如HTTP请求取样器。逻辑控制器:控制取样器请求顺序或组织取样器,如IF控制器、事务控制器。配置元件:提供静态数据配置,如HTTPCookie管理器、CSVDataSetConfig。定时器:设置操作间等待时间,模拟用户思考时间,如固定定时器。前置处理器:取样器请求前执行操作,如用户参数设置。后置处理器:取样器请求后执行操作,如JSON提取器提取响应数据。断言:验证响应结果与期望一致,如响应断言。监听器:处理和可视化展示测试结果,如查看结果树、聚合报告(调试用,压测时禁用)。性能测试工具JMeter简单案例-百度查询组件配置:线程组、HTTP信息头管理器、HTTP请求(设置协议、服务器地址、查询参数)、响应断言(验证关键词)、查看结果树。结果验证:断言通过则取样器显示绿色,失败则显示红色,需注意模拟真实请求避免安全验证拦截。性能测试工具JMeter序号组件类型组件名称父节点组件配置1线程(用户)线程组测试计划名称:线程组-百度查询12配置元件HTTP信息头管理器线程组名称:HTTP信息头管理器-百度查询添加以下3个信息头对应信息,其中User-Agent可以在地址栏中输入chrome://version/查看,可以找到本机浏览器对应的代理信息UserAgent:Mozilla/5.0(WindowsNT6.3;……Accept:image/jpeg,application/xmsapplication,image/gif,application/xaml+xml,image/pjpeg,application/x_x0002_msxbap,application/vnd.msexcel,application/vnd.ms_x0002_powerpoint,application/msword,*/*Accept-Language:zh-CN3取样器HTTP请求线程组名称:HTTP请求-百度查询协议:https服务器名称或IP:端口:443路径:/s内容编码:utf-8在参数标签区域增加一组查询参数名称:wd,值:JMeter4断言响应断言HTTP请求名称:响应断言-百度查询单击“添加”按钮,在测试模式区域输入关键词JMeter5监听器查看结果树线程组名称:查看结果树-百度查询脚本增强———参数化将JMeter关键词存入用户自定义变量进行查询,设置断言,检查查询页面内容是否包含关键词。将JMeter、“压测工具”两个关键词存入一个CSV文件,设置断言,检查查询页面内容是否包含关键词。增加用户自定义变量组件用来存储关键词,将其他使用关键词的组件调整为引用此自定义变量。这种方式称为参数化,本质就是数据由常量转化为变量。性能测试工具JMeter脚本增强———参数化将JMeter关键词存入用户自定义变量进行查询,设置断言,检查查询页面内容是否包含关键词。将JMeter、“压测工具”两个关键词存入一个CSV文件,设置断言,检查查询页面内容是否包含关键词。增加用户自定义变量组件用来存储关键词,将其他使用关键词的组件调整为引用此自定义变量。这种方式称为参数化,本质就是数据由常量转化为变量。性能测试工具JMeter脚本增强———参数化性能测试工具JMeter脚本增强———参数化性能测试工具JMeter脚本增强———关联在性能测试脚本中,经常出现上一个请求的响应结果包含了下一个请求需要发送的参数的情况,而且参数是动态变化的,称为关联。关联实质上是请求之间存在数据依赖关系,请求不再是独立存在的个体。性能测试工具JMeter脚本增强———关联性能测试工具JMeter脚本增强———逻辑控制性能测试工具JMeter脚本增强———保存数据性能测试工具JMeter12.3结合Jenkins工具持续集成Windows批处理命令D:c

温馨提示

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

评论

0/150

提交评论