今天通过一个简单的例子梳理一下用jmeter进行测试的流程

1.确定被测网站:gogomall.com

2.制定测试指标:响应时间和错误率

3.设计测试场景

4.具体测试步骤

1>创建一个测试计划,测试计划里创建线程组,线程组中再创建取样器,一般是http请求,创建成功如下图:

下面来解释一下http请求的设置:

①名称:用于标识一个取样器,建议使用一个有意义的名称,自己能够区分

②注释:仅用于记录用户可读的注释信息,对测试无任何作用

③协议:向目标服务器发送http请求时的协议,可以是http或者是https,默认为http

④服务器名称或IP:http请求发送的目标服务器名称或IP地址

⑤端口号:目标服务器的端口号,默认值为80

⑥方法:发送http请求的方法,可用方法包括GET,POST,HEAD,PUT.......等

⑦路径:目标url路径,不包括服务器地址和端口

⑧内容编码:内容的编码方式

⑨自动重定向:如果选中,当发送http请求后得到的响应是302/301时,jmeter自动重定向到新的页面

⑩使用KeepAlive(持久常连接):如果选中,jmeter和目标服务器之间使用Keep-Alive方式进行HTTP通信,默认选中

⑪对POST使用multipart/form-data:当发送HTTP   POST请求时,使用multipart/from-data方法发送,默认不选中

⑫同请求一起发送参数:在请求中发送url参数,用户可以将url中所有参数设置在本表,表中的每一行是一个参数值对(对应url中的名称1=值1)

⑬同请求一起发送文件:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟

⑭从HTML文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行解析并获取HTML中包含的所有资源,默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的【网址必须匹配】文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的url指向资源会被下载

⑮保存响应为MD5哈希:选中该项,在执行时仅记录服务端响应数据的MD5值,而不是记录完整的响应数据,在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销

2>测试场景设计—线程组设置

①线程数:虚拟用户数

②Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动完

③循环次数:每个线程发送请求的次数,如果勾选了【永远】,那么所有线程会一直发送请求,一直到选择停止运行脚本

④调度器:可以更灵活的设置运行时间等

3>设置监听器

4>运行脚本

点击启动,开始执行测试

5>查看报告

报告数据详解:

①Label:定义HTTP请求名称

②Samples:表示这次测试中一共发出了多少个请求,我设置的20个,循环10次,所以是200个

③Average:平均响应时长,默认情况下是单个请求的平均响应时长,当使用了事务控制器时,也可以以事务为单位显示平均响应时长

④Median:中位数,也就是50%的响应时长

⑤90%Line:90%用户的响应时长

⑥95%Line:95%用户的响应时长

⑦99%Line:99%用户的响应时长

⑧Min:访问页面的最小响应时长

⑨Max:访问页面的最大响应时长

⑩Error%:错误请求的数量/请求的总数

⑪Throughput(吞吐量):默认情况下表示每秒完成的请求数,当使用了事务控制器时,也可以表示每秒处理的事务个数

⑫Received KB/sec:每秒从服务器端接收到的数据量

⑬Sent KB/sec:每秒向服务器端发送的数据量

注:jmeter中,时间单位都为毫秒

6>保存报告,注意,文件后缀为.jtl

注:上面的例子中只有一个HTTP请求,所以监听器放线程组下或者HTTP请求下结果都是一样的,当请求多了之后,可以在每个请求下都添加一个监听器

