大家好,我们本章开始学习Jmeter,后续还会有RF以及LoadRunner 的介绍,为什么要学习Jmeter,它主要是用来做性能测试的,其中它也需要间接或直接的需要用到抓包工具,至于为什么需要用到抓包工具,我们第二章就会讲到。

本人自己也有个公众号(Sea_Cha),各位朋友想了解测试的各种问题可以留言告诉我,我会直接在公众号里进行更新。

那么什么是性能测试,它与功能测试有什么样的区别?

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

简单的来说性能测试和功能测试最大的区别在于功能测试通常有明确的需求说明。而性能测试却需要顾及方方面面。

测试人员眼中的性能测试需要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。做性能测试时除了要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计是否合理?代码是否合理等方方面面。

所以,做性能测试的测试工程师也很不简单,难度远比功能测试高。

名词解释

jmeter中有很多的功能,还有一些容易让你产生错误理解的字词,让我们来看看有哪些吧。

【虚拟用户】:模拟现实中的实际用户,测试工具使用虚拟用户替代真实用户。

【性能测试场景】:可理解为一个具体的测试用例。它是测试资源包括测试脚本、运行设置、运行用户数等的集合。在场景中,可以定义并发用户的数目,定义要运行的脚本。在一个场景中,可以是单个流程,也可以是多个流程的混合。

【事务】:为一个流程中某个或某些环节的称谓,一个流程可称为一个大的事务,在这个大的事务中可包含许多小的事务。

【响应时间】:性能测试中衡量交易性能的重要手段。计算的是端到端的时间,通俗讲是指从客户端发出交易请求到得到响应的整个过程。

【平均响应时间】:指在测试过程中所有交易请求过程中平均的响应时间。也就是总共的交易量除以总共的交易时间。通常以秒为时间单位。

【90%响应时间】:将所有交易的响应时间按照从小到达排列,取排在90%的那个值,主要用于衡量系统的稳定性,比如两组数据 {1,3,5,10,16} 和 {5,6,7,8,9},他们的平均响应时间都是7,但是前面一组数据的90%响应时间值为16,而后面一组为9。越靠近90%,那么说明越稳定。

【TPS】:系统每秒处理交易的数量,单位是笔/秒。其是衡量系统处理能力的重要指标。通常表示一次交易申请和响应返回的过程。

【QPS】:通常指的是每秒查询率,是一台服务器每秒能够相应的查询次数,是对查询服务器规定时间内处理流量多少的称量标准。

【网络吞吐量】:指单位时间内通过网络成功传输的数据量。单位为Byte/s。

【资源利用率】:主要指服务器硬件资源,网络资源等如cpu,内存使用率,磁盘IO,网络IO等。

【思考时间】: 指在测试过程中虚拟用户在与系统产生交互之间的一个等待时间,用于模拟真实环境真实用户在使用系统时每一步操作的等待间隔时间。

【并发数】:指在某一时间,一定数量的虚拟用户同时对系统进行交互操作,通常性能测试工具可以设置集合点以加强并发点

性能测试意义

1.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。

2.识别体系中的弱点:受控的压力可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。

3.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。

检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。

4.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。

5.通过预埋未来数据,比如三年后的数据量来评估系统未来的支撑情况。

6.通过节点性能测试可以用于计算生产服务器节点配比。

环境搭建

Apache JMeter是Apache组织开发的基于Java的压力测试工具,是一款开源软件,并且是100%的纯java开发,可以在window和linux上面运行。

Jmeter下载地址:https://jmeter.apache.org/download_jmeter.cgi

Jmeter下载后可以配置下jmeter的环境变量
        (1)变量名:JMETER_HOME 变量值:  D:\apache-jmeter-5.0

(2)变量名:Path 变量值:  %JMETER_HOME%\bin;

(3)变量名:CLASSPATH 变量值:

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

这里注意了:即使不配置环境也是可以使用的,只不过需要进入到文件夹里面找到jmeter.bat双击打开即可。

官网下载的都是这种英文的,虽然也会有汉化的可以下载,不过没必要,jmeter还是比较人性化的,里面可以直接设置。

上面的是简体,下面的是繁体,设置完成后虽然不能完全汉化,但是也是够用了。

我们可以添加一个线程组,线程组中添加一个HTTP请求

这里说到HTTP请求,下一章节我们讲讲抓包,使用的工具是fiddler,可以自己去下载下来玩玩,除了jmeter可以用到fiddler,postman也是可以用到的,而且postman用到的更加的频繁。

