全栈性能测试修炼宝典-JMeter实战笔记(二)
性能测试初体验
性能测试实质:利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题,分析并解决;找出系统性能变化趋势,为后续的扩展提供参考
测试分类

测试内容中,负载测试、压力测试、性能测试、大数据测试、恢复测试、内存泄露测试、竞品测试(比较测试)和可靠性测试,均为性能测试。由此可见性能测试在软件测试中的重要程度。
性能测试的价值就是保障系统的性能,提供良好的用户体验;尽可能地找出系统性能薄弱环节,帮助进行性能优化。
性能测试流程

(1)业务学习:通过查看文档,手动操作系统来了解系统性能
(2)需求分析:分析系统非功能需求,圈定性能测试的范围,了解系统的性能指标
(3)工作评估:工作量分解,评估工作量,计划资源投入(即需要多少人力,多少工作日来完成性能测试工作)
(4)设计模型:圈定性能测试范围后,把业务模型映射成测试模型
(5)计划编写:计划测试工作,在文档中明确列出测试范围、人力投入、持续时间、工作内容、风险评估、风险应对策略等
(6)脚本开发:录制或者编写性能测试脚本
(7)测试环境准备:性能测试环境准备包括服务器与负载机两部分,服务器是被测系统的运行平台,负载机是我们用来生产负载的机器,用来安装负载工具,运行测试脚本
(8)测试数据准备:根据测试模型来准备被测系统的主数据与业务数据
(9)测试执行
(10)缺陷管理:对性能测试过程中发现的缺陷进行管理
(11)性能分析:对性能测试过程中暴露出来的问题进行分析,找出原因
(12)性能调优:性能测试人员与开发人员一起来解决性能问题
(13)测试报告:测试工作的重要交付文件,对测试结果进行报告,主要包括性能指标说明(tps、rt、cpu等)
性能测试的交付件:①测试计划 ②测试脚本 ③测试程序 ④测试报告或者阶段性测试报告
(14)评审:对性能报告中的内容进行评审,确认问题,评估上线风险
性能测试成功与失败要素
性能测试难点:
(1)需求分析
(2)场景设计
(3)性能诊断调优
(4)环境搭建和模拟
性能测试重要关注点:
(1)评估系统,需求分析
(2)场景设计、用例设计
(3)测试执行、是否通过:下图为执行时常见的需要关注的指标

(4)性能诊断优化
性能测试相关术语
TPS:每秒完成的事务数,通常指每秒成功的事务数
RT/ART:响应时间/平均响应时间
CPU Using:CPU利用率
Mem Using:内存使用情况
PV:每秒用户访问页面的次数
全栈性能测试修炼宝典-JMeter实战笔记(二)的更多相关文章
- 全栈性能测试修炼宝典-JMeter实战笔记(三)
JMeter体系结构 简介 JMeter是一款开源桌面应用软件,可用来模拟用户负载来完成性能测试工作. JMeter体系结构 X1~X5是负载模拟的一个过程,使用这些组件来完成负载的模拟 Y1:包含的 ...
- 全栈性能测试修炼宝典-JMeter实战笔记(一)
了解性能测试 性能测试不仅能够定位.分析问题,还要把握系统性能变化趋势:性能测试工程师能够帮助解决性能问题,搞定测试过程中的各种不合理配置,给出专业的优化建议. 第一章 性能方向职业发展 软件测试职业 ...
- 全栈性能测试修炼宝典--Jmeter实战(二)
性能测试初体验 1.测试分类 从图中可以看出,性能测试在整个软件测试环节中占了50%的内容,比如负载测试.压力测试.性能测试.大数据量测试.恢复测试.内容泄露测试.竞品测试(比较测试)和可靠性测试. ...
- 《全栈性能测试修炼宝典JMeter实战》学习记录
说明:原书中jmeter版本为2.x,我的笔记中截图为5.x
- 全栈性能测试修炼宝典--Jmeter实战(三)
JMeter体系结构 1.JMeter体系结构 (1)名词解释 元件:JMeter工具菜单中的一个子菜单,比如HTTP请求.事务控制器.响应断言就是一个元件. 组件:一组元件的集合,比如逻辑控制器中有 ...
- 全栈性能测试修炼宝典--Jmeter实战(一)
性能测试方向职业发展 1.软件测试发展路线 我们可以暂且把软件测试职业路线分为3个方向,分别是业务路线.技术路线.管理路线:4个象限,分别为执行层.中层.中高层过渡.高层. (1)业务路线 常见业务路 ...
- 老男孩python3.5全栈开发第9期+课件笔记(1-15部全 共125天完整无加密)
点击了解更多Python课程>>> 老男孩python3.5全栈开发第9期+课件笔记(1-15部全 共125天完整无加密)大小:236G 此课程为老男孩全栈开发最新完结课程,适合零基 ...
- “全栈2019”Java多线程第三十二章:显式锁Lock等待唤醒机制详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- mysql颠覆实战笔记(二)-- 用户登录(一):唯一索引的妙用
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...
随机推荐
- Neighbour-Joining (NJ算法)
clc;clear all;close all; Distance = [0,2,4,6,6,8; 2,0,4,6,6,8; 4,4,0,6,6,8; 6,6,6,0,4,8; 6,6,6,4,0,8 ...
- C# 托管与非托管类型 堆和栈 值类型与引用类型 装箱与拆箱
一.托管类型与非托管类型 1.托管类型 托管类型包括 引用类型 以及 包含有引用类型或托管类型成员的结构. 引用类型 含引用类型或托管类型成员(字段.自动实现 get 访问器的属性)的结构 // 托管 ...
- Autofac的基本使用---2、普通类型
Autofac的基本使用---目录 准备 使用的表是Student,创建相关的IDAL.DAL.IBLL.BLL层. 使用EF,创建一个Model层,存放edmx文件. 控制台程序的使用 using ...
- Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之八(五十七)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- 十大经典排序算法最强总结(含Java、Python码实现)
引言 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面 ...
- Thread通信与唤醒笔记1
synchronized if判断标记,只有一次,会导致不该信息的线程运行了,出现了数据错误的情况 while判断标记,解决了线程获取执行权之后,是否要运行! notify 只能唤醒一个任意线程,如果 ...
- mysql数据库的连接以及增删改查Java代码实现(转载)
每天叫醒自己的不是闹钟,而是梦想 数据库: create table t1(id int primary key not null auto_increment,name varchar(32),pa ...
- matplotlib中subplots的用法
1.matplotlib中如果只画一张图的话,可以直接用pyplot,一般的做法是: import matplotlib.pyplot as plt plt.figure(figsize=(20,8) ...
- sendfile“零拷贝”和mmap内存映射
在学习sendfille之前,我们先来了解一下浏览器访问页面时,后台服务器的大致工作流程. 下图是从用户访问某个页面到页面的显示这几秒钟的时间当中,在后台的整个工作过程. 如上图,黑色箭头所示的过程, ...
- 二进制格式mysql
1.二进制MySQL安装 #下载二进制格式的mysql软件包 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.31- ...