jmeter(4)——简单测试流程的更多相关文章

  1. 压力测试 Jmeter的简单测试及常用查看结果参数介绍

    (1)保存方案 (2)创建线程组 线程组用来模拟用户的并发访问 线程组主要包含三个参数:线程数.准备时长(Ramp-Up Period(in seconds)).循环次数. 线程数:虚拟用户数.一个虚 ...

  2. jmeter测试流程整理

    背景 整理jmeter脚本编写流程,注意事项,常用组件,常见问题. 参看链接:https://www.cnblogs.com/pwj2lgx/p/10282422.html 参看:processOn思 ...

  3. Jmeter教程 简单的压力测试

    Jmeter教程 简单的压力测试:http://www.cnblogs.com/TankXiao/p/4059378.html

  4. 使用JMeter进行简单的压力测试

    一.压力测试 顾名思义:压力测试,就是  被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况). 比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速 ...

  5. jmeter教程--简单的做压力测试

    Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 什么是压力测试 顾名思义:压力测试,就是  被测试的系统,在 ...

  6. 【JMeter】JMeter进行简单的数据库(mysql)压力测试

    JMeter进行简单的数据库(mysql)压力测试 1.点击测试计划,再点击“浏览”,把JDBC驱动添加进来: 注:JDBC驱动一般的位置在java的安装地址下,路径类似于:    \java\jre ...

  7. Jmeter实现简单web负载测试

    Jmeter实现简单web负载测试 简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. ...

  8. Jmeter教程 简单的压力测试【转】

    Jmeter教程 简单的压力测试[转] Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力 ...

  9. 简单几招助您加速 ARM 容器应用开发和测试流程

    随着5G时代的临近,低延迟网络.AI硬件算力提升.和智能化应用快速发展,一个万物智联的时代必将到来.我们需要将智能决策.实时处理能力从云延展到边缘和IoT设备端.阿里云容器服务推出了边缘容器,支持云- ...

随机推荐

  1. c#进阶之lambda表达式

    阅读之前,先确保对委托有基本的了解,传送门 c#进阶之浅析委托和事件. lambda表达式雏形第一步 在委托那篇文章,绑定的的方法都是具名函数,为了简化书写,可以换成匿名函数 public deleg ...

  2. C#大数据循环

    随笔 - 记录 在数据量超大的情况下使用多线程循环List,而且List不异常,一般是上锁. 不过今天发现其实内置了List的循环操作 一般情况下 用List.Foreach 数据量超大的情况下 推荐 ...

  3. iOS 使用 TestFlight 测试

    TestFlight 已经并入 Itunes connect. 测试方法: 1. itunes connect 上创建应用 2. xcode 里 archive 应用并 submit 到 itunes ...

  4. 【OCP认证12c题库】CUUG 071题库考试原题及答案(26)

    26.choose two Examine the structure of the PRODUCTS table. Which two statements are true? A) EXPIRY_ ...

  5. 【文文殿下】[51nod1469] 淋漓尽致子串

    SAM的经典应用 一个状态的SIze==1绝对不合法. 一个状态在parent树上有一个Size>1的后继绝对不合法(前面可以再补字符) 一个状态可以转移到Size>1的节点绝对不合法,因 ...

  6. iOS没你想的那么安全?

    iOS应用由于直接运行在用户的手机上,而不是运行在后台服务器上,所以更容易被攻击. 任何系统都会有木马病毒的产生,不存在绝对的安全,iOS应用由于直接运行在用户的手机上,而不是运行在后台服务器上,所以 ...

  7. html基础整理(01居中 盒子问题)

    01 文字居中 将一段文字置于容器的水平中点,只要设置text-align属性即可: text-align:center; 02 容器水平居中   先为该容器设置一个明确宽度,然后将margin的水平 ...

  8. git命令合集及github的克隆推送

    安装git 初始化仓库 提交相关 撤销相关 远程推送 分支相关 其他 遇到的错误 github的克隆上传 此文章只是对命令的一个统计,起备忘和复习git只是的作用,不建议从没接触过git的同学通过它来 ...

  9. SpringData JPA复合主键

    上一篇博客简单介绍了SpringData JPA实现简单的CRUD,分页与多条件的排序,那里的主键类型是Long,有时我们会遇到主键不是一个的,复合主键,经过调研如下.确定一个人,不能只根据他的姓名来 ...

  10. Django中的Cookie--实现登录

    Django中的Cookie--实现登录 Django Cookie  Cookie Cookie 是什么 保存在浏览器端的键值对,让服务器提取有用的信息. 为什么要有 Cookie 因为HTTP请求 ...