极客时间测试开发进阶训练营¶
极客时间测试开发进阶训练营 ¶
课程介绍¶
极客时间测试开发进阶训练营为极客时间测试开发训练营,内容由极客时间与霍格沃兹测试开发学社联合打造,帮助测试开工程师实现快速能力提升,胜任公司内的测试体系建设。
第一阶段 用户端测试¶
用户端 Web 自动化测试-L1¶
教学目标¶
- 熟悉 Selenium 框架与常用操作
- 掌握 Web 自动化测试用例录制能力
- 掌握 Web 自动化测试用例编写能力
- 掌握 Web 自动测试实战能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | Web 自动化测试价值与体系 | 价值体系 技术选型 学习路线 |
| 知识点 | 环境安装与使用 | selenium、 chromedriver、 firefox geckodriver |
| 知识点 | 自动化用例录制 | selenium IDE、录制、回放、基本使用 |
| 知识点 | 自动化测试用例结构分析 | 录制代码解析,代码结构优化 |
| 知识点 | web 浏览器控制 | 打开网页、刷新、回退、最大化、最小化 |
| 知识点 | 常见控件定位方法 | id name css xpath link 定位 |
| 知识点 | 强制等待与隐式等待 | 介绍 selenium 经典的三种等待方式 |
| 知识点 | 常见控件交互方法 | 点击,输入,清空,获取元素文本、尺寸等属性信息 |
| 知识点 | 自动化测试定位策略 | Web 自动化测试不同场景的定位方式的汇总 |
| 知识点 | 【实战】测试人论坛搜索功能自动化测试 | 用例设计、用例编写、断言 |
用户端 Web 自动化测试-L2¶
教学目标¶
- 掌握高级定位 css、xpath 的使用方法
- 掌握显式等待与隐式等待知识点
- 掌握测试报告定制能力
- 掌握复杂产品的 web 自动化测试实战能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 高级定位-css | css 使用场景、语法 |
| 知识点 | 高级定位-xpath | xpath 使用场景、语法 |
| 知识点 | 显式等待高级使用 | 显式等待原理与使用 |
| 知识点 | 网页 frame 与多窗口处理 | 多窗口,多 frame 下的窗口识别与切换 |
| 知识点 | 高级控件交互方法 | 鼠标、键盘的操作事件 |
| 知识点 | 文件上传弹框处理 | 文件上传的自动化与弹框处理机制 |
| 知识点 | 自动化关键数据记录 | 行为日志、截图,page source |
| 知识点 | 【实战】电子商务产品实战 | 用例设计、日志封装、测试报告 |
用户端 Web 自动化测试-L3¶
教学目标¶
- 掌握绕过扫码、滑块、短信校验等认证方法的自动化测试方案
- 掌握 Page Object 设计模式,实现测试用例的良好分层
- 掌握测试用例的流程编排
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 浏览器复用 | 利用远程调试技术实现自动化登录 |
| 知识点 | Cookie 复用 | 利用 cookie 复用实现自动化登录 |
| 知识点 | page object 设计模式 | page object 模式的发展历史介绍、六大设计原则 |
| 知识点 | 异常自动截图 | 测试用例失败时自动截图 |
| 知识点 | 测试用例流程设计 | 测试装置的应用,套件级别的初始化与清理、用例级别的初始化与清理 |
| 知识点 | 【实战】电子商务产品实战进阶 | page object 设计模式应用、BasePage 封装、基于 page object 模式的测试用例编写 |
用户端 Web 自动化测试-L4¶
教学目标¶
- 掌握多浏览器自动化测试方案
- 掌握自动化测试中常用的 javascript 脚本
- 掌握 selenium options 无头浏览器等常用配置
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | selenium 多浏览器处理 | chrome、firefox 等浏览器的自动化支持 |
| 知识点 | 执行 javascript 脚本 | 使用 selenium 直接在当前页面中进行 js 交互 |
| 知识点 | headless 无头浏览器使用 | selenium options 无头浏览器等常用配置 |
| 知识点 | capability 配置参数解析 | capability 用法 ,firefox chrome 等浏览器的专属 capability |
用户端 APP 自动化测试-L1¶
教学目标¶
- 熟悉 Appium 框架与常用操作
- 掌握 App 自动化测试用例录制能力
- 掌握 App 自动化测试用例编写能力
- 掌握 App 自动测试实战能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | App 自动化测试的价值与体系 | 价值体系 技术选型 学习路线 |
| 知识点 | 环境安装与使用 | Java 环境、SDK 环境、appium Desktop 安装、appium client |
| 知识点 | 自动化用例录制 | appium Desktop 用法,录制、回放、基本使用 |
| 知识点 | 自动化测试用例结构分析 | 录制代码解析,代码结构优化 |
| 知识点 | capability 配置参数解析 | capability 用法 ,android ios 专属 capability |
| 知识点 | app 自动化控制 | 数据清理 启动 关闭 |
| 知识点 | 常见控件定位方法 | id,aid,xpath css 原生定位 |
| 知识点 | 强制等待与隐式等待 | time.sleep() 与 implicitly_wait() |
| 知识点 | 常见控件交互方法 | 点击,输入,清空,获取元素文本、尺寸等属性信息 |
| 知识点 | 自动化测试定位策略 | Web、App 自动化测试不同场景的定位方式的汇总 |
| 知识点 | 【实战】雪球 app 搜索功能点自动化测试实战 | 用例设计,用例编写,断言 |
用户端 APP 自动化测试-L2¶
教学目标¶
- 掌握高级定位 css、xpath 的使用方法
- 掌握显式等待与隐式等待的使用方法
- 掌握测试报告定制能力
- 掌握复杂产品的 Appium 自动化测试实战能力
- 掌握 PageObject 设计模式应用能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | appium server 环境安装 | nodejs 环境,appium server |
| 知识点 | capability 进阶用法 | 测试策略,性能相关 |
| 知识点 | 元素定位工具 | uiautomatorviewer、weditor、appium inspector |
| 知识点 | 高级定位技巧-xpath 定位 | dom 结构解读、xpath 层级定位技巧 |
| 知识点 | 高级定位技巧-css 定位与原生定位 | css selector 定位、原生定位 |
| 知识点 | 特殊控件 toast 识别 | 通过 xpath 定位 toast |
| 知识点 | 显式等待高级使用 | 显式等待原理与使用 |
| 知识点 | 高级控件交互方法 | TouchAction 触屏操作、点按,双击,滑动,手势解锁操作等 |
| 知识点 | 设备交互 Api | 模拟电话、短信、飞行模式等场景 |
| 知识点 | 模拟器控制 | 代码控制模拟器启动 |
| 知识点 | 【实战】雪球财经 app 股票详情功能点自动化测试实战 | 用例设计,hamcrest 断言,page object 封装 |
用户端 APP 自动化测试(Android)-L3¶
教学目标
- 掌握用户端自动化测试维护能力
- 掌握自动化测试异常处理能力
- 熟悉 Monkey AppCrawler 等自动遍历测试工具
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 自动化关键数据记录 | 行为日志、截图,page source |
| 知识点 | app 弹窗异常处理 | app 弹窗异常处理 |
| 知识点 | 自动化测试架构优化 | 需求与价值、项目结构优化、框架封装(异常处理、日志记录、报告生成、数据驱动) |
| 知识点 | 【实战】基于 page object 模式的测试框架优化实战 | 异常处理、日志记录、报告生成、参数化与数据驱动 |
| 知识点 | android webview 技术原理 | webview 技术原理分析 |
| 知识点 | android webview 架构与分析 | 使用开发者工具分析 webview 手机浏览器 小程序 |
| 知识点 | webview 自动化测试 | webview 页面调试工具介绍,webview 页面调试技巧,webview 控件定位技巧 |
| 知识点 | 微信小程序自动化测试 | 微信小程序调试工具介绍,微信小程序调试技巧,微信小程序定位技巧 |
| 知识点 | 手机浏览器自动化测试 | 手机浏览器调试技巧,手机浏览器定位技巧 |
| 知识点 | 【实战】雪球财经 app 实战 3- webview 自动化测试实战 | 用例设计,webview 页面自动化测试用例编写 |
用户端 APP 自动化测试(iOS)-L3¶
教学目标
- 掌握用户端自动化测试维护能力
- 掌握自动化测试异常处理能力
- 熟悉 Monkey AppCrawler 等自动遍历测试工具
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | Xcode 基础使用 | Xcode 基础使用 介绍 模拟器 |
| 知识点 | iOS 自动化测试环境安装 | iOS 自动化测试环境安装 |
| 知识点 | iOS 自动化相关工具 | iOS 常用工具介绍 常用命令 |
| 知识点 | iOS 元素定位 | iOS 元素定位 |
| 知识点 | iOS 模拟器自动化测试 | iOS 元素定位 |
| 知识点 | iOS 真机自动化测试 | WDA 配置与安装,WDA 原理分析 |
| 知识点 | iOS Safari 手机浏览器自动化测试 | Safari 配置与元素定位技术 |
| 知识点 | iOS WebView 手机浏览器自动化测试 | iOS WebView 元素定位技术与自动化测试 |
用户端 APP 自动化测试-L4¶
教学目标¶
- 掌握 appium 资深技术
- 掌握 appium 基于图像识别的自动化测试
- 掌握 appium 源代码分析技巧与原理
- 掌握 appium 源码修改定制技术
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | appium 问题分析定位 | appium 的 log 分析与自动化流程解读 |
| 知识点 | appium 原理与 JsonWP 协议分析 | appium 原理,JsonWP 协议 |
| 知识点 | appium 源代码分析 | appium 核心源码分析 |
| 知识点 | appium 源码修改定制 | 源代码改造,功能定制,重新编译打包 |
| 知识点 | appium 基于图像识别的自动化测试 | 基于图像识别的自动化测试 |
用户端 APP 自动化测试-L5¶
教学目标¶
- 掌握兼容性测试能力
- 掌握分布式测试能力
- 掌握使用 STF 进行多设备管理的能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 多设备自动化测试 | 兼容性测试:同一套代码同时兼容多台手机设备 |
| 知识点 | 基于 jenkins 的自动化调度详解 | 兼容性测试:利用并行机制加速测试用例的执行 |
| 知识点 | 多设备管理平台 stf | 兼容性测试:打造自己的智能设备实验室管理上百台设备 |
| 知识点 | 跨平台设备管理方案 selenium grid | 兼容性测试:构建支持 android、ios、web 的多架构自动化测试平台 |
| 知识点 | 自动遍历测试技术 | 自动遍历测试:自动遍历测试方法的定义与 BAT 等大厂常用工具 |
| 知识点 | android maxim 遍历测试工具 | 自动遍历测试:更灵活快速的 android 遍历工具 |
| 知识点 | android fastbot 遍历测试工具 | 自动遍历测试:更灵活快速的 android 遍历工具 |
| 知识点 | 多平台自动遍历测试工具 appcrawler | 自动遍历测试:支持 andorid、ios 的多平台 app 遍历工具 |
| 知识点 | 基于手机短信验证码的自动化测试 | 利用手机端数据库,获取手机验证码验证数据信息 |
| 知识点 | 基于 OCR 识别方法的自动化测试 | 掌握基于 OCR 图像识别技术实现 app 自动化测试 |
| 知识点 | 基于 AI 识别方法的自动化测试 | 掌握基于 AI 识别技术实现 app 自动化测试 |
| 知识点 | airtest 测试框架 | 掌握基于图像识别技术 app 自动化测试框架 airtest |
| 知识点 | atx 测试框架 | 掌握安卓设备集群管理 atx |
| 知识点 | app 结构反编译 | 反编译 app 了解自动化测试相关数据 |
| 知识点 | app 测试用例自动生成技术 | 利用模板技术自动生成测试用例 |
| 知识点 | ui diff 新老版本对比 | 利用老版本数据完成快速回归测试 |
| 知识点 | app 端代码 mock 技术 | 利用 mock server 技术改进测试用例 |
| 知识点 | app 端代码 hook 技术 | 利用 frida 完成代码 hook 与 mock |
用户体验测试/专项测试¶
教学目标
- 掌握用户端性能测试能力
- 掌握用户体验测试与专项测试常用测试工具
- 掌握弱网测试、健壮性测试、兼容性测试等专项测试能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 专项测试的价值与体系 | 学习路线,专项测试使用场景 |
| 知识点 | app 启动性能分析 | 冷启动、热启动、暖启动、首屏启动指标分析 |
| 知识点 | app 首屏加载时间分析 | 使用 ffmpeg 录屏拆帧分析实战 |
| 知识点 | 接口性能分析 | dns、http/https 的接口性能分析 |
| 知识点 | PC 浏览器的性能分析 | PC 浏览器的性能数据获取与分析 |
| 知识点 | 手机浏览器的性能分析 | 手机浏览器的性能数据获取与分析 |
| 知识点 | app webview 性能分析 | hybrid app 的性能分析 |
| 知识点 | 微信小程序性能分析 | 微信小程序性能数据获取与分析 |
| 知识点 | W3C performance api | 性能 api 的讲解、调用与实战 |
| 知识点 | 卡顿分析 | 过度绘制、冰冻帧、卡顿数据 |
| 知识点 | 系统资源分析 | cpu 统计、mem 统计、网络流量分析 |
| 知识点 | 耗电量测试 | 使用 Batterystats 与 BatteryHistorian 完成耗电量分析 |
| 知识点 | 弱网测试 | 模拟弱网、丢包、延迟、不可访问等多种条件下的应用体验 |
| 知识点 | 健壮性测试 | 使用 monkey maxim 完成 app 的健壮性测试 |
| 知识点 | 兼容性测试 | 使用 appcrawler 完成遍历与兼容性分析 |
第一阶段 服务端测试¶
接口协议抓包分析与 mock-L1¶
教学目标¶
- 了解接口测试的价值、知识体系与学习路线。
- 掌握常见协议 TCP HTTP 协议结构与通讯方式。
- 掌握接口测试设计思路。
- 掌握常用接口测试工具 Postman。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 接口测试价值与体系 | 接口测试的知识体系与学习路线 |
| 知识点 | 常见的接口协议 | HTTP 协议介绍 |
| 知识点 | 接口测试用例设计 | 接口测试用例设计思路 |
| 知识点 | postman 基础使用 | 最热门的接口测试工具 |
| 知识点 | 【实战】postman 实战练习 | 使用 postman 实现接口测试 |
接口协议抓包分析与 mock-L2¶
教学目标¶
- 掌握常用抓包工具 Charles 与 Fiddler。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 抓包工具 charles | 工具介绍、环境准备 |
| 知识点 | 抓包工具 fiddler | 工具介绍、环境准备 |
| 知识点 | 抓包工具证书配置 | 抓包工具证书配置 https 协议数据抓包 |
| 知识点 | 【实战】App 抓包实战练习 | app 证书配置,对雪球实现抓包 |
| 知识点 | 【实战】接口测试实战练习 | 结合 postman 完成对宠物商店的接口测试 |
接口协议抓包分析与 mock-L3¶
教学目标¶
- 掌握接口手工 mock 技术。
- 掌握常用接口测试工具 curl。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 弱网测试 | charles 弱网测试使用 |
| 知识点 | mock 的价值与意义 | mock 的价值与意义 |
| 知识点 | 【实战】mock 实战练习 | 雪球实战练习 |
| 知识点 | 使用 curl 发送请求【选修】 | curl 命令的参数 |
| 知识点 | tcpdump 与 wireshark 的使用【选修】 | tcpdump 简介 wireshark 简介 |
接口协议抓包分析与 mock-L4¶
教学目标¶
- 掌握接口自动化 mock 技术。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | Mock 技术体系 | stub mock fake 讲解与应用 |
| 知识点 | Mock 工具与定制化 | mitmproxy 或 WireMock 的使用场景与使用方法 |
接口自动化测试-L1¶
教学目标¶
- 掌握接口自动化测试体系。
- 掌握接口自动化测试用例设计方法。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 接口自动化测试框架介绍 | 最流行的接口测试框架简介、环境安装 |
| 知识点 | 接口请求方法 | http 接口请求方法构造 |
| 知识点 | 接口请求参数 | http 接口请求参数构造 |
| 知识点 | 接口请求头 | http 接口请求头构造 |
| 知识点 | 接口请求体-json | http 接口请求体为json格式 |
| 知识点 | 接口响应断言 | http 接口响应状态码断言 |
| 知识点 | json 响应体断言 | http 接口针对 json 响应体进行断言 |
| 知识点 | 【实战】宠物商店接口自动化测试实战 |
接口自动化测试-L2¶
教学目标¶
- 掌握接口自动化测试中的各种格式的请求构造与响应断言技巧。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 接口请求体-文件 | 请求体为文件的 http 接口请求 |
| 知识点 | 接口请求体-form表单 | 请求体为form表单的 http 接口请求 |
| 知识点 | 接口请求体-xml | 请求体为xml的 http 接口请求 |
| 知识点 | xml 响应断言 | 响应体为xml的断言 |
| 知识点 | cookie 处理 | cookie 自定义处理 |
| 知识点 | 超时处理 | 请求超时的异常处理 |
| 知识点 | 代理配置 | 利用代理分析测试脚本,排查请求错误 |
| 知识点 | 多层嵌套响应断言 | 利用jsonpath进行多层嵌套的响应断言 |
| 知识点 | 【实战】宠物商店接口自动化测试实战 |
接口自动化测试-L3¶
教学目标¶
- 掌握接口自动化测试中复杂断言方法。
- 掌握接口自动化测试中接口鉴权解决方法。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 整体结构响应断言 | 应对大量响应数据字段的格式断言 schema 响应断言 |
| 知识点 | 数据库操作与断言 | 通过 sql 操作数据库、服务封装、数据还原、数据库断言 |
| 知识点 | 接口鉴权的多种情况与解决方案 | token、cookie、auth 等多种接口认证与解决方案 |
| 知识点 | 【实战】电子商城接口自动化测试实战 | 接口用例编写、框架设计 |
接口自动化测试-L4¶
教学目标¶
- 掌握接口加密情况下的测试设计方法。
- 掌握接口自动化测试中切换多套被测环境方法。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 接口加密与解密 | 加密接口的测试方案 |
| 知识点 | 多套被测环境 | 多套被测环境切换的测试方案 |
| 知识点 | 多响应类型封装设计 | xml json 等多种类型响应值的封装 |
| 知识点 | 【实战】电子商城接口自动化测试框架实战 | 接口用例编写、框架设计 |
接口自动化测试-L5¶
教学目标
- 掌握 dubbo pb 等协议的接口测试方法
- 掌握基于 gor 的流量录制回放技术
- 掌握基于 diffy 的接口 diff 测试方法
- 掌握测试用例自动生成方法
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 接口管理体系 | 接口管理体系 stub 与 sdk 的自动生成 |
| 知识点 | 接口管理框架 Swagger | 接口管理框架 Swagger |
| 知识点 | 代码生成框架 Swagger CodeGen | 代码生成框架 |
| 知识点 | dubbo 协议的接口测试 | dubbo 协议测试技术 |
| 知识点 | thrift 协议的接口测试 | thrift 协议测试技术 |
| 知识点 | pb 协议的接口测试 | pb 协议测试技术 |
| 知识点 | socket 协议的接口测试 | socket 协议测试技术 |
| 知识点 | websocket 协议的接口测试 | websocket 协议测试技术 |
| 知识点 | gor 流量回放 | 流量回放体系 |
| 知识点 | diffy 接口 diff 测试工具 | 项目重构时的接口快速 diff 方法 |
| 知识点 | 异步接口 | 异步接口测试方法 |
| 知识点 | har 生成用例 | har 文件格式讲解与用例自动生成 |
| 知识点 | httprunner测试框架 | httprunner测试框架 |
接口安全测试¶
教学目标
- 了解常见安全漏洞的原理与解决方法
- 掌握利用爬虫工具爬取网站结构能力
- 掌握安全测试工具 owasp-zap 的使用
- 掌握渗透测试工具 burpsuite 的使用
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 服务端安全测试体系 | 详解 OWASP 的 top10 安全漏洞与安全防护体系 |
| 知识点 | 安全测试演练环境 | 搭建安全测试演练环境实操常见安全漏洞 |
| 知识点 | 常见接口安全测试工具 | zap、burpsuite、sqlmap 等知名安全测试工具介绍 |
| 知识点 | 安全测试工具 BurpSuite | 黑客与白帽子最常用的安全测试工具详解 |
| 知识点 | 命令注入漏洞 | 命令注入漏洞原理与实操 |
| 知识点 | sql 注入漏洞 | sql 注入、sql 盲注等漏洞的原理介绍与实操 |
| 知识点 | xss 漏洞 | xss 多种漏洞的原理介绍与实操 |
| 知识点 | csrf 漏洞 | csrf 漏洞原理介绍与实操 |
| 知识点 | 越权访问漏洞 | 越权访问漏洞原理介绍与实操 |
| 知识点 | 短信/邮件炸弹 | 短信/邮件炸弹原理介绍与实操 |
| 知识点 | 文件上传 | 文件上传漏洞原理介绍与实操 |
| 知识点 | 跳转漏洞 | 跳转漏洞原理介绍与实操 |
| 知识点 | SSRF 漏洞 | SSRF 漏洞原理介绍与实操 |
| 知识点 | 信息校验 | 信息校验原理介绍与实操 |
| 知识点 | 路径遍历 | 路径遍历原理介绍与实操 |
性能测试体系¶
学习目标¶
- 掌握性能测试基本概念。
- 掌握性能测试场景设计。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 性能测试介绍 | 性能测试价值 体系 流程 方法论 |
| 知识点 | 行业流行性能压测工具介绍 | |
| 知识点 | 行业流行性能监控工具介绍 | |
| 知识点 | 行业流行性能剖析工具介绍 | |
| 知识点 | 性能测试流程与方法 | |
| 知识点 | 性能测试计划 | 压测业务场景定义 性能指标拆解 测试方案 |
| 知识点 | 性能测试报告 | 压测业务场景定义 性能指标拆解 |
| 知识点 | 性能测试场景设计 | 压力测试 负载测试 基准测试 稳定性测试 健壮性测试 |
| 知识点 | 性能测试概念 | 并发 并行 多进程 多线程 TPS QPS 吞吐量 延迟 |
| 知识点 | 经典技术架构解析 | 传统服务 数据库 微服务 缓存 消息管道 |
性能测试工具 JMeter-L1¶
学习目标¶
- 掌握 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 工具 | |
| 知识点 | 基本性能监控系统使用 |
性能测试工具 JMeter-L2¶
学习目标¶
- 掌握 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 监控系统部署应用实战 |
第三阶段 持续交付与 DevOps¶
Docker 容器技术-L1¶
学习目标¶
- 掌握Docker的安装与配置
- 掌握Docker命令行搭建常用平台
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 容器技术介绍 | Docker 的价值、Docker 的学习路线 |
| 知识点 | Docker 的安装与配置 | Docker 在 linux 上的安装与配置、国内加速的配置 |
| 知识点 | Docker 容器管理 | 常用的 Docker 容器管理命令 |
| 知识点 | Docker 镜像管理 | 常用的 Docker 镜像管理命令 |
| 知识点 | 搭建 Web 服务器 Nginx | 使用一行命令搭建 Web 服务器 Nginx |
| 知识点 | 搭建数据库服务 MySQL | 使用一行命令搭建数据库服务 MySQL |
| 知识点 | 搭建持续集成平台 Jenkins | 使用一行命令搭建持续集成平台 Jenkins |
| 知识点 | 搭建项目管理平台 Jira | 使用一行命令搭建项目管理平台 Jira |
| 知识点 | 搭建测试用例管理平台 testlink | 使用 Docker 搭建测试用例管理平台 |
Docker 容器技术-L2¶
学习目标¶
- 掌握Docker常用场景
- 掌握Docker常用设置
- Docker部署UI自动化分布式环境
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | Docker 与虚拟机解析 | Docker 与虚拟机的架构区别 |
| 知识点 | Docker 和虚拟机的使用场景 | 详解什么样的场景使用 Docker 什么样的场景使用虚拟机。 |
| 知识点 | Docker 与容器网络 | bridge,host 与 container 网络模式详解 |
| 知识点 | 部署分布式 UI 自动化测试环境 | 部署分布式 UI 自动化测试环境 |
| 知识点 | 【实战】Docker-compose 实战练习 | Docker-Compose 实战练习 |
Docker 容器技术-L3¶
学习目标¶
- 掌握Docker容器镜像制作
- Dockerfile文件详解
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | Docker 容器镜像简介 | 使用场景 |
| 知识点 | Docker 容器镜像制作命令 | Docker commit 与 Dockerfile 制作镜像。 |
| 知识点 | 【实战】Docker 制作容器镜像实战 | Dockerfile 的详细教程 |
| 知识点 | 【实战】Docker 私有镜像仓库实战 | 私有镜像仓库实战 |
持续集成/持续交付/DevOps-L1¶
教学目标¶
- 掌握 Jenkins 与自动化测试结合的方案。
- 掌握 Jenkins 的安装、配置。
- 掌握 Jenkins 的 job 结构和构建。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 持续集成体系介绍 | 持续集成体系介绍与学习路线 |
| 知识点 | Jenkins 安装 | jenkins 平台的部署 |
| 知识点 | Jenkins Job 配置 | Job 的结构 |
| 知识点 | Jenkins 用户管理 | Jenkins 的用户的新增与用户的管理 |
| 知识点 | Jenkins 授权策略配置 | Jenkins 授权策略配置、权限矩阵 |
| 知识点 | Jenkins 安全配置管理 | 安全配置管理参数的详解 |
| 知识点 | 【实战】Jenkins 的 job 实操 | 定义你的第一个持续集成任务,job 结构的实操 |
持续集成/持续交付/DevOps-L2¶
教学目标¶
- 熟悉 Jenkins 常用配置,比如环境、节点、插件等。
- 熟悉 Jenkins 插件安装和使用。
- 熟悉 Jenkins 邮件告警。
- 掌握使用 Jenkins 实现自动化测试集成。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | Jenkins 凭据管理 | 凭据信息的配置、用户名密码、Private key |
| 知识点 | Jenkins 环境变量 | 全局变量的配置 |
| 知识点 | Jenkins 节点配置 | 把机器加入 jenkins 的节点、linux 与 java 节点 |
| 知识点 | Jenkins 节点环境变量 | 节点的环境变量、全局变量关系 |
| 知识点 | Jenkins Job 指定节点运行 | Job 中指定节点运行设置 |
| 知识点 | Jenkins 参数化配置 | Jenkins参数化配置 |
| 知识点 | Jenkins 插件安装 | 安装插件的设置、常用的插件安装 |
| 知识点 | Jenkins SSH 插件 | SSH 插件的安装及使用 |
| 知识点 | Jenkins Git 版本管理 | git 插件的安装及使用 |
| 知识点 | Jenkins maven 插件配置 | maven 插件安装及使用 |
| 知识点 | Jenkins 邮件告警 | 邮件告警插件安装和使用(job 构建结果的提取与多种通知方式) |
| 知识点 | Jenkins 父子 Job | job 之间的分工与协作管理 |
| 知识点 | 【实战】持续集成实战-接口测试集成实战 | 接口测试的持续集成管理实战 |
| 知识点 | 【实战】持续集成实战-web 自动化测试集成实战 | web 自动化测试的持续集成实战 |
| 知识点 | 【实战】持续集成实战-app 自动化测试集成实战 | app 自动化测试的持续集成实战 |
持续集成/持续交付/DevOps-L3¶
教学目标¶
- 掌握 Jenkins 的 api 提取数据的能力。
- 掌握 Jenkins 与 Gitlab 结合实现推送代码后自动构建的能力。
- 掌握 Jenkins 与不同阶段测试的集成能力。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 【实战】jenkins api 接口 | 在已有的流程平台中调用 jenkins 并获取数据 |
| 知识点 | 基于 gitlab 的持续集成机制 | 通过gitlab hook 自动完成集成测试过程 |
| 知识点 | 【实战】静态扫描体系集成 | 使用 Jenkins 实现静态扫描体系持续集成 |
| 知识点 | 【实战】单元测试体系集成 | 使用 Jenkins 实现单元测试体系持续集成 |
| 知识点 | 【实战】代码覆盖率集成 | 使用 Jenkins 实现代码覆盖率持续集成 |
持续集成/持续交付/DevOps-L4¶
教学目标¶
- 掌握 Pipeline 常用语法与应用。
- 掌握 App 应用的自动发布的流水线构建方法。
- 掌握 Web 应用的自动部署的流水线构建方法。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | BlueOcean | 流程定义与流程可视化管理 |
| 知识点 | Pipeline 简介 | Pipeline 简介与第一个Pipeline任务 |
| 知识点 | Jenkinsfile 语法简介 | Jenkinsfile 语法简介 |
| 知识点 | JenkinsFile 语法参数 agent,stage, step | JenkinsFile 语法 agent、stages、stage、step参数详解 |
| 知识点 | JenkinsFile 语法参数 post | JenkinsFile 语法 post 参数详解 |
| 知识点 | JenkinsFile 语法参数 options | JenkinsFile 语法 options 参数详解 |
| 知识点 | JenkinsFile 语法参数 parameters | JenkinsFile 语法 parameters 参数详解 |
| 知识点 | JenkinsFile 语法参数 env_tools | JenkinsFile 语法 env_tools 参数详解 |
| 知识点 | JenkinsFile 语法参数 if-else | JenkinsFile 语法 if-else 参数详解 |
| 知识点 | JenkinsFile 语法参数 try-catch | JenkinsFile 语法 try-catch 参数详解 |
| 知识点 | JenkinsFile 语法参数 environment | JenkinsFile 语法 environment 参数详解 |
| 知识点 | JenkinsFile 语法参数 triggers | JenkinsFile 语法 triggers 参数详解 |
| 知识点 | Pipeline 总结 | Pipeline使用总结 |
持续集成/持续交付/DevOps 流水线构建-L4¶
教学目标¶
- 掌握 Pipeline 常用语法与应用。
- 掌握 App 应用的自动发布的流水线构建方法。
- 掌握 Web 应用的自动部署的流水线构建方法。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 发布管理 | 常用发布系统与发布管理方式 |
| 知识点 | 持续交付支撑工具 | blue ocean 与 pipeline |
| 知识点 | 【实战】app 持续交付 | 拉取代码、自动打包、自动部署 |
| 知识点 | 【实战】web service 持续交付实战 | 基于 pipeline 的持续交付项目实战 |
持续集成/持续交付/DevOps-L5¶
教学目标¶
- 了解质量门禁设计方案。
- 掌握持续部署的流程和实现。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 质量门禁 | |
| 知识点 | 【实战】持续部署实战 | 自动部署、自动触发测试、自动生成报告并推送消息 |
第四阶段 测试左移与精准测试¶
静态测试与代码审计-L1¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | sonarqube 代码分析技术体系 | sonarqube 代码分析技术体系、学习路线 |
| 知识点 | 代码审计 SonarQube 平台搭建 | SonarQube 基础环境搭建 |
| 知识点 | sonarqube scanner 使用 | scanner 使用场景与案例 |
| 知识点 | sonarqube maven 项目分析 | maven 项目的代码分析 |
静态测试与代码审计-L2¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | sonarqube gradle 项目分析 | 移动 app 项目的代码分析 |
| 知识点 | 代码复杂度分析 | 代码复杂度定义与分析方法 |
静态测试与代码审计-L3¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | sonarqube api 使用 | 在自己的项目中集成 sonarqube 的分析结果 |
| 知识点 | 代码变更检测与新增代码覆盖率实战 | 分析代码变更与新增代码覆盖率 |
静态测试与代码审计-L4¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 代码扫描规则定制 | 分析语法树构建自己的代码规则 |
覆盖率-L1¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | jacoco 代码覆盖率 | 最热门的 java 代码覆盖率工具使用 |
| 知识点 | jacoco 代码插桩原理介绍 | 使用原理介绍 |
| 知识点 | 单测代码覆盖率统计实战 | 单元测试覆盖率、新增代码覆盖率实战 |
覆盖率-L2¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | jacoco 代码覆盖率 | 最热门的 java 代码覆盖率工具使用 |
| 知识点 | jacoco 代码插桩原理介绍 | 使用原理介绍 |
| 知识点 | 单测代码覆盖率统计实战 | 单元测试覆盖率、新增代码覆盖率实战 |
覆盖率-L3¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | jacoco 代码覆盖率 | 最热门的 java 代码覆盖率工具使用 |
| 知识点 | jacoco 代码插桩原理介绍 | 使用原理介绍 |
| 知识点 | 单测代码覆盖率统计实战 | 单元测试覆盖率、新增代码覆盖率实战 |
精准测试-L1¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 精准测试介绍 | 精准测试的发展历史 |
| 知识点 | 精准测试理论与技术体系 | 精准测试理论介绍与案例介绍 |
| 知识点 | 手工测试用例与代码关联方法 | 通过精准测试实现手工测试用例与被测代码关联 |
精准测试-L2¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 自动化测试与代码关联方法 | 用例代码双向绑定、不同自动化测试类型的解决方案 |
| 知识点 | 语法树与动态代码的结合分析 | 静态语法树分析、动态链路追踪 |
| 知识点 | 代码变更与业务影响范围关联分析 | 如何由代码变更推导出影响范围 、测试用例推导 |
| 知识点 | 测试用例与代码覆盖率模型分析 | 覆盖率分析的作用、统计指标 、用例设计 |
精准测试-L3¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | jvm-sandbox 项目实战-代码调用链分析 | jjvm-sandbox 代码调用链分析 |
| 知识点 | jvm-sandbox 项目实战-故障注入实战 | 通过 jvm-sandbox 实现故障注入 |
| 知识点 | jvm-sandbox-repeater | 流量录制回放工具 |
精准测试-L4¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 代码语法树 AST 分析 | 代码静态分析工具与语法树数据工具实战 |
| 知识点 | ASM 代码插桩技术 | 代码覆盖率的底层实现框架,实现对 jvm 字节码的分析与修改 |
| 知识点 | asm 框架 | |
| 知识点 | bytebuddy 字节码增强框架 | |
| 知识点 | javassist 应用 |
精准测试-L5¶
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 精准测试平台建设 | 图分析技术、关联分析技术、平台建设技术讲解 |
| 知识点 | 精准测试平台落地经验 | 构建自己公司的精准测试平台与收益介绍 |
| 知识点 | 精准测试平台实践分享(一) | 名企大厂测试经理分享精准测试平台落地经验 |
| 知识点 | 精准测试平台实践分享(二) | 名企大厂测试经理分享精准测试平台落地经验 |
测试右移¶
目标¶
- 掌握测试右移技术体系。
- 掌握常用测试右移常用技术 ELK(elastic search、logstash、kibana)。
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 测试右移介绍 | 测试右移的价值与实践体系 |
| 知识点 | logstash 讲解 | 数据采集与传输 |
| 知识点 | elastic search 搜索引擎讲解 | elastic search 的索引、文档、查询语法基本概念讲解 |
| 知识点 | kibana 可视化分析平台 | 介绍 kibana 经典的分析方法与图表使用 |
第五阶段 测试平台开发¶
测试平台开发-后端开发(Python)¶
教学目标¶
- 掌握测试平台方案设计能力
- 掌握测试数据的处理分析能力
- 掌握测试平台构建能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 测试平台的价值与体系 | 如何设计与开发测试平台 |
| 知识点 | 接口路由技术 | Web 应用框架环境安装、路由的定义与使用 |
| 知识点 | 请求与响应-请求方法 | HTTP 方法配置 |
| 知识点 | 请求与响应-处理请求数据 | 请求参数、表单请求、json 请求、文件请求 |
| 知识点 | 请求与响应-处理响应信息 | 文本型 元组 Json html 额外数据 |
| 知识点 | 测试平台环境配置 | 配置 ip、端口、debug 调试功能 |
| 知识点 | 接口配置 | RESTX 接口介绍、插件安装 |
| 知识点 | 接口使用 | RESTX 风格接口实现 |
| 知识点 | 集成 Swagger | Swagger 接口文档 |
| 知识点 | ORM 介绍 | ORM 价值与体系 |
| 知识点 | ORM 中间件配置 | Flask-SQLAlchemy 安装与配置 |
| 知识点 | 数据库与表管理 | Flask-SQLAlchemy 常用表操作 |
| 知识点 | 对象与数据模型 | Flask-SQLAlchemy 类与表结构 |
| 知识点 | 数据 CRUD | 数据增删查改操作 |
| 知识点 | 多表关系-一对多 | SqlAlchemy 一对多关系建表、数据库增删查改 |
| 知识点 | 多表关系-多对多 | SqlAlchemy 多对多关系建表、数据库增删查改 |
| 知识点 | 测试平台后端开发实战 | 通过接口对测试用例数据增删查改 |
测试平台-前端 UI 开发¶
教学目标¶
- 从零到一掌握最火前端框架 VUE
- 掌握 Vue 常用指令之输入绑定、条件渲染、事件处理、属性绑定
- 掌握 Vue 项目环境安装与配置工具
- 掌握最火响应式 Vue 页面布局组件-Vuetify
- 掌握 Vue 路由管理组件-Router
- 掌握 Vue 访问 api 组件-axios
- 从零到一实现测试平台前端开发实战
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | Vue 基本介绍 | Vue 基本介绍与使用、HTML 结构/标签 |
| 知识点 | Vue 常用指令-输入绑定 | 插值表达式、v-model 、data |
| 知识点 | Vue 常用指令-条件渲染 | v-if、v-else、v-show |
| 知识点 | Vue 常用指令-事件处理 | v-on 、methods |
| 知识点 | Vue 常用指令-属性绑定 | v-bind |
| 知识点 | Vue 常用指令-列表渲染 | v-for |
| 知识点 | Vue 环境安装 | vue ui、vue 脚手架工具、vue 项目目录介绍 |
| 知识点 | Vue 基础架构 | 标签 template、scripts、style |
| 知识点 | Vue 生命周期 | Vue 生命周期、生命周期函数 |
| 知识点 | Vue 页面组件-Vuetify | Vuetify 安装与介绍 |
| 知识点 | Vuetify 页面布局 | 使用 Vuetify 对页面布局 |
| 知识点 | Vuetify 组件使用 | Vuetify 组件使用 |
| 知识点 | Vue 路由-Router | 路由环境安装、路由基本概念 |
| 知识点 | 嵌套路由 | <router-view/>、父子路由 |
| 知识点 | 重定向路由 | 路由重定向 |
| 知识点 | 路由-编程式导航 | <router-link> |
| 知识点 | Vue 使用 axios 访问 api | axios 环境安装与基本用法 |
| 知识点 | api 架构优化 | 通过优化 api 架构,实现接口复用 |
| 知识点 | 测试平台前端实战练习(一) | 使用 Vuetify 构造测试用例页面 |
| 知识点 | 测试平台前端实战练习(二) | 使用 router 构造系统路由跳转 |
| 知识点 | 测试平台前端实战练习(三) | axios 实现后端联调 |
测试平台-测试平台设计¶
教学目标
- 掌握测试平台方案设计能力
- 掌握测试数据的处理分析能力
- 掌握测试平台构建能力
知识点¶
| 形式 | 章节 | 描述 |
|---|---|---|
| 知识点 | 测试平台架构设计 | 架构设计、目录结构设计 |
| 知识点 | 平台登录功能实战 | 登录功能实战练习 jwt 令牌实现用户认证 |
| 知识点 | 平台注册功能实战 | 注册功能实战练习 |
| 知识点 | 跨平台 api 对接 | 与 jenkins 系统进行集成调用 |
| 知识点 | 测试用例自动录入 | 测试用例自动录入测试平台 |
第六阶段 毕业设计与考试¶
毕业设计训练营¶
- 测试方案落地设计答辩
| 形式 | 章节 | 描述 |
|---|---|---|
| 内容 | 实战考试 | |
| 内容 | 答辩 | |
| 内容 | 点评 | |
| 内容 | 颁奖 |