jmeter测试工具-性能测试基础
"""
ISO七层模型
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
......
"""
"""
dos命令:
打开win+R键,输入cmd打开dos命令窗口
1.ipconfig 查看电脑的物理地址(也叫mac地址)
2.arp -a 查看ip地址和物理地址的对应关系
3.ping www.baidu.com 查看当前计算机与目标计算机是否连通 ping 网络地址(ttl生存时间)
4.cls 清屏
5.切换盘符 盘符:例 C:UsersMI>d: 直接切换到D盘
6.cd 文件名 进入目标文件夹
7.dir 查看当前文件夹目录
8.cd.. 返回上一级目录
9.cd/ 返回根目录
10.md 新建目录 新建目录(文件)md C:UsersMI>fen
11.rd 目录地址名字 删除目录(不能删除文件夹里有内容的文件)rd C:UsersMI>fen
12.copy 复制的目录路径和名字 复制到哪里的;copy C:UsersMI>fen C:UsersMI>fen
13.move 移动(剪切) 使用方法同上
14.del 目录名字 删除目录内的所有内容(注意重要文件的删除)
15.del *.* 当前在哪个文件夹下就会把当前的所有文件删除 文件夹不会删除
16.del 具体的文件目录和名字 可以单独删除某一个文件 例如 del C:UsersMI>fen2.png
17 键盘上下键可以快速
18 format:盘符 格式化硬盘 就是清空数据 了解 轻易不能尝试(*******)
"""
网址 域名:
·······
性能测试初识
1,什么是性能测试
2,为什么要做性能测试
3,如何做性能测试,以及性能测试报告输出
性能测试指标
性能测试指标
1 指标:能反应出一些问题的一些特征表现
软件性能测试指标:响应时间
响应时间:对请求做出响应所需要的时间,是用户感知软件性能的主要指标
响应时间包括:从用户角度看
1,用户客户端呈现时间
2,请求/响应数据网络传输时间
3,应用服务器处理时间
4,数据库系统处理时间
响应时间多少合理?
对于一个Web系统,普遍接受的响应时间标准为2/5/8秒。
2秒钟之内响应客户是非常好
5秒钟之内响应客户是可以接受的
8秒钟是客户能接受的响应的上限
并发用户数:
用户数的概念:
例如:组长:小李,你测试下这个web系统的性能,看能支持多少并发?
小李:我咋搞?
吞吐量:
性能测试:指单位时间内系统处理用户的请求数
从业务角度看:吞吐量可以用:请求数/秒,页面数/秒,人数/天或处理业务数/小时等单位来衡量
从网络角度看,吞吐量可以用:字节/秒来衡量
对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,它能够说明系统的负载能力
TPS:每秒事务数 (越大越好)
性能计数器:是描述服务器或操作系统性能的一些数据指标,比如:内存,CPU,磁盘等资源使用率等
思考时间:
性能测试方法
7种性能测试方法
1,验收性能测试(要以指定的性能指标,或者用户的标准去进行验收)
概念:模拟生产上线业务环境,测试是否满足性能要求
特点:1,确定用户的环境,(硬件环境,软件环境)
2,用户要求的性能指标
3,执行,分析结果
4,验收性质
5,一定要有客观性的结果
示例:要求系统在100个并发用户的条件下进行A业务操作响应时间不超过5s
解决:100个并发用户数的响应时间是不是5s之内
目的:主要用来验证系统是否能够达到官宣称的能力
2,负载性能测试
负载测试:主要是考察软件系统在既定负载下的性能表现
例如:做两百个用户数的并发,负载就是两百,负载一般是合理性的负载,是个定数
此指标一般提现:响应时间,交易容量,并发容量,资源使用率等
3,压力测试(一般提现极限的情况下)
为了考察系统在极端条件下的表现,极端条件可以是超负荷的交易量和并发用户数
目的:1,当前软件系统在极端条件下的一个表现,例如最大在线用户数等。
2,就是预估当前软件系统的性能,起到规划
注意:这个极端条件并不一定是用户的性能需求,可能远远高于用户的性能需求
压力测试:预期结果就是系统出现问题,而我们要考察的是系统处理问题的方式。
比如说,我们期待一个系统在面临压力的情况下能够保持稳定,处理速度可以变慢,但系统不能崩溃
因此,压力测试是能让我们识别系统的弱点和在极限负载下程序将如何运行
负载测试和压力测试的区别:
负载测试一般是用户需求的(当前的一个压力),关心的是用户规则和需求
压力测试一般是远远超出用户需求的,可以作为软件系统的性能能力的一个规划,可以作为以后软件系统的一个规划方向,关心的是软件系统本身。
我们做软件压力测试时,往往要增加比负载测试更多的并发用户和交易,为什么?
答:就是去预估软件性能,从而更好的优化软件和规划软件未来的
4,并发测试
验证系统的并发处理能力,负载测试和压力测试都会用到并发(集合点)
5,配置测试
通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到各项资源的最优分配原则。
一般用于性能调优和规划能力
6,稳定性测试
软件的可靠性,与稳定性
最容易存在的问题:1,内存泄漏 2,日志文件会把磁盘文件占满 就会导致软件的性能下降
7,恢复性测试
软件已经存在异常的情况下,软件功能能不能恢复正常功能的测试
基准测试:没加一个模块之前的相应的指标或基准,再加入另一个模块后,测试原来模块的性能,作比较,以判断模块对性能的影响
jmeter中配置元件
1,配置元件:http请求默认值,http信息头管理器,HTTP Cookie管理器,HTTP CACHE管理器
http请求默认值
http信息头管理器
http Cookie管理器
HTTP CACHE管理器:
一般指的是浏览器的缓存
可以用于模拟浏览器的Cache行为,更接近用户的真实行为
如果Test Plan中某个请求的元素是被缓存的元素,则Test Plan在运行过程中会直接从Cache中读取元素,这样得到的返回值就会是空,该请求设置了断言检查响应体中的指定内容是否存在,该断言就会失败
jmeter中参数化
把请求中的请求参数的常量变为变量
参数化方式:
1,CSV 数据文件设置
2,用户定义的变量(参数一般当做全局的)
3,函数助手:例如:_rodmon
1,CSV 数据文件设置
1,文件名为存放参数文件的路径 例如C:/Users/MI/Desktop/练习/css选择器知识.txt,注意路径中最好不要出现中文名的文件
2,文件编码:UTF-8 (一般情况)
3,变量名称:csv文件中的变量(位置关系一一对应,多个变量用英文逗号隔开)
4,线程共享模式:当前线程组
其他栏位信息不变,填写完毕,在对应的请求中把参数变为变量,引用变量${}
2,用户定义的变量(一般全局的参数用此方式)
3,函数助手:例如:_rodmon
jmeter中集合点技术
对某个请求做并发-同步定时器
1,注意:同步定时器的作用域范围,对那个请求做并发,就把该同步定时器放到该请求作用域内,要是把同步定时器放在该线程组下面,是对该线程的所有请求做并发,修改并发的线程组数量
关于同步定时器的配置:
模拟用户组的数量:
a:每个集合够多少个模拟用户(线程)后发送一次测试请求;(例如6,就是等6个用户数到齐了再走,不到齐不走)
b:如果设置为0,等同于设置为线程组中的线程数;
c:确保设置的值不大于它所在线程组包含的用户数(线程数)---一直集结线程而不发出测试请求,知道超时
超时时间以毫秒为单位:
注意:如果此值为2小于线程
jmeter中断言
断言:就是检查点,根据响应的某个结果判断是否符合预期结果值
常用断言:
1,响应断言
2,响应持续时间
3,json响应断言
4,响应大小
jmeter中监听器
监听器中的四种查看结果方式:
1,察看结果树
2,聚合报告
3,图形结果
4,用表格察看结果
jmeter中录制脚本
jmeter中如何录制脚本
1,新建一个测试计划---添加---非测试原件---HTTP代理服务器
2,在浏览器中进行设置-高级-系统-打开计算机代理设置
3,如下图所示,然后启动HTTP代理服务器
4,录制完毕,关闭录制,关闭代理