软件测试技术项目教程 课件 项目三 线上商城系统的性能测试_第1页
软件测试技术项目教程 课件 项目三 线上商城系统的性能测试_第2页
软件测试技术项目教程 课件 项目三 线上商城系统的性能测试_第3页
软件测试技术项目教程 课件 项目三 线上商城系统的性能测试_第4页
软件测试技术项目教程 课件 项目三 线上商城系统的性能测试_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

软件测试技术课程团队线上商城系统的性能测试项目三

掌握性能测试的相关概念理解JMeter性能测试流程知识目标能够搭建JMeter测试环境能够独立完成JMeter性能测试能够正确的部署和运行被测系统技能目标培养问题解决能力发展细致入微的工作习惯增强团队合作和沟通技能素质目标教学目标任务3-1JMeter测试环境搭建任务3-2使用JMeter完成性能测试LEARNING目录性能测试的概念性能测试的种类性能测试的指标1JMeter测试环境搭建JMeter介绍任务描述根据实训基本环境,完成JMeter测试环境的搭建,包括JDK的安装和配置、JMeter的安装和配置等。重点和难点重点:1.JMeter及其测试环境的搭建。难点:1.JDK环境变量的配置。知识链接1.性能测试的基本概念。2.性能测试的种类。3.性能测试指标。4.JMeter及其测试环境的搭建。5.性能测试流程。任务完成步骤1.安装和配置JDK。2.安装和配置JMeter。3.了解性能测试流程。任务工单JUnitJMeterNmap性能测试是通过性能测试工具模拟正常、峰值和异常负载条件来对系统的各项性能指标进行测试。性能测试能够验证软件系统是否达到了用户期望的性能需求,同时也可以发现系统中可能存在的性能瓶颈和缺陷,从而优化系统的性能。知识清单1性能测试的概念SeleniumAppium知识清单2性能测试的目的包括系统的执行效率、稳定性、可靠性、安全性等。验证系统性能是否满足预期的性能需求分析软件系统在各种负载水平下的运行状态,提高性能调整效率。提高性能调整效率寻找系统中可能存在的性能问题,定位系统性能瓶颈并解决问题。识别系统缺陷通过重复的、长时间的测试,找出系统中存在的隐含问题,改善并优化系统的性能。进行系统调优性能测试的目的知识清单3性能测试的种类7种主要的性能测试01稳定性测试稳定性测试也称为可靠性测试,它是指让系统在强负载情况下,持续运行一段时间(如7x24小时),测试系统在这种条件下是否能够稳定运行。07基准测试基准测试是指单用户测试,即测试环境确定后,使用单个用户对业务模型中的重要业务做多次单独的测试,观察并记录各项性能指标的变化。02并发测试并发测试是指通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁、响应慢或其他性能问题。06压力测试压力测试也叫强度测试,是指让系统超负荷运行,使系统某些资源达到饱和或接近系统崩溃的边缘,以测试系统的性能变化,从而确定系统所能承受的最大压力。03配置测试配置测试是指调整软件系统的软硬件环境,测试各种环境对系统性能的影响,从而找到系统各项资源的最优分配原则。05负载测试负载测试是指逐步增加系统负载(如逐渐增加模拟用户数量)来测试系统性能的变化,并最终确定在满足系统性能指标的情况下,系统所能够承受的最大负载。04容量测试容量测试是指在一定的软硬件及网络环境下,测试系统所能支持的最大用户数、最大存储量等。知识清单4性能测试的指标性能测试常用的指标01响应时间响应时间(ResponseTime)是指系统对用户请求作出响应所需要的时间。07错误率错误率是指系统在负载情况下,失败业务的概率。02并发用户数并发用户数是指在同一时间内请求和访问的用户数量。06点击率点击率(HitsPerSecond)是指用户每秒向Web服务器提交的HTTP请求数量,通过点击率可以评估用户产生的负载量,并且可以判断系统是否稳定。03吞吐量吞吐量(Throughput)是指单位时间内系统能够完成的工作量,它衡量的是软件系统服务器的处理能力。05TPSTPS是指系统每秒能够处理的事务数量。04QPSQPS是指系统每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内能够处理的流量。08资源利用率资源利用率是指软件对系统资源的使用情况,包括CPU利用率、内存利用率、磁盘利用率等,资源利用率是分析软件性能瓶颈的重要参数。ApacheJMeterJMeter全称ApacheJMeter,是Apache组织开发维护一款开源免费的基于Java的性能测试工具,但也经常用来做接口测试。JMeter很好地支持各种常见接口,包括HTTP(s)、WebService、JDBC、JAVA、FTP,并且提供了多种样式的报告。与LoadRunner不同的是,JMeter工具通过线程组创建虚拟用户,一个线程组可以设置多个线程,每个线程就是一个虚拟用户,这些线程相互独立,互不影响。虚拟用户向服务器发送一个请求,JMeter称之为一次采样,这个操作由采样器来完成。知识清单5JMeter介绍知识清单5JMeter介绍JMeter是一款完全免费,且允许使用源代码二次开发。开源JMeter提供了非常友好的GUI界面,可以快速学会且使用。友好的GUI通过线程组,能够轻易地设置不同的测试和并发用户。多线程框架100%纯Java桌面应用程序,所以支持多平台运行。可移植下载好即可使用。安装方便JMeter的优点JMeter拥有丰富的插件,也支持用户开发自己的插件。高度扩展例如HTTP、JDBC、LDAP、SOAP、JMS、FTP支持多协议支持多用户并发测试。仿真模拟JMeter支持BeanShell和Selenium进行自动化测试。脚本测试运行用户录制Web应用程序的记录。录制和回放任务实施(1)安装和配置JDK在安装JMeter之前确保计算机上安装了JavaDevelopmentKit(JDK)。

