目录
1 性能测试
1.1 概念
在功能测试之后进行,检查系统有没有性能问题。性能测试时通过自动化的测试工具,模拟正常、峰值、以及异常负载条件来对系统中的各项性能指标进行测试。
1.2 性能测试指标
①响应时间:对请求作出响应需要的时间,包括用户客户端响应时间,请求/响应数据网络传输时间、应用服务器处理时间、数据库系统处理时间。
②并发用户数:同一时间段访问系统(在线)的用户数量。
③吞吐量:单位时间内成功地传送数据的数量。
④系统性能计数器:描述服务器或者操作系统性能的一些数据指标,内存,CPU,磁盘等资源使用率。
⑤思考时间:消息和消息之间发送的间隔时间。
1.3 性能测试步骤
性能测试的准备
搭建性能测试环境
性能脚本开发
性能测试脚本执行
结果分析与调优
测试报告和结果追踪
2 JMeter的安装
3 JMeter的默认配置修改
3.1 界面英文改中文(汉化)
①临时性修改:启动JMeter,选择菜单栏中的Options,选择Choose Language 选择chinese。(每次启动都需要修改,不推荐)
②永久性修改:修改配置文件bin目录下得jmeter.properties文件,找到文件中的#language=en,将其修改成language=zh_CN(注意删掉前面的#),重启JMeter。
3.2 修改主题(外观)
4 JMeter的元件和组件介绍
4.1 元件和组件的概念
组件:可以实现某功能。(类似于方法)
元件:多个类似功能的组件组成的容器(集合),就是元件。(类似于类)
4.2 元件的功能
那么接口自动化脚本的实现过程对应着JMeter的哪个元件?
1、初始化测试数据 —————— 配置元件
2、对请求参数化进行赋值 —————— 前置处理器
3、调用get/post方法发送请求 —————— 取样器
4、提取响应中得特定字段 —————— 后置处理器
5、对提取出来的结果与预期结果进行比较 —————— 断言
6、在控制台查看脚本的运行结果 —————— 监听器
5 使用JMeter的第一个案例:访问百度首页
①在测试计划上右击,按照图片步骤选择线程组。
②在线程组上右击选择一个HTTP请求 和一个察看结果树
③在http请求里填写内容
④点击运行,出现结果
6 线程组介绍
可以通过设置线程组中的线程数、循环次数等,来实现一个或者多个用户发送一个或者多个请求。
点击左边的线程组,填写在右边出现的信息。
10个用户在5s之内分别发送1个http请求。
7 Http请求介绍
如何发送http请求?
①发送get请求-请求参数在路径中
② 发送get请求-请求参数在参数列表中
③发送post请求-请求参数在参数列表中
④ 发送post请求-请求参数在消息体数据中
8 察看结果树介绍
结果树中有三部分,取样器结果,请求(请求头,请求体),响应数据(响应头,响应体)。
如果响应数据内容乱码,可以在配置文件jmeter.properties中进行修改。
9 JMeter参数化
9.1 参数化
参数化是自动化测试脚本的一种常用技巧。简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来代替,在脚本运行时指定参数的取值范围和规则;这样,脚本在运行时就可以根据需要选取不同的参数值作为输入。
9.2 参数化的4种方法
①用户定义的变量
变量使用时将变量名写在 ${} 中
②用户参数
对同一组参数,当不同用户来访问时,可以获取到不同的值
在用户参数中添加两个用户zs和ls,两个参数name和age
在http请求中通过参数列表传递参数
在线程组中修改线程数为2,察看结果树,对应传递的数据分别为zs,ls
③CSV数据文件设置
在一个或多个用户来访问多次循环时,想要获取到的值不同,选择CSV数据文件参数化。
需要导入外部一个含数据的文件,这里给定的是jmeterTest.txt
在http请求中填写信息
设置线程组的属性,让一个线程循环3次,得到结果
④函数(_counter函数)
自动生成不重复的数据,让每个用户每次得到不同的值,并且不需要提前定义。
复制生成的函数到http请求的路径中,点击运行。