使用Jmeter测试博客

Zss 发表于:

一.测试的描述

被测试的网站:www.testone.top

指标:响应时间以及错误率

场景:线程数:20  循环:10 Ramp-up period:10

二.测试的流程

1.测试计划

2.线程组设置:用于模拟用户数及其使用的场景

3.http请求设置:发送http请求来测试

4.监听器设置:用于查看结果

5.运行

6.查看报告

三.基本的设置操作

1.新建测试计划下添加一个线程组

2.在线程组中添加一个http请求,设置其中get post或者其他的方法,端口默认是80

3.在线程组中需要再添加一个监听器,监听器选择为察看结果树

4.在线程组中添加一个聚合报告,用于查看测试的结果

5.点击运行

http相关设置:

场景设置:

线程组相当于有多个用户,同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的。一个线程的执行过程中,操作的变量,不会影响其他线程的变量值。

Delay Thread creation until needed: 默认情况下,测试开始的时候,所有线程就被创建完了。如果勾选了此选项,那么线程只会在合适的需要用到的时候创建。

Ramp-Up Period:
线程启动的时间,下图的线程配置,5个线程,5秒启动时间,每个线程执行两次循环。那么每秒会启动一个线程,每次循环执行一个请求。

取样器错误: 当线程执行取样器失败的时候,要执行的策略

选项:

  • 继续:忽略错误,是继续执行
  • Start Next Thread Loop: 忽略错误,线程当前循环终止,执行下一个循环。
  • 停止线程:当前线程停止执行,不影响其他线程正常执行。
  • 停止测试:整个测试会在所有当前正在执行的线程执行完毕后停止
  • 立即停止测试:整个测试会立即停止执行,当前正在执行的取样器如果可能会被中断。

那么这几个配置控制了,当遇到错误的时候,测试的执行策略,是否会继续执行。

调度器

如果不想立即执行执行,可以通过调度器控制测试执行的开始时间和结束时间。

  • 启动时间:控制测试在某个时间点启动。这个配置会被“启动延迟(秒)”配置覆盖。
  • 结束时间:控制测试执行的结束时间。这个配置会被“持续时间(秒)”配置覆盖。
  • 持续时间(秒):控制测试执行的时间。
  • 启动延迟(秒):控制测试多久后启动执行。

1.总请求次数=线程数*循环数

2.总运行请求时间=循环数*ramp

例子:

Number of Threads(users):     一个用户占一个线程,  200个线程就是模拟200个用户

Ramp-Up Period(in seconds):   设置线程需要多长时间全部启动。如果线程数为200 ,准备时长为10 ,那么需要1秒钟启动20个线程。也就是每秒钟启动20个线程。

Loop Count: 每个线程发送请求的次数。如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本

测试结果信息:

Label:说明是请求类型,如Http,FTP等请求。

#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。

Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。

Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。

90%line:是指90%请求的响应时间比所得数值还要小。

Min:是代表时间的数字,是服务器响应的最短时间。

Max:是代表时间的数字,是服务器响应的最长时间。

Error%:请求的错误百分比。

Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。

KB/sec:是每秒钟请求的字节数。