访问Oracle官网/或者其他JDK提供商的网站,根据您的操作系统下载相应的JDK版本,如jdk1.8。下载完成后,运行安装程序,按照提示进行安装。安装过程中可以自定义安装路径。配置环境变量:右键点击“我的电脑”或者“此电脑”,选择“属性”。点击“高级系统设置”,然后点击“环境变量”。在“系统变量”区域,点击“新建”,创建一个新的变量JAVA_HOME。变量名输入“JAVA_HOME”,变量值输入JDK安装路径,例如“C:\ProgramFiles\Java\jdk1.8.0_261”。在“系统变量”中找到Path变量,选择“编辑”,在弹出的窗口中点击“新建”,添加“%JAVA_HOME%\bin”。点击“确定”保存所有设置。 任务实施(2)安装和配置JMeter到官网/。打开网页后,可以点击左侧【DownloadReleases】进入下载页面。直接下载Binaries版的ZIP包即可。解压apache-jmeter-5.6.3.zip。在bin目录下,有一个jmeter.bat文件,双击该文件就可以启动JMeter。 任务实施(2)安装和配置JMeter汉化JMeter:修改perties文件,去掉language=en前的#,改成

language=zh_CN

。在bin目录下,有一个jmeter.bat文件,双击该文件就可以重新启动JMeter。 任务拓展了解软件性能测试的概念、种类和指标,可以帮助我们更好的理解性能测试流程。 (1)分析性能测试需求在性能测试需求分析阶段,测试人员需要收集有关项目的各种资料,并与开发人员进行沟通,对整个项目有一定的了解,针对需要进行性能测试的部分进行分析,确定测试目标。例如客户要求软件产品的查询功能响应时间不超过2s,则需要明确多少用户量情况下,响应时间不超过2s。对于刚上线的产品,用户量不多,但几年之后可能用户量会巨增,那么在性能测试时是否要测试产品的高并发访问,以及高并发访问下的响应时间。 任务拓展(2)制定性能测试计划(a)确定测试环境:包括物理环境、生产环境、测试团队可利用的工具和资源等。(b)确定性能验收标准:确定响应时间、吞吐量和系统资源(CPU、内存等)利用总目标和限制。(c)设计测试场景:对产品业务、用户使用场景进行分析,设计符合用户使用习惯的场景,整理出一个业务场景表,为编写测试脚本提供依据。(d)准备测试数据:性能测试是模拟现实的使用场景,例如模拟用户高并发,则需要准备用户数量、工作时间、测试时长等数据。 任务拓展(3)设计测试用例性能测试用例是根据测试场景为测试准备数据,例如模拟用户高并发,可以分别设计100用户并发数量、1000用户并发数量等,此外还要考虑用户活跃时间、访问频率、场景交互等各种情况。测试人员可以根据测试计划中的业务场景表设计出足够的测试用例以达到最大的测试覆盖。任务拓展(4)编写性能测试脚本(a)正确选择协议。(b)根据工具的支持情况和测试人员熟悉程度选取脚本语言。(c)编写测试脚本时,要遵循代码编写规范,保证代码的质量。(d)做好脚本的维护管理工作。 任务拓展(5)测试执行及监控(a)性能指标:本次性能测试要测试的性能指标的变化。(b)资源占用与释放情况:CPU、内存、磁盘、网络等使用情况。性能测试停止后,各项资源是否能正常释放以供后续业务使用。(c)警告信息:一般软件系统在出现问题时会发出警告信息,当有警告信息时,测试人员要及时查看。(d)日志检查:经常分析系统日志,包括操作系统、数据库等日志。性能测试监控对性能测试结果分析、对软件的缺陷分析都起着非常重要的作用。

