黑马性能测试笔记

为什么要性能测试:
1 满足大量用户操作
2 支持大量用户同事操作某个功能
3 技术选型 python?java?

性能测试的概念:
服务器性能

性能测试的关注点:
性能:软件属性中的“效率”特性
时间特性:指用户接口响应时间
资源特性:cpu,磁盘,内存,网速。

性能测试策略:
1 基准测试
狭义:也是单用户测试,测试环境确定以后,对业务模型中重要的业务做单独的测试,获取用户运行时的各项性能指标。
2 负载测试
3 稳定性测试
4 其他,并发测试,压力测试,容量测试

性能指标:
响应时间
并发数:
系统用户数:系统注册的总用户数
在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求
并发用户数:某一物理时刻同时像系统提交请求的用户数
吞吐量:指的是单位时间内处理的客户端请求数量,直接提现软件系统的性能承载能力
注意:
1 从业务角度来看,吞吐量也可以用”业务数/小时“”业务数/天“”访问人数/天“”页面访问量/天“
2 从网络角度来看,还可以用“字节数/小时”“字节数/天”
3 从技术指标来看,可以用每秒事务数(tps)和每秒查询数(qps)来衡量服务器具体性能处理能力

QPS:每秒查询数
服务器每秒处理指定请求数(如:控制服务器打到每秒60qps,服务器的性能各项指标是否能够正常,服务器处理能力一个重要指标)
TPS:每秒事务数,对于一个事务,通常是界面上一个场景,一个事务可以包含一个或者多个接口请求
计算:tps=并发数/平均响应时间
事务:就是业务请求,对应一个或多个操作。

