找回密码
 立即注册
gz08周建辉 +好友
这个人很懒什么都没写
听众
8
主题
0
金钱
60
个人名片
粉丝关注
还没有人关注TA
添加表情

jmeter第一天

已有 135 次阅读2019-9-9 20:22

进行性能测试的原因:1、评估系统的能力;2、验证系统的可靠性和稳定性;3、识别系统中的弱点;4、系统调优(测试的重点就是性能调优)
性能测试的流程:1、需求分析;2、性能测试场景的设计;3、性能测试计划的编写;4、脚本开发;5、性能环境和数据的准备;6、性能的执行;7、性能结果分析;8、性能总结报告
性能测试结束后需要提交的文件:性能测试计划,性能测试脚本,性能分析结果(根据分析结果给出调优方法),性能的总结报告
性能测试的类型:
1、基准测试:在给系统施加较低压力时,查看系统的运行状态情况并记录相关数据作为基础参考
2、负载测试:对系统不断的增加压力或者在一定的增加压力下持续时间,直到系统某项或者多项性能指标到达我们系统的安全临界值
3、压力测试:系统在峰值负载或者超过峰值负载的情况下处理事务的能力
4、稳定性测试(强度测试):在系统加载一定压力情况下,使系统持续运行一段时间,以此检测系统是否稳定
5、并发测试:测试多个用户同时访问同一应用(功能)、同一模块或者同一数据记录时是否存在死锁或者其他问题
jmeter性能测试工具是apache组织开发的基于Java语言开发的压力测试工具
jmeter的特点:1、可以对http和ftp服务器进行压力测试,同时还可以对数据库进行测试以及接口测试(接口性能测试);
      2、完全移植和100%的纯java
      3、可以实现多线程的并发
      4、支持大量的第三方插件扩展
jmeter的工作原理:1、前期我们需要录制好性能脚本-----通过badboy工具进行录制
    2、导入jmeter工具进行完善脚本
    3、对服务器进行性能测试
jmeter的缺点:压力值不能精确控制,难以适应高并发的情况,而且由于是Java编写的,本身比较消耗资源
1、事务
定义一:某用户操作步骤的集合,也可以理解为一个步骤或者一个功能
定义二:性能测试中,事务是指从端到端,一个完整的操作过程,比如一次登录、一次查询、一次支付。
无论流程步骤多或者少,一定要保证事务存在的意义性
2.什么是断言(检查点)
 响应会有两种情况
第一种:正确的响应
第二种:错误的响应
  jmeter中有个元件叫做断言,它的作用和loadrunner中的检查点类似,用于检查测试中得到的响应数据等是否符合预期值,用以保证性能测试过程中数据交互与预期一致。
  使用断言的目的:在request返回层面添加一层判断机制,因为request成功后,并不代表结果一定正确
  所谓的检查点,就是根据系统用户的输入,按照业务要求的逻辑处理后产生的输出,不同的业务场景、不同结果
检查点分类:测试的检查点主要包括界面的展示、文件、数据库、业务日志等
参数化是自动化测试脚本的一种常用技巧。简单的来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行的时候指定参数的取值范围和规则;这样我们的脚本在运行时就可以根据需要选取不同的参数值作为输入(入参);这种方法通常被称为数据驱动测试(data driven test),参数的取值范围被称为数据池(data pool)

jmeter的基本结构
1.test plan  (测试计划):测试计划是用来描述本次性能测试的需求,所有相关的内容都是基于该测试计划展开的。
2.线程组:线程组可以理解为虚拟用户组
  a.线程数:表示虚拟用户数--50个虚拟用户数
  b. ramp-up period:用来设置虚拟用户多久时间加载完成--10s(表示50个虚拟用户在10s内完成加载,每秒加载5个虚拟用户)
  c.循环次数:如果没有勾选“永远”,每个线程发送请求的次数---2  (线程循环2次,线程内的线程数是50,总的请求数应该是100,也就是发送了100个请求)
   一般我们做一个长时间的一个并发测试或者是强度测试,需要勾选“永远”,这个可以保持每时每刻都会有相同的请求数一直发送到服务器

 调度器:主要用来控制我们运行的一个持续时间
持续时间:要进行并发的具体的运行时间
启动延长:定义一个时间,在这个时间内到达我们并发的一个具体值(如果设为10s,并发为200,那么在10s内,200个并且全部启动)
启动开始:设置在什么时间点去执行
启动结束:在什么时间点结束

3、添加一个http请求

名称:根据实际场景来取(自定义)
协议:根据实际场景来取
服务器名称或者ip地址:http请求发送的目标服务器名称或者ip地址
端口号:目标服务器的端口号,默认是80端口,可以不用写
方法:发送http请求的方法,常用方法:get、post
路劲:目标url路劲(不包括服务器地址和端口号)

自动重定向:如果选择了该选项,当发送http请求后得到的响应是301和302时,jmeter会自动重定向到新的页面

user keepalive (持久长链接):勾选后,jmeter和目标服务器采用keep-alive方式通信

use multipart/from-data for http post :当发送http post请求,需要勾选,同请求一起发送文件


4、察看结果树:监控http请求结果的详细结果

5、聚合报告:生成此次性能的测试数据报告
所有时间单位都是ms。
label :对应接口的名称
samples :测试一共发出的请求总数
average:平均响应时间
median:中位数,这个值是指所有数据按照由小到大将其排序;取出中间的响应时间
90%line:90%的用户的响应时间小于这个值
min :所有请求中最小的响应时间
max :所有请求中最大的响应时间
error:错误的请求数/请求总数
throughput:吞吐率---每秒完成请求数
received:接受服务器的数据量
sent:发送的数据量

吞吐量:是指系统在单位时间内传输和返回数据量的总和
响应时间:系统对请求作出响应的时间
吞吐率:描述服务器在实际运行期间单位时间内处理的请求数
事务:用户操作步骤的集合
每秒点击事务数:每秒钟系统处理事务或交易的数量
每秒点击数:每秒钟用户向服务器提交的请求数

同时在线用户数=每秒请求数RPS(吞吐量)+并发连接数/平均用户思考时间
并发
同一时间内向服务器发送同一请求
并发3中情况

a:所有用户同一时间内做同一件事或者同一个操作,这里的同一操作时指同一个业务类型,列如我们同事提交订单(流程性)

b:所有用户同一时间内做同一件事或者同一个操作,同时修改一个数据,同时的一个操作,列如我们一个流程中的具体环节

c:所有用户同一时间内对系统做不同的操作


所有用户包括以下:
1.注册用户:当前平台有多少人注册
2.在线用户:当前平台有多少人在线
3.并发用户:测试过程中需要进行测试同一时刻操作的用户


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册