除此之外我们在里面可以添加很多的小工具,可以断言,断言则需要根据具体所需进行对应的选择才行。

还有模式匹配规则,一般的话是包括,比如断言某一段文字,从登录界面跳转到主页面,主页面某些固定的文字信息,则可以用来断言。

本章就先讲到这,下一章讲讲fiddler的使用。

Jmeter--【作为测试你必须要知道的】基础名词与环境搭建相关推荐

  1. 【软件测试培训】了解jmeter分布式测试

    一提到分布式测试,大家肯定会觉得,哇!好高大上,一定很高深的吧,这里老师推出不做傻白甜系列文章,带同学们一步一步理解jmeter的分布式测试. 首先我们来看下jmeter自动化测试的流程 ,见如下图1 ...

  2. Jmeter --- 分布式测试

    在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...

  3. JMeter学习笔记--JMeter常用测试元件

    JMeter测试计划有一个被称为"函数测试模式"的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如 ...

  4. 接口测试工具-Jmeter压力测试使用

    接口测试工具-Jmeter压力测试使用 官方描述:jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jm ...

  5. jmeter分布式测试配置

    jmeter分布式测试 说明:1台8核16G的windows2008的机器,只能器6000个线程,否则效果不是很好:并且负载机器需要做如下设置: 1.打开注册表:regedit 2.HKEY_LOCA ...

  6. Jmeter远程测试

    11.3 详解JMeter远程测试(1) 2012-04-09 09:14 温素剑 电子工业出版社 字号:T | T 综合评级: 想读(7)  在读(2)  已读(0)   品书斋鉴(0)   已有9 ...

  7. JMeter web 测试

    2019独角兽企业重金招聘Python工程师标准>>> JMeter web 测试 http://jmeter.apache.org/usermanual/build-web-tes ...

  8. 使用badboy录制脚本 结合Jmeter一起测试。

    1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的.Badboy提供了将 ...

  9. jmeter负载测试测试_使用Apache JMeter负载测试Web应用程序

    jmeter负载测试测试 Apache JMeter是用于模拟Web应用程序上的用户负载以测试性能的出色工具. 您可以通过指定用户数量和请求间隔来轻松地构建测试计划,然后JMeter将为每个用户生成一 ...

  10. jmeter负载测试测试_Apache JMeter:随心所欲进行负载测试

    jmeter负载测试测试 这是有关使用Apache JMeter进行负载测试的第二篇文章,请在此处阅读第一篇文章: 有关对关系数据库进行负载测试的分步教程. JMeter有很多采样器 . 如果您需要J ...

最新文章

  1. Logstash5.4.1解析日志报错处理
  2. JQ css3 导航栏到底部上移
  3. spring boot—自定义logback日志配置
  4. php post数组丢失,php – 神秘空$_POST数组
  5. 机器学习第一回——初识监督学习和无监督学习
  6. html5 职工入职后台管理系统_后台管理平台
  7. STM32相关问题解决方法
  8. 新旧时代的更替——Turbo码/TCM码
  9. 初级web前端面试题
  10. 空洞卷积(Dilated Convolution)简介
  11. 微信小程序支持Markdown教程
  12. PHP生成短连接的方法
  13. EnlightenGAN: Deep Light Enhancement without Paired Supervision
  14. 《Node.js开发指南》读书笔记
  15. uboot mmc 命令 read write 说明
  16. 互联网思维——迭代思维
  17. 工厂模式及什么时候用工厂模式
  18. 大数据技术与应用-D1
  19. Tizen系统截图曝光 三星I9500或将率先采用
  20. 可以删除的android系统自带程序2

热门文章

  1. NR/5G ~ UCI Multiplexing on PUSCH
  2. 克莱姆森大学计算机排名,2020年克莱姆森大学排名TFE Times美国最佳计算机科学硕士专业排名第102...
  3. vmware启动虚拟机报“内部错误”的解决方法
  4. PHP数据加密的几种方式
  5. 阿里收购优酷土豆:内容进入GGC时代!
  6. unity获取电磁笔压感_电磁屏技术如何实现真实笔锋精准点触
  7. Phaser3初体验
  8. 概率统计15——泊松分布
  9. 基于压缩传感的脉冲GPR成像技术研究(硕士学位论文初稿20111230)
  10. was部署项目启动显示[jcc][t4][10275][10041][3.63.123]ccsid 编码或语言环境不受支持:“Cp1386”. errorcode=-4220 sqlstate=220