点击数:点击数是衡量web服务器处理能力的一个重要指标。
提示:
1 点击数不是通常一般人认为的一个访问就是一次点击,点击数是该页面包含的元素(图片、链接、服务器发出的请求数量。
2 通常我们也用每秒点击次数(hps)——来衡量web服务器的处理能力。
注意:只有web项目才有此指标。

错误率:==失败业务数/业务总数*100%
错误率指系统在负载情况下,失败业务的概率
提示:
1 不同系统对错误率要求不同,但一般不超过千分之五
2 稳定性较好的系统,其错误率应该由超时引起,即超时率。

错误率不是功能有错误或者bug

资源利用率
说明:是指系统各种资源的使用情况,一般用"资源的使用量/总的资源可用量x100%“形成资源利用率的数据。
cpu 不高于80% ±5 在电脑里的所有处理请求(操作系统运行、软件程序、磁盘靠背等)都由cpu完成
内存不高于百分80 所有程序在运行时要消耗的空间(存储程序运行的数据)
磁盘不高于百分90 存储本地数据文件
网络不高于百分80 影响数据在网络中的传输速度

性能测试流程:

1 性能测试需求分析
2 性能测试计划及方案
3 性能测试用例
4 测试脚本编写/录制
5 建立测试环境
6 执行测试脚本
7性能测试监控
8 性能分析和调优
9 性能测试报告总结

性能需求分析:
被策系统:熟悉被策系统的业务功能和技术架构
测试内容:确定关键业务。即:用户使用频率较高的业务功能
通常逻辑复杂度较高的业务也是CPU密集运算较大的地方,考量服务器CPU在预定性能指标。
测试策略:负载测试?稳定性测试?并发测试?压力测试?
测试指标:无明确需求指标 通过查找相关资料,和类似的系统对比,以及对未来流量的评估,确定指标

性能测试计划及方案
说明:性能测试实施第一份文档,也是最重要的一份文档。
主要内容:
项目背景,测试目的,测试范围,测试策略,风险控制,交付清单,进度与分工

性能测试的用例模板
黑马性能测试笔记_第1张图片
黑马性能测试笔记_第2张图片

jmeter组件

同步定时器(syncharonizing timer)集合点
相当于一个蓄水池,累计到一定程度,会在同一时间点并发,所以可以用来做大数据量的并发请求。形成绝对并发。在这里插入图片描述
常数吞吐定时器(constant throughput tomer)
时间是分钟 秒的话*60

jmeter参数化

数据驱动 数据与代码分离
用户定义的变量
添加方式:添加计划:测试计划-线程组-配置元件-用户定义的变量

jmeter 断言
响应断言
响应代码:响应码 响应信息:响应头对应的信息

json断言:
1 要先确认json断言,不是直接报错
2 使用jayway jsonpath 1.2.0中的语法搜索指定的路径,如果找不到路劲,就会失败。
3 如果在文芳中找到json数据,并且对期望值进行验证,那么它将执行验证操作

黑马性能测试笔记_第3张图片
断言持续时间:持续时间就是响应时间,就是对响应时间就行断言。

关联:
提取参数

常用的关联方法:
正则表达式提取器
xpath提取器
json提取器:
黑马性能测试笔记_第4张图片
黑马性能测试笔记_第5张图片
黑马性能测试笔记_第6张图片

跨线程使用变量:

黑马性能测试笔记_第7张图片

在这里插入图片描述
操作步骤:
黑马性能测试笔记_第8张图片
先试用josn提取器读取到数据
黑马性能测试笔记_第9张图片

再使用“函数助手”生成setproperty函数
黑马性能测试笔记_第10张图片
生成后使用beanshell取样器生成变量
在这里插入图片描述

属性读取和jmeter变量读取不一样,需要使用另一个函数property函数提取属性。也在函数助手里面
黑马性能测试笔记_第11张图片
就可以使用全局变量了

性能实战
黑马性能测试笔记_第12张图片

1 熟悉数据库设计结构,便于后期对数据库的性能监控
2 性能测试的过程中,数据库容易出现性能瓶颈

性能测试的关注点:
需求分析:业务场景、程序代码、服务器、硬件配置

性能测试需求的获取
黑马性能测试笔记_第13张图片
性能测试点的提取规则
1 用户频繁使用的业务功能
2 非常关键的业务功能
3 特殊交易日或峰值交易的业务功能
4 核心业务发生中发调整的业务功能
5 资源占用非常高的业务功能
测试点:
黑马性能测试笔记_第14张图片
在这里插入图片描述

黑马性能测试笔记_第15张图片

性能测试计划

目标
测试背景
测试目的
黑马性能测试笔记_第16张图片
测试范围
黑马性能测试笔记_第17张图片

测试 策略
黑马性能测试笔记_第18张图片

4.3稳定性测试
黑马性能测试笔记_第19张图片
风险控制
黑马性能测试笔记_第20张图片
交付清单
在这里插入图片描述
进度与分工
黑马性能测试笔记_第21张图片

脚本编写(测试执行)

目标:学会性能的测试执行:性能脚本编写
性能测试执行前准备好环境和数据
能进行性能测试执行,并监控对应的指标

黑马性能测试笔记_第22张图片
接口百分之九十都是json数据。
http请求默认值:设置http请求的默认参数
一个线程组一个用例。

黑马性能测试笔记_第23张图片

执行:
1 构建测试数据,登陆csv
2 jmeter监控服务器

性能测试监控的关键指标介绍:
黑马性能测试笔记_第24张图片
黑马性能测试笔记_第25张图片

在这里插入图片描述
黑马性能测试笔记_第26张图片
黑马性能测试笔记_第27张图片
黑马性能测试笔记_第28张图片
黑马性能测试笔记_第29张图片
在这里插入图片描述

黑马性能测试笔记_第30张图片

黑马性能测试笔记_第31张图片

数据库性能

慢查询:
在这里插入图片描述

缓存命中率:
黑马性能测试笔记_第32张图片
在这里插入图片描述

数据库连接池:
在这里插入图片描述

黑马性能测试笔记_第33张图片
黑马性能测试笔记_第34张图片

mysql锁:
黑马性能测试笔记_第35张图片
黑马性能测试笔记_第36张图片
黑马性能测试笔记_第37张图片

压测机资源

在这里插入图片描述
性能监控指标

黑马性能测试笔记_第38张图片
慢查询日志的配置:

黑马性能测试笔记_第39张图片
黑马性能测试笔记_第40张图片

性能调优

黑马性能测试笔记_第41张图片

黑马性能测试笔记_第42张图片
在这里插入图片描述

你可能感兴趣的:(测试,压力测试)