在测试过程中,如果遇到与预期结果不符合的情况,测试人员要调整系统配置或修改程序代码来定位问题。由于性能测试执行过程需要监控的数据复杂多变,它要求测试人员对监控的数据指标有非常清楚的认识,同时还要求测试人员对性能测试工具非常熟悉。作为性能测试人员,应该不断努力,深入学习,不断积累知识经验才能做的更好。任务拓展(6)运行结果分析性能测试完成之后,测试人员需要收集整理测试数据并对数据进行分析,将测试数据与客户要求的性能指标进行对比,若不满足客户的性能要求,需要进行性能调优然后重新测试,直到产品性能满足客户需求。 任务拓展(7)性能测试总结性能测试完成之后需要编写性能测试报告,阐述性能测试的目标、性能测试环境、性能测试用例与脚本使用情况、性能测试结果及性能测试过程中遇到的问题和解决办法等。软件产品不会只进行一次性能测试,因此性能测试报告需要备案保存,作为下次性能测试的参考。 常见问题及解决方法问题描述:Java生态中使用的软件版本需要与JDK版本兼容,否则会出现各种莫名其妙的问题。解决方法:(1)确认软件要求:查看软件文档,了解其对JDK版本的要求。(2)安装正确的JDK版本:从Oracle官网或其他合适的源下载并安装所需的JDK版本。(3)配置环境变量:确保系统的JAVA_HOME环境变量指向正确的JDK安装目录,并且系统的PATH变量包含JDK的bin目录。(4)使用JDK版本管理工具(如jenv):如果你需要在同一台机器上管理多个JDK版本,可以使用这些工具来切换JDK版本。(5)重新编译源代码:如果你必须使用特定版本的JDK,但你的代码是基于较新版本编译的,你可能需要使用javac重新编译你的源代码。在实际操作中,你需要根据具体的软件和JDK版本要求来选择适当的解决方案。温馨提示,JDK1.8|Tomcat8.5|JMeter5.6可以很好的兼容。测试环境中使用的软件版本兼容性问题01任务小结通过本任务理解了性能测试的常识,了解了性能测试的流程,熟悉了JMeter测试环境的搭建,为后面完成性能测试任务打下良好的基础。掌握性能测试性能测试是度量软件质量的一种重要方式。作为软件测试人员,性能测试是必须要掌握的测试技能之一。理解性能测试的重要性2使用JMeter完成性能测试常用的性能测试工具任务描述根据实训基本环境,部署并运行被测系统,然后使用JMeter对其进行性能测试,生成测试报告。重点和难点重点:1.根据JMeter性能测试用例,验证性能指标的正确性。2.被测系统的部署和运行。3.JMeter中取样器、监听器、配置元件、断言、各种处理器的使用。难点:1.排查和解决JMeter使用过程中常见问题。知识链接1.常用的性能测试工具。2.JMeter中取样器、监听器、配置元件、断言、各种处理器的使用。任务完成步骤1.部署和运行被测系统。2.JMeter中取样器、监听器、配置元件、断言、各种处理器的使用。3.JMeter生成性能测试报告。任务工单知识清单免费开源的工具包括JMeter、OpenSTA、Tsung、Grinder、Gatling、curl-loader等。商用的工具包括LoadRunner、RPT、WebLOAD、SilkPerformer、QALoad、kylinPET、LoadTest、Loadstorm等。软件性能测试工具可分商用和开源免费两大类。商用性能测试工具专业、高效、稳定,但也有收费较高、不易扩展、较难与其他产品集成等特点;免费开源工具不收费,但是易用性、稳定性、可靠性等不如商业工具。1常用的性能测试工具任务实施(1)部署和运行被测试系统(a)安装MySQL数据库:悦购图书商城系统是一个基于MySQL数据库的被测系统,因此,在部署该系统之前确保计算机上安装了MySQL8。访问MySQL官方网站/下载最新的MySQL安装程序,如MySQLCommunityServer8.0.37。运行下载的.msi文件开始安装。在安装过程中选择安装类型(典型安装,完整安装等)。设置数据库root用户的密码,如123456。完成安装向导。

任务实施(1)部署和运行被测试系统(b)安装Tomcat服务器悦购图书商城系统是一个基于Tomcat服务器的被测系统,因此,在部署该系统之前确保计算机上安装了Tomcat8。访问ApacheTomcat的官方网站/,下载相应版本的Tomcat压缩包,如apache-tomcat-8.5.100。解压Tomcat:将下载的Tomcat压缩包解压到指定目录。启动Tomcat:进入Tomcat的bin目录,运行startup.bat(Windows系统)启动Tomcat服务器。检查Tomcat:打开浏览器,访问http://localhost:8080,如果看到Tomcat的欢迎页面,说明Tomcat已成功启动。(c)向数据库导入数据把项目的sql数据库文件goods.sql放在d盘根目录下;打开命令行工具MySQL8.0CommandLineClient,输入密码登录MySQL;输入命令

