性能班介绍¶
课程介绍¶
性能测试班是一个面向有测试经验,具有基础编程能力,想要提升性能测试能力的测试开发工程师的班级,课程以服务测试行业的社招需求为出发点,涵盖性能测试方案设计,JMeter 使用、二次开发,多个复杂系统的压测实战,中间件微服务压测实战,全链路压测实战。
学习计划¶
整体课程持续 14 周
技术体系 | 时长(周) |
---|---|
第一阶段 性能测试方案设计、JMeter使用详细讲解 | |
开学典礼与测试体系介绍 | 1 |
Linux命令与Bash编程 | 0 |
JMeter性能测试工具 | 0 |
单接口负载测试实战 | 1 |
Restful 接口压力测试实战 | 1 |
第二阶段 性能监控、分布式、复杂系统压测实战 | |
JMeter分布式压测与用例导入 | 0 |
性能监控系统Prometheus搭建实战 | 1 |
分布式压测与性能监控剖析实战 | 1 |
电商系统压测实战 | 1 |
复杂技术架构的电商系统压测实战 | 1 |
第三阶段 多协议、中间件、微服务压测实战 | |
多协议接口压测 | 0 |
中间件消息管道压测实战 | 1 |
中间件缓存系统压测实战 | 1 |
微服务性能测试 | 1 |
第四阶段 性能瓶颈分析与Java 进程性能剖析 | |
性能瓶颈分析 | 0 |
性能监控体系 | 0 |
JVM 性能剖析 | 0 |
Java 进程的性能剖析实战 | 1 |
电商平台前端性能监控实战 | 1 |
第五阶段 全链路、全场景压测实战 | |
内核层性能剖析 | 0 |
分布式性能监控系统 SkyWalking | 0 |
电商平台全场景压测实战 | 1 |
电商平台全链路压测实战 | 1 |
赠课 | |
Java语法基础 | 0 |
直播训练营¶
直播训练营 | 性能班 |
---|---|
性能测试实战训练营 - 单接口负载测试实战 | 有 |
性能测试实战训练营 - Restful 接口压力测试实战 | 有 |
性能测试实战训练营 - 性能监控系统 Prometheus 搭建实战 | 有 |
性能测试实战训练营 - 分布式压测与性能监控剖析实战训练营 | 有 |
性能测试实战训练营 - 电商系统压测实战 | 有 |
性能测试实战训练营 - 复杂技术架构的电商系统压测实战 | 有 |
性能测试实战训练营 - 中间件微服务实战 | 有 |
性能测试实战训练营 - Java 进程的性能剖析实战 | 有 |
性能测试实战训练营 - 全流程性能瓶颈分析实战 | 有 |
性能测试体系¶
学习目标¶
- 掌握性能测试基本概念。
- 掌握性能测试场景设计。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 性能测试介绍 | 性能测试价值 体系 流程 方法论 |
知识点 | 行业流行性能压测工具介绍 | |
知识点 | 行业流行性能监控工具介绍 | |
知识点 | 行业流行性能剖析工具介绍 | |
知识点 | 性能测试流程与方法 | |
知识点 | 性能测试计划 | 压测业务场景定义 性能指标拆解 测试方案 |
知识点 | 性能测试报告 | 压测业务场景定义 性能指标拆解 |
知识点 | 性能测试场景设计 | 压力测试 负载测试 基准测试 稳定性测试 健壮性测试 |
知识点 | 性能测试概念 | 并发 并行 多进程 多线程 TPS QPS 吞吐量 延迟 |
知识点 | 经典技术架构解析 | 传统服务 数据库 微服务 缓存 消息管道 |
Linux 与 Bash 编程¶
L1.Linux 文件处理命令¶
教学目标¶
- 熟悉 Linux 系统及常用命令。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Linux 系统与 Shell 环境准备 | 多平台配置 shell 使用环境 |
知识点 | Linux 常用命令之文件处理 | 面试必考经典命令 |
L2.Linux 性能与统计命令¶
教学目标¶
- 了解 Linux 系统中进程、线程、网络等核心概念。
- 熟悉 Linux 常用统计命令。
- 掌握 Linux 系统性能数据统计命令。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Linux 常用命令之性能统计 | cpu mem network io |
知识点 | Linux 常用统计命令 | sort uniq wc 等常用统计命令 |
知识点 | Linux 进程与线程 | 多进程、多线程、死锁、进程间通讯 |
L3.Linux 数据处理三剑客¶
教学目标¶
- 掌握 Linux 核心三剑客命令 grep awk sed 与数据处理分析能力。
- 掌握日志分析能力。
- 掌握 Linux 环境中配置 Java、Python、NodeJs、Android-SDK 等。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Linux 三剑客之 grep | 数据检索工具 |
知识点 | Linux 三剑客之 awk | 最强大的经典数据处理工具 |
知识点 | Linux 三剑客之 sed | 数据的流式编辑 |
知识点 | Linux 三剑客与管道使用 | grep、awk、sed 等 linux 经典数据处理技术 |
知识点 | 【实战】三剑客实战之 Nginx 日志分析实战 | 以真实的 nginx log 为例演练如何分析核心测试数据指标 |
知识点 | 【实战】三剑客实战之性能、网络统计实战 | 统计进程的资源占用数据 |
知识点 | linux 进阶命令 | curl 接口请求、jq json 数据处理 |
知识点 | Linux 环境配置 | 基础环境安装 java python nodejs android-sdk 等 |
L4.Bash 编程¶
教学目标¶
- 了解 Bash 编程语法。
- 掌握 shell 脚本编写。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Bash 编程语法 | 变量定义与常用流程控制语法 |
知识点 | Bash 脚本编写 | 编写可以直接执行的 shell 脚本 |
性能测试工具与监控¶
L1.性能测试工具-JMeter常用组件¶
学习目标¶
- 掌握 JMeter 的安装配置。
- 掌握 JMeter 常用组件。
- 掌握基本的监控命令行。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter 介绍与安装 | |
知识点 | JMeter 的运行 | |
知识点 | 使用代理服务器录制请求 | |
知识点 | 测试计划 | |
知识点 | 线程组 | |
知识点 | 控制器 | |
知识点 | JMeter 采样器/取样器 | |
知识点 | JMeter 场景逻辑控制技术 | |
知识点 | JMeter 监听器 | |
知识点 | JMeter 定时器 | |
知识点 | JMeter 断言元件的使用 | |
知识点 | JMeter 常用配置元件剖析 | |
知识点 | JMeter 前置处理器 | |
知识点 | JMeter 后置处理器 | |
知识点 | JMeter 执行顺序 | |
知识点 | JMeter 虚拟用户管理 | |
知识点 | HTTP 请求属性设置 | |
知识点 | HTTP cookie 设置 | |
知识点 | HTTP 信息头管理器 | |
知识点 | HTTP 请求设置 | |
知识点 | 监听器与测试结果 |
L1.性能监控-服务端统计工具¶
学习目标¶
- 掌握 Linux 服务端基本的监控命令。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 性能分析系统级别指标 io cpu mem net | |
知识点 | top 命令使用 | |
知识点 | ps 命令 | |
知识点 | nmon 工具 | |
知识点 | 基本性能监控系统使用 |
性能监控与复杂系统压测¶
L2.性能测试工具-JMeter参数化与并发¶
学习目标¶
- 掌握 JMeter 脚本参数化。
- 掌握压测中的并发策略。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter 变量与引用 | |
知识点 | 使用变量进行参数化测试 | |
知识点 | JMeter 参数化 csv | |
知识点 | JMeter 参数化 xml | |
知识点 | JMeter 参数化 json | |
知识点 | JMeter 参数化 yaml | |
知识点 | JMeter 参数化 redis | |
知识点 | JMeter 参数化 mysql | |
知识点 | JMeter 并发策略 | |
知识点 | web service 加压实战 |
L2.性能监控-Prometheus 监控系统¶
学习目标¶
- 掌握 Prometheus 监控系统搭建。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 性能监控系统价值 | |
知识点 | 搭建服务端性能监控系统 Prometheus | |
知识点 | 搭建数据分析系统 Grafana | |
知识点 | jmeter 实时压测结果收集 | |
知识点 | 系统性能数据收集(cpu、mem、net、io) | |
知识点 | Prometheus 监控系统部署应用实战 |
分布式复杂系统压测¶
L3.性能测试工具-JMeter分布式与Beanshell¶
学习目标¶
- 掌握 JMeter 分布式压测与用例导入。
- 掌握 Beanshell 脚本编写。
知识点¶
- JMeter分布式压测与用例导入
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter 分布式加压机制 | |
知识点 | JMeter 分布式压测与持续集成实战 | |
知识点 | Beanshell 脚本开发技术 | |
知识点 | Java-Beanshell 语法与内置对象 | vars、cxt、prev 等内置技术 |
知识点 | 自定义 jar 导入 JMeter | 自定义 jar 导入 JMeter 加解密 |
知识点 | 运行 JUnit 测试用例 | 运行 JUnit 测试用例 |
知识点 | JMeter 调试方法 |
L3.用户端性能测试-用户体验测试¶
学习目标¶
- 掌握原生 app 性能数据采集。
- 掌握 webview 性能数据采集。
- 掌握微信小程序性能数据采集。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | app 端 native 原生性能分析 | 分析原生 app 性能数据 |
知识点 | app 端 webview 控件性能分析 | 分析 webview 性能数据 |
知识点 | app 端微信小程序性能分析 | 分析微信小程序性能数据 |
知识点 | w3c performance api 应用 | 应用 w3c performance api |
知识点 | 移动性能数据的自动化采集 | 自动采集移动性能数据 |
L3.性能监控-Nginx与数据库¶
学习目标¶
- 掌握 Nginx 数据采集。
- 掌握数据库数据采集。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Nginx 性能数据监控 | |
知识点 | 数据库服务器性能数据采集(以 mysql 为例) |
微服务压测与性能瓶颈分析¶
L4.性能测试工具-JMeter微服务压测¶
学习目标¶
- 掌握微服务中常用协议的性能压测。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter Dubbo 接口压测实战 | |
知识点 | JMeter PB 接口压测实战 | |
知识点 | JMeter TCP Socket 压测实战 | |
知识点 | JMeter Kafka 压测实战 | |
知识点 | JMeter 微服务性能压测实战 |
L4.性能瓶颈分析-Nginx/MySQL/Redis/Kafka¶
学习目标¶
- 掌握缓存、队列、JVM 的性能瓶颈分析。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 应用性能瓶颈分析(nginx) | |
知识点 | 数据库性能瓶颈分析(mysql) | |
知识点 | 缓存性能瓶颈分析(redis) | |
知识点 | 队列性能瓶颈分析(kafka) |
L4.性能监控-JVM/队列/缓存¶
学习目标¶
- 掌握缓存、队列、JVM 的性能数据采集。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | JVM 性能数据采集(微服务 spring boot 为例) | |
知识点 | 队列服务器性能数据采集(以 kafka 为例) | |
知识点 | 缓存服务器性能数据采集(以 redis 为例) |
全链路、全场景压测¶
L5.性能测试工具-JMeter二次开发¶
学习目标¶
- 掌握 JMeter 插件机制。
- 了解全链路压测。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter 的插件体系 | |
知识点 | 加载第三方插件 | |
知识点 | JMeter 插件机制 | |
知识点 | 编写首个自己的插件 | |
知识点 | JMeter 源代码分析 | |
知识点 | 全链路压测体系介绍 |
L5.性能瓶颈分析-性能剖析与火焰图¶
学习目标¶
- 掌握 JVM 性能分析方法。
- 掌握火焰图分析方法。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Java 程序的常见启动参数 | |
知识点 | JVM 内存分配机制 | |
知识点 | JVM 性能剖析常用命令 | |
知识点 | JVM 性能分析工具 JVisualVM | |
知识点 | 内核 trace 技术体系 | bcc bpftrace iovisor perf systemtap dtrace |
知识点 | 内核 trace 工具 perf | |
知识点 | 内核 trace 工具 eBPF | |
知识点 | cpu 火焰图 Flame Graphs 分析 | |
知识点 | 调用图 call graph 分析 | |
知识点 | 内存火焰图 Flame Graphs 分析 |
L5.性能监控-分布式性能监控系统 SkyWalking¶
学习目标¶
- 掌握 SkyWalking 搭建及使用。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | SkyWalking 系统介绍 | |
知识点 | SkyWalking 搭建 | |
知识点 | SkyWalking 功能介绍 | |
知识点 | Java 应用 Trace 实战 | |
知识点 | Python 应用 Trace 实战 | |
知识点 | 前端应用 Trace 实战 | |
知识点 | 移动端 Trace 实战 |
L5.性能测试平台-性能测试平台设计¶
学习目标¶
- 掌握结合 JMeter 开发性能平台。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 性能测试平台设计方案 | |
知识点 | 性能测试平台源代码分析讲解 |