sourced:/goods.sql。 任务实施(1)部署和运行被测试系统(d)部署并访问悦购图书商城系统把项目的goods.war文件放在Tomcat的\webapps目录下;双击Tomcat的\bin\startup.bat启动服务器。在浏览器中输入服务器的地址访问前台URL:http://localhost:8080/goods,运行效果如图所示;在浏览器中输入服务器的地址访问后台URL:http://localhost:8080/goods/admin,登录账号为admin密码为123,运行效果如图所示。 任务实施(2)JMeter核心组件的使用(a)添加测试计划每次启动JMeter,主界面都默认有一个空的测试计划。用户也可以在菜单栏单击“文件”在弹出的下拉菜单中选择“新建”选项,添加测试计划。按“Ctrl+S”保存测试计划。(b)添加线程组右击测试计划,选择“添加”->线程(用户)->线程组,如图所示。 任务实施(2)JMeter核心组件的使用(c)添加http请求右击“线程组”,选择“添加”->取样器->HTTP请求,如图所示。 任务实施(2)JMeter核心组件的使用(d)添加察看结果树右击“线程组”,选择“添加”->监听器->察看结果树。单击工具栏中的绿色三角启动按钮。JMeter就会发送请求,并接收悦购图书商城服务器返回的结果。请求与返回结果的信息可以在察看结果树中查看,如图所示。任务实施(2)JMeter核心组件的使用(e)添加用户自定义变量性能测试中为了模拟大量用户操作,往往需要进行参数化,JMeter中的参数化可以通过配置元件完成。配置元件可以配置测试计划的一些公共信息(参数),其配置会影响作用域内的所有元件。配置元件常用的参数化工具有用户定义的变量、HTTP信息头管理器、HTTP请求默认值、CSV数据文件设置和计数器。右击测试计划,选择“添加”->配置元件->用户自定义变量,点击“添加”按钮,输入变量名name和值jd。如,用户定义变量path的可选值:/goods和/goods/admin。分别表示请求悦购图书商城的前台和后台。如图所示。任务实施(2)JMeter核心组件的使用(f)添加逻辑控制器逻辑控制器用于控制脚本的执行顺序。JMeter中有17个逻辑控制器元件,它们可以分为两类,一类是控制测试计划节点发送请求的逻辑顺序控制器,如IF控制器;另一类用来对测试计划中的脚本进行分组,方便JMeter统计执行结果以及进行脚本的运行时控制等,包括事务控制器、吞吐量控制器等。右击线程组,选择“添加”->逻辑控制器->IF控制器。设置条件表达式”"${path}"=="/goods",不勾选“InterpretConditionasVariableExpression?”复选框,遵循Javascript语法。右击“IF控制器”,选择“添加”->取样器->HTTP请求。设置协议http,服务器名称localhost。端口8080。路径/goods。右击线程组,选择“添加”->逻辑控制器->IF控制器。设置条件表达式”"${path}"=="/goods/admin",不勾选“InterpretConditionasVariableExpression?”复选框,遵循Javascript语法。如图所示。右击“IF控制器”,选择“添加”->取样器->HTTP请求。设置协议http,服务器名称localhost。端口8080。路径/goods/admin。右击“线程组”,选择“添加”->监听器->察看结果树。可以发现由于受到用户自定义变量值的影响,执行的是第一个逻辑控制器。响应的是悦购图书商城的前台页面。任务实施(2)JMeter核心组件的使用(f)添加逻辑控制器任务实施(2)JMeter核心组件的使用(g)添加断言断言用于验证响应结果是否正确,即用一个预设的结果(如值、表达式、时间长短等)与实际结果进行匹配,匹配成功就表示断言成功,否则表示断言失败。常用的断言有响应断言、JSON断言、断言持续时间等。右击线程组,选择“添加”->逻辑控制器->循环控制器。循环次数为2。右击“循环控制器”,选择“添加”->取样器->HTTP请求。设置协议http,服务器名称,路径/data/sk/101010100.html。右击“循环控制器”,选择“添加”->断言->JSON断言。勾选“Additionallyassertvalue”复选框。设置“AssertJSONPathexists”配置断言的JSON元素的路径$.weatherinfo.city,填写“ExpectedValue”期望值为北京,如图所示。执行测试,响应正常,说明断言正确。若填写“ExpectedValue”期望值为其它城市,再次执行测试,响应出错,说明断言失败。任务实施(2)JMet

温馨提示

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

评论

0/150

提交评论