极客时间测试开发进阶训练营¶
极客时间测试开发进阶训练营 ¶
课程介绍¶
极客时间测试开发进阶训练营为极客时间测试开发训练营,内容由极客时间与霍格沃兹测试开发学社联合打造,帮助测试开工程师实现快速能力提升,胜任公司内的测试体系建设。
训练营直播课程安排¶
整体课程持续 15 周
技术体系 | 时长(周) |
---|---|
开学典礼与测试开发体系介绍 | 1 |
第一阶段 服务端测试 | |
接口抓包分析与 mock | 1 |
接口自动化测试实战 | 1 |
接口测试前沿技术 | 1 |
服务端性能测试 | 0 |
接口安全测试 | 1 |
第二阶段 用户端测试 | |
web 自动化测试 | 1 |
app 自动化测试 | 1 |
app 自动化测试进阶 | 1 |
用户端测试常用平台与工具 | 0 |
客户端专项测试 | 0 |
第三阶段 持续交付与 DevOps | |
Docker 容器技术 | 1 |
持续集成 | 1 |
持续交付/DevOps | 1 |
第四阶段 测试左移与精准测试 | |
测试左移 | 1 |
精准测试 | 1 |
第五阶段 测试平台开发 | |
测试平台设计 | 1 |
测试平台开发 | 1 |
第六阶段 毕业设计与考试 | |
全流程项目实战与考试 | 1 |
开学典礼¶
测试开发体系训练营 ¶
痛点
- 不了解测试开发的价值与定位
- 不了解测试开发如何做
- 不了解如何提升测试开发能力
教学目标
- 了解测试开发的价值与定位
- 了解测试开发的核心工作场景
- 了解测试开发的进阶路线与技能图谱
形式 | 章节 | 描述 |
---|---|---|
内容 | 持续交付与 DevOps 体系 | DevOps DevSecOps TestOps DevQA ChatOps 概念介绍 |
内容 | 测试左移体系 | |
内容 | 测试右移体系 | |
内容 | 精准测试体系 | |
内容 | 测试框架体系 | TDD DDT BDD ATDD 介绍 |
内容 | 测试开发体系 | 测试开发技术 测试开发理论 项目演示 |
内容 | 测试开发工程师进阶路线 |
第一阶段 服务端测试¶
接口协议抓包分析与 mock-L1¶
痛点
- 不了解被测产品的通讯协议与结构不知道测试点在哪
- 文档不齐全的情况不知道如何开展接口测试
- 存在第三方服务依赖的时候,构造测试数据困难
教学目标
- 了解接口测试的价值、知识体系与学习路线
- 掌握常见协议tcp http协议结构与通讯方式
- 掌握常用接口测试工具 postman curl
- 掌握常用抓包工具 charles 与 fiddler
- 掌握接口mock技术
形式 | 章节 | 描述 |
---|---|---|
知识点 | 接口测试价值与体系 | 接口测试的知识体系与学习路线 |
知识点 | 常见的接口协议 | HTTP 协议介绍 |
知识点 | 接口测试用例设计 | 接口测试用例设计思路 |
知识点 | postman 基础使用 | 最热门的接口测试工具 |
知识点 | 【实战】postman 实战练习 | 使用 postman 实现接口测试 |
知识点 | 抓包工具 charles | 工具介绍、环境准备 |
知识点 | 抓包工具 fiddler | 工具介绍、环境准备 |
知识点 | 抓包工具证书配置 | 抓包工具证书配置 https 协议数据抓包 |
知识点 | 【实战】App 抓包实战练习 | app 证书配置,对雪球实现抓包 |
知识点 | 【实战】接口测试实战练习 | 结合 postman 完成对宠物商店的接口测试 |
知识点 | 弱网测试 | charles 弱网测试使用 |
知识点 | mock 的价值与意义 | mock 的价值与意义 |
知识点 | 【实战】mock 实战练习 | 雪球实战练习 |
知识点 | 使用 curl 发送请求【选修】 | curl 命令的参数 |
知识点 | tcpdump 与 wireshark 的使用【选修】 | tcpdump 简介 wireshark 简介 |
接口协议抓包分析与 mock-L1实战训练营¶
痛点
- 不了解被测产品的通讯协议与结构不知道测试点在哪
- 文档不齐全的情况不知道如何开展接口测试
- 存在第三方服务依赖的时候,构造测试数据困难
教学目标
- 掌握常见协议 tcp http 协议结构与通讯方式
- 掌握常用抓包工具
- 掌握接口 mock 工具与 mock 技术
形式 | 章节 | 描述 |
---|---|---|
内容 | http 协议接口抓包实战 | |
内容 | http 协议 mock 实战 | |
内容 | tcp 协议抓包分析实战 | |
内容 | app mock 实战 |
接口自动化测试-L2¶
痛点
- 不知道如何使用分层测试提高效率
- 不知道 http 协议如何测试以及复杂响应结构如何解析
- 不知道接口测试用例如何编写
教学目标
- 掌握接口自动化测试体系
- 掌握接口自动化测试用例设计方法
- 掌握接口自动化测试中的请求构造与响应断言技巧
形式 | 章节 | 描述 |
---|---|---|
知识点 | 接口自动化测试框架介绍 | 使用最流行的 requests 进行接口测试 |
知识点 | 接口请求构造 | http 请求头、请求参数、请求方法构造 |
知识点 | 接口测试断言 | 状态码、返回内容等断言 |
知识点 | json、xml 请求 | 以 json、xml 结构化的格式发送请求 |
知识点 | xml 响应断言 | 利用 xpath 进行断言 |
知识点 | json 响应断言 | 利用 json path 进行断言 |
知识点 | cookie 处理 | cookie 自定义 |
知识点 | form 请求 | form 表单的测试与请求模拟 |
知识点 | 【实战】电子商城接口自动化测试实战 | 接口测试用例编写、框架设计、测试数据准备、脏数据清理、复杂响应断言优化、多字段响应断言 |
接口自动化测试-L3¶
痛点
- 多套测试环境不知道如何复用测试用例
- 接口存在加解密如何处理
- 存在多种协议格式,不知道如何用同一套测试用例支撑
- 存在认证与鉴权,不知道如何统一处理
教学目标
- 掌握接口加密情况下的测试设计方法
- 掌握接口自动化测试中切换多套被测环境方法
- 掌握接口自动化测试中多种协议的封装与设计方法
- 掌握接口自动化测试中接口鉴权解决方法
形式 | 章节 | 描述 |
---|---|---|
知识点 | 超时处理 | 请求超时的异常处理 |
知识点 | 代理配置 | 利用代理分析测试脚本,排查请求错误 |
知识点 | 整体结构响应断言 | 应对大量响应数据字段的格式断言 schema 响应断言 |
知识点 | 多层嵌套响应断言 | jsonpath断言 |
知识点 | 数据库操作与断言 | 通过 sql 操作数据库、服务封装、数据还原、数据库断言 |
知识点 | 接口加密与解密 | 接口加密情况下的测试方案 |
知识点 | 多套被测环境 | 多套被测环境切换的测试方案 |
知识点 | 多响应类型封装设计 | xml json 等多种类型响应值的封装 |
知识点 | 接口鉴权的多种情况与解决方案 | token、cookie、auth 等多种接口认证与解决方案 |
知识点 | 【实战】电子商城接口自动化测试框架实战 | 接口用例编写、框架设计 |
接口自动化测试-L3进阶训练营¶
形式 | 章节 | 描述 |
---|---|---|
内容 | 优化接口测试框架 | |
内容 | 接口测试断言与复杂结构断言 | |
内容 | 结合数据库的断言与验证 | |
内容 | 多套被测环境 | |
内容 | 测试报告 |
接口前沿技术(选修)-L5¶
痛点
- 不知道流量回放是什么,怎么用
- 接口重构的时候,不知道如何快速验证
- 不知道 mock 的原理与多种实现方式
教学目标
- 掌握流量录制、转发、重放技术
- 掌握接口 diff 测试方法
- 掌握接口测试用例自动生成方法
- 掌握 mock server 构建技术
形式 | 章节 | 描述 |
---|---|---|
知识点 | 接口管理体系 | 接口管理体系 stub 与 sdk 的自动生成 |
知识点 | 接口管理框架 Swagger | |
知识点 | 代码生成框架 Swagger CodeGen | |
知识点 | gor 流量回放 | 流量回放体系 |
知识点 | diffy 接口 diff 测试工具 | 项目重构时的接口快速 diff 方法 |
知识点 | har 生成用例 | har 文件格式讲解与用例自动生成 |
知识点 | Mock 技术 | stub mock fake 讲解与应用 |
知识点 | Mock 工具与定制化 | mitmproxy或WireMock 的使用场景与使用方法 |
接口安全测试 ¶
痛点
- 不知道如何实施安全测试
- 不知道常见漏洞的原理与解决方法
- 不知道安全测试应该使用什么工具
教学目标
- 掌握常见安全漏洞的原理与解决方法
- 掌握常用安全测试工具 owasp-zap 的使用
- 掌握安全测试实施能力
形式 | 章节 | 描述 |
---|---|---|
知识点 | 服务端安全测试体系 | 详解 OWASP 的 top10 安全漏洞与安全防护体系 |
知识点 | 安全测试演练环境 | 搭建安全测试演练环境实操常见安全漏洞 |
知识点 | 常见接口安全测试工具 | zap、burpsuite、sqlmap 等知名安全测试工具介绍 |
知识点 | 安全测试工具 BurpSuite | 黑客与白帽子最常用的安全测试工具详解 |
知识点 | 命令注入漏洞 | 命令注入漏洞原理与实操 |
知识点 | sql 注入漏洞 | sql 注入、sql 盲注等漏洞的原理介绍与实操 |
知识点 | xss 漏洞 | xss 多种漏洞的原理介绍与实操 |
知识点 | csrf 漏洞 | csrf 漏洞原理介绍与实操 |
知识点 | 越权访问漏洞 | csrf 漏洞原理介绍与实操 |
知识点 | 短信/邮件炸弹 | |
知识点 | 文件上传 | |
知识点 | 跳转漏洞 | |
知识点 | SSRF 漏洞 | |
知识点 | 信息校验 | |
知识点 | 路径遍历 |
接口安全测试训练营¶
痛点
- 不知道如何实施安全测试
- 不知道常见漏洞的原理与解决方法
- 不知道安全测试应该使用什么工具
教学目标
- 掌握常见安全漏洞的原理与解决方法
- 掌握常用安全测试工具 owasp-zap 的使用
- 掌握安全测试实施能力
形式 | 章节 | 描述 |
---|---|---|
内容 | OWASP-ZAP 工具介绍与技术架构 | |
内容 | 绕过认证进行安全测试 | |
内容 | 网站结构爬取与分析 | |
内容 | 安全规则选择与漏洞扫描 | |
内容 | 漏洞报告分析 |
性能测试工具JMeter-L1¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter 介绍与安装 | |
知识点 | JMeter 的运行 | |
知识点 | 使用代理服务器录制请求 | |
知识点 | 测试计划 | |
知识点 | 线程组 | |
知识点 | 控制器 | |
知识点 | JMeter 采样器/取样器 | |
知识点 | JMeter 场景逻辑控制技术 | |
知识点 | JMeter 监听器 | |
知识点 | JMeter 定时器 | |
知识点 | JMeter 断言元件的使用 | |
知识点 | JMeter 常用配置元件剖析 | |
知识点 | JMeter 前置处理器 | |
知识点 | JMeter 后置处理器 | |
知识点 | JMeter 执行顺序 | |
知识点 | JMeter 虚拟用户管理 | |
知识点 | HTTP 请求属性设置 | |
知识点 | HTTP cookie 设置 | |
知识点 | HTTP 信息头管理器 | |
知识点 | HTTP 请求设置 | |
知识点 | 监听器与测试结果 |
性能测试工具JMeter-L2¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter 变量与引用 | |
知识点 | 使用变量进行参数化测试 | |
知识点 | JMeter 参数化 csv | |
知识点 | JMeter 参数化 xml | |
知识点 | JMeter 参数化 json | |
知识点 | JMeter 参数化 yaml | |
知识点 | JMeter 参数化 redis | |
知识点 | JMeter 参数化 mysql | |
知识点 | JMeter 并发策略 | |
知识点 | web service 加压实战 |
性能监控体系-L2 Prometheus 监控系统 ¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 性能监控系统价值 | |
知识点 | 搭建服务端性能监控系统 Prometheus | |
知识点 | 搭建数据分析系统 Grafana | |
知识点 | jmeter 实时压测结果收集 | |
知识点 | 系统性能数据收集(cpu、mem、net、io) | |
知识点 | Prometheus 监控系统部署应用实战 |
性能测试工具JMeter-L3¶
- JMeter分布式压测与用例导入
形式 | 章节 | 描述 |
---|---|---|
知识点 | JMeter 分布式加压机制 | |
知识点 | JMeter 分布式压测与持续集成实战 | |
知识点 | Beanshell 脚本开发技术 | |
知识点 | Java-Beanshell 语法与内置对象 | vars、cxt、prev 等内置技术 |
知识点 | 自定义 jar 导入 JMeter | 自定义 jar 导入 JMeter 加解密 |
知识点 | 运行 JUnit 测试用例 | 运行 JUnit 测试用例 |
知识点 | JMeter 调试方法 |
性能测试实战训练营 - 分布式压测与性能监控剖析实战训练营¶
痛点
- 不了解性能测试的实施流程
- 不了解复杂系统如何做好监控
- 不了解加压策略
- 不了解如何分析性能瓶颈
教学目标
- 掌握 JMeter 性能测试工具
- 掌握 Prometheus 监控系统的使用
- 了解 Web Service 系统的性能测试流程
- 掌握负载测试、压力测试等常用测试策略的使用方法
形式 | 章节 | 描述 |
---|---|---|
内容 | 性能测试计划制定 | |
内容 | 性能测试用例设计 | |
内容 | 电商网站压测实战 | |
内容 | 性能监控与分析 | |
内容 | 分布式压测 | |
内容 | 性能瓶颈分析 |
第二阶段 用户端测试¶
web 自动化测试¶
web 自动化测试-L1¶
痛点
- 不知道 Web 自动化测试价值
- 不会使用 Web 自动化测试能力提高效率
- 不了解如何快速掌握 Web 自动化测试能力
教学目标
- 熟悉 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¶
痛点
- 遇到二维码、滑块、短信校验时不知道如何做自动化测试
- 测试用例越来越多,不知道如何分层维护
- 测试用例直接使用了 selenium 的 api 导致用例不稳定
教学目标
- 掌握绕过扫码、滑块、短信校验等认证方法的自动化测试方案
- 掌握 Page Object 设计模式,实现测试用例的良好分层
- 掌握测试用例的流程编排
形式 | 章节 | 描述 |
---|---|---|
知识点 | 浏览器复用 | 利用远程调试技术实现自动化登录 |
知识点 | Cookie 复用 | 利用 cookie 复用实现自动化登录 |
知识点 | page object 设计模式 | page object 模式的发展历史介绍、六大设计原则 |
知识点 | 异常自动截图 | 测试用例失败时自动截图 |
知识点 | 测试用例流程设计 | 测试装置的应用,套件级别的初始化与清理、用例级别的初始化与清理 |
知识点 | 【实战】电子商务产品实战进阶 | page object 设计模式应用、BasePage 封装、基于 page object 模式的测试用例编写 |
web 自动化测试-L3 Page Object 训练营¶
痛点
- 自动化测试搞不定,遇到二维码、滑块、短信校验时不知道如何做自动化测试
- 可维护性可读性差,测试用例越来越多,维护起来很吃力
- 测试用例不稳定,遇到异常不知道如何处理才能不影响用例
教学目标
- 掌握绕过扫码、滑块、短信校验等认证方法的自动化测试方案
- 掌握 Page Object 设计模式,实现测试用例的良好分层
- 掌握测试用例的流程编排
形式 | 章节 | 描述 |
---|---|---|
内容 | Web 自动化测试用例流程设计 | 测试装置的应用,套件与用例级别的初始化与清理 |
内容 | 浏览器复用 | 利用远程调试技术实现自动化登录 |
内容 | Cookie 复用 | 利用 cookie 复用实现自动化登录 |
内容 | page object 设计模式 | page object 模式介绍、六大设计原则 |
内容 | web 自动化测试进阶实战 |
用户端(APP)自动化测试-L1¶
痛点
- 不知道 App 自动化测试价值
- 不会使用 App 自动化测试能力提高效率
- 不了解如何快速掌握 App 自动化测试能力
教学目标
- 熟悉 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 |
知识点 | capbility 进阶用法 | 测试策略,性能相关 |
知识点 | 元素定位工具 | uiautomatorviewer、weditor、appium inspector |
知识点 | 高级定位技巧-xpath 定位 | dom 结构解读、xpath 层级定位技巧 |
知识点 | 高级定位技巧-css 定位与原生定位 | css selector 定位、原生定位 |
知识点 | 特殊控件 toast 识别 | 通过 xpath 定位 toast |
知识点 | 显式等待高级使用 | 显式等待原理与使用 |
知识点 | 高级控件交互方法 | TouchAction 触屏操作、点按,双击,滑动,手势解锁操作等 |
知识点 | 设备交互 Api | 模拟电话、短信、飞行模式等场景 |
知识点 | 模拟器控制 | 代码控制模拟器启动 |
知识点 | 自动化关键数据记录 | 行为日志、截图,page source |
知识点 | app 弹窗异常处理 | app 弹窗异常处理 |
知识点 | 【实战】雪球财经 app 股票详情功能点自动化测试实战 | 用例设计,hamcrest 断言,page object 封装 |
用户端(APP)自动化测试-L2 Page Object 设计模式训练营¶
形式 | 章节 | 描述 |
---|---|---|
内容 | App 自动化测试用例设计 | |
内容 | page object 模式应用 | |
内容 | 等待的进阶使用 | |
内容 | 测试报告定制(日志) | |
内容 | 测试框架解耦与二次封装 | |
内容 | 知名产品 app 自动化测试PO实战 |
用户端(APP)自动化测试-L3¶
痛点
- 不知道微信小程序、支付宝小程序等各类小程序如何测试
- 不知道混合开发的 app 如何测试
- 不知道手机浏览器如何测试
- 遇到弹框等异常场景时不知道如何处理
教学目标
- 掌握 webview 的技术原理与测试方法
- 掌握各类小程序的自动化测试方案
- 掌握手机浏览器自动化测试方法
- 掌握自动化测试异常处理封装能力
形式 | 章节 | 描述 |
---|---|---|
知识点 | 自动化测试架构优化 | 需求与价值、项目结构优化、框架封装(异常处理、日志记录、报告生成、数据驱动) |
知识点 | 【实战】基于 page object 模式的测试框架优化实战 | 异常处理、日志记录、报告生成、参数化与数据驱动 |
知识点 | android webview 技术原理 | webview 技术原理分析 |
知识点 | android webview 架构与分析 | 使用开发者工具分析 webview 手机浏览器 小程序 |
知识点 | webview 自动化测试 | webview 页面调试工具介绍,webview 页面调试技巧,webview 控件定位技巧 |
知识点 | 微信小程序自动化测试 | 微信小程序调试工具介绍,微信小程序调试技巧,微信小程序定位技巧 |
知识点 | 手机浏览器自动化测试 | 手机浏览器调试技巧,手机浏览器定位技巧 |
知识点 | 【实战】雪球财经 app 实战 3- webview 自动化测试实战 | 用例设计,webview 页面自动化测试用例编写 |
用户端(APP)自动化测试-L3进阶实战训练营¶
形式 | 章节 | 描述 |
---|---|---|
内容 | 测试用例流程设计与优化 | |
内容 | 自动化框架底层能力封装 | |
内容 | 弹框异常处理 | |
内容 | 自动化测试报告定制 | |
内容 | App 自动化测试实战 |
用户端自动化测试-L5¶
痛点
- 不知道兼容性测试如何做
- 手机设备越来越多,不知道如何高效管理
- 测试执行越来越慢,不知道如何提速
教学目标
- 掌握兼容性测试能力
- 掌握分布式测试能力
- 掌握使用 STF 进行多设备管理的能力
形式 | 章节 | 描述 |
---|---|---|
知识点 | 多设备自动化测试 | 同一套代码同时兼容多台手机设备 |
知识点 | 自动遍历测试技术 | 自动遍历测试方法的定义与 BAT 等大厂常用工具 |
知识点 | 多设备管理平台 stf | 打造自己的智能设备实验室管理上百台设备 |
知识点 | 跨平台设备管理方案 selenium grid | 构建支持 android、ios、web 的多架构自动化测试平台 |
知识点 | 基于 jenkins 的自动化调度详解 | 利用并行机制加速测试用例的执行 |
用户体验测试/专项测试¶
痛点
- App Web 产品越来越慢,不知道如何分析
- App 在网络差的时候总是莫名其妙崩溃
- 应用在不同的手机上体验不一致
教学目标
- 掌握用户端性能测试能力
- 掌握用户体验测试与专项测试常用测试工具
- 掌握弱网测试、健壮性测试、兼容性测试等专项测试能力
形式 | 章节 | 描述 |
---|---|---|
知识点 | 专项测试的价值与体系 | 学习路线,专项测试使用场景 |
知识点 | app 启动性能分析 | 冷启动、热启动、暖启动、首屏启动指标分析 |
知识点 | app 首屏加载时间分析 | 使用 ffmpeg 录屏拆帧分析实战 |
知识点 | 接口性能分析 | dns、http/https 的接口性能分析 |
知识点 | PC 浏览器的性能分析 | PC 浏览器的性能数据获取与分析 |
知识点 | 手机浏览器的性能分析 | 手机浏览器的性能数据获取与分析 |
知识点 | app webview 性能分析 | hybrid app 的性能分析 |
知识点 | 微信小程序性能分析 | 微信小程序性能数据获取与分析 |
知识点 | W3C performance api | 性能 api 的讲解、调用与实战 |
知识点 | 卡顿分析 | 过度绘制、冰冻帧、卡顿数据 |
知识点 | 系统资源分析 | cpu 统计、mem 统计、网络流量分析 |
知识点 | 耗电量测试 | 使用 Batterystats 与 BatteryHistorian 完成耗电量分析 |
知识点 | 弱网测试 | 模拟弱网、丢包、延迟、不可访问等多种条件下的应用体验 |
知识点 | 健壮性测试 | 使用 monkey maxim 完成 app 的健壮性测试 |
知识点 | 兼容性测试 | 使用 appcrawler 完成遍历与兼容性分析 |
第三阶段 持续交付与 DevOps¶
Docker 容器技术-L1¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 容器技术介绍 | 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 和虚拟机的使用场景 | 详解什么样的场景使用 Docker 什么样的场景使用虚拟机。 |
知识点 | Docker 与容器网络 | bridge,host 与 container 网络模式详解 |
知识点 | 部署分布式 UI 自动化测试环境 | 部署分布式 UI 自动化测试环境 |
知识点 | 【实战】Docker-compose 实战练习 | Docker-Compose 实战练习 |
Docker 容器技术-L3¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Docker 容器镜像简介 | 使用场景 |
知识点 | Docker 容器镜像制作命令 | Docker commit 与 Dockerfile 制作镜像。 |
知识点 | 【实战】Docker 制作容器镜像实战 | Dockerfile 的详细教程 |
知识点 | 【实战】Docker 私有镜像仓库实战 | 私有镜像仓库实战 |
Docker 镜像进阶-L3训练营¶
痛点
- 不知道如何把混乱的环境部署脚本改造为容器
- 不知道容器如何更好的维护管理
- 不知道如何使用容器维护测试服务和被测服务
教学目标
- 掌握 Docker 容器化技术
- 掌握 Docker-compose 技术
- 掌握 Docker 镜像构建技术,为持续交付做好准备
形式 | 章节 | 描述 |
---|---|---|
内容 | Docker 应用实战 | |
内容 | Docker 镜像构建实战 |
持续集成/持续交付/DevOps-L1¶
痛点
- 不了解 Jenkins 如何与自动化测试结合
- 研发频繁修改代码后,不能通过自动化测试尽早发现问题。
教学目标
- 掌握 Jenkins 与自动化测试结合的方案
- 掌握 Jenkins 的安装、配置
- 掌握 Jenkins 的 job 结构和构建
形式 | 章节 | 描述 |
---|---|---|
知识点 | 持续集成体系介绍 | 持续集成体系介绍与学习路线 |
知识点 | Jenkins 安装 | jenkins 平台的部署 |
知识点 | Jenkins Job 配置 | Job 的结构 |
知识点 | Jenkins 用户管理 | Jenkins 的用户的新增与用户的管理 |
知识点 | Jenkins 授权策略配置 | Jenkins 授权策略配置、权限矩阵 |
知识点 | Jenkins 安全配置管理 | 安全配置管理参数的详解 |
知识点 | 【实战】Jenkins 的 job 实操 | 定义你的第一个持续集成任务,job 结构的实操 |
持续集成/持续交付/DevOps-L2¶
痛点
- 不了解Jenkins如何与被测代码库集成
- 不了解如何及时获取持续集成的执行结果
- 当测试任务过多,不知道如何提高执行效率
- 不知道如何使用Jenkins与web、接口、app自动化测试结合
教学目标
- 熟悉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-L2训练营¶
痛点
- 不知道如何实施与研发配合密切的持续集成
- 自动化测试不能自动化调度,管理起来不方便
- 存在界面交互的 UI 自动化测试不知道如何做持续集成
教学目标
- 掌握持续集成流程构建能力
- 掌握 UI 自动化测试融入持续集成流程的能力
- 掌握接口自动化测试融入持续集成流程的能力
形式 | 章节 | 描述 |
---|---|---|
内容 | 持续集成实战-接口测试集成实战 | |
内容 | 持续集成实战-web 自动化测试集成实战 | |
内容 | 持续集成实战-app 自动化测试集成实战 | |
内容 | 持续集成体系构建 |
持续集成/持续交付/DevOps-L3¶
痛点
- 不知道如何与源码托管系统联动做持续集成
- 不知道如何使用Jenkins实现不同阶段的测试集成
- 不知道如何利用接口提取Jenkins数据用于其他系统的集成
教学目标
- 掌握Jenkins的api提取数据的能力
- 掌握Jenkins与gitlab结合实现推送代码后自动构建的能力
- 掌握Jenkins与不同阶段测试的集成能力
形式 | 章节 | 描述 |
---|---|---|
知识点 | 【实战】jenkins api 接口 | 在已有的流程平台中调用 jenkins 并获取数据 |
知识点 | 基于 gitlab 的持续集成机制 | |
知识点 | 【实战】静态扫描体系集成 | 使用 Jenkins 实现静态扫描体系持续集成 |
知识点 | 【实战】单元测试体系集成 | 使用 Jenkins 实现单元测试体系持续集成 |
知识点 | 【实战】代码覆盖率集成 | 使用 Jenkins 实现代码覆盖率持续集成 |
持续集成/持续交付/DevOps流水线构建-L4¶
痛点
- 不知道如何版本化管理持续集成流程
- 不知道在多分支开发的情况下如何管理持续集成工作流
- 不知道如何自动实现代码拉取到apk打包发布
- 不知道如何自动部署web项目
教学目标
- 掌握Pipeline 常用语法与应用
- 掌握app应用的自动发布的流水线构建方法
- 掌握web应用的自动部署的流水线构建方法
形式 | 章节 | 描述 |
---|---|---|
知识点 | 发布管理 | 常用发布系统与发布管理方式 |
知识点 | 持续交付支撑工具 | blue ocean 与 pipeline |
知识点 | 【实战】app 持续交付 | 拉取代码、自动打包、自动部署 |
知识点 | 【实战】web service 持续交付实战 | 基于 pipeline 的持续交付项目实战 |
持续集成/持续交付/DevOps-L4训练营¶
痛点
- 不知道如何实现自动化构建打包
- 不知道如何才能构建并管理交付物
- 不知道如何利用容器技术构建环境镜像
教学目标
- 掌握代码构建能力
- 掌握容器镜像自动化构建能力
- 掌握持续交付能力
形式 | 章节 | 描述 |
---|---|---|
内容 | 单元测试持续集成 | |
内容 | 静态测试持续集成 | |
内容 | 容器构建持续集成 | |
内容 | 持续交付流程构建 |
第四阶段 测试左移与精准测试¶
测试左移 ¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | sonarqube代码分析技术体系 | sonarqube代码分析技术体系、学习路线 |
知识点 | 代码审计 SonarQube 平台搭建 | 在已有的流程平台中调用 jenkins 并获取数据 |
知识点 | sonarqube scanner 使用 | 在已有的流程平台中调用 jenkins 并获取数据 |
知识点 | sonarqube maven 项目分析 | maven 项目的代码分析 |
知识点 | sonarqube gradle 项目分析 | 移动 app 项目的代码分析 |
知识点 | 代码复杂度分析 | 代码复杂度定义与分析方法 |
知识点 | 代码扫描规则定制 | 分析语法树构建自己的代码规则 |
知识点 | sonarqube api 使用 | 在自己的项目中集成 sonarqube 的分析结果 |
知识点 | 【实战】代码变更检测与新增代码覆盖率实战 | 分析代码变更与新增代码覆盖率 |
测试左移训练营 ¶
痛点
- 不知道什么是测试左移
- 不知道如何提前发现代码中的问题
- 不知道如何管理测试左移中的大量分析数据
教学目标
- 掌握测试专家必会技能测试左移
- 掌握代码审计平台 SonarQube 的使用
- 掌握测试用例与代码覆盖率数据分析能力
- 掌握代码质量门禁构建方法
形式 | 章节 | 描述 |
---|---|---|
内容 | maven 项目代码分析 | |
内容 | 代码 bug 分析 | |
内容 | 代码复杂度分析 | |
内容 | 代码质量门禁 | |
内容 | sonarqube 与持续集成结合 |
覆盖率统计 ¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | jacoco 代码覆盖率 | 最热门的 java 代码覆盖率工具使用 |
知识点 | jacoco 代码插桩原理介绍 | |
知识点 | 单测代码覆盖率统计实战 | 单元测试覆盖率、新增代码覆盖率实战 |
知识点 | maven 项目代码覆盖率统计 | |
知识点 | gradle 项目代码覆盖率统计 | |
知识点 | jacococli 工具 | 代码覆盖率分析工具 |
知识点 | 集成代码覆盖率统计实战 | 集成测试覆盖率 jacococli |
精准测试 ¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 精准测试介绍 | 精准测试的发展历史 |
知识点 | 精准测试理论与技术体系 | |
知识点 | 自动化测试与代码关联方法 | |
知识点 | 手工测试用例与代码关联方法 |
精准测试训练营 ¶
痛点
- 总是漏测,不知道如何充分的保证质量
- 测试用例的有效性无法评估,不知道测试覆盖情况
- 代码变更后不确定测试范围,每次测试都是全量回归,测试成本高,抓不住重点
教学目标
- 了解精准测试方法
- 了解字节码插桩、语法树分析技术
- 掌握测试用例与代码覆盖关联与分析技术
- 掌握精准测试体系构建能力
形式 | 章节 | 描述 |
---|---|---|
内容 | SpringBoot 项目的代码覆盖率实时统计 | |
内容 | 代码覆盖率数据分析 | |
内容 | 代码覆盖数据格式解析 | |
内容 | 自动化测试与代码关联分析 | |
内容 | 构建精准测试体系 |
测试右移 ¶
- 测试右移体系介绍
- 测试数据分析与线上质量监控实战
形式 | 章节 | 描述 |
---|---|---|
知识点 | 测试右移介绍 | 测试右移的价值与实践体系 |
知识点 | 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 多对多关系建表、数据库增删查改 |
知识点 | 测试平台后端开发实战 | 通过接口对测试用例数据增删查改 |
测试平台-测试平台设计 ¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 测试平台架构设计 | 架构设计、目录结构设计 |
知识点 | 平台登录功能实战 | 登录功能实战练习 jwt 令牌实现用户认证 |
知识点 | 平台注册功能实战 | 注册功能实战练习 |
知识点 | 跨平台 api 对接 | 与 jenkins 系统进行集成调用 |
知识点 | 测试用例自动录入 | 测试用例自动录入测试平台 |
测试平台开发 - 测试平台架构设计训练营 ¶
形式 | 章节 | 描述 |
---|---|---|
内容 | 测试平台产品设计 | |
内容 | 测试平台技术架构设计 | |
内容 | 测试平台项目管理设计 | |
内容 | 测试平台后台开发实战 | |
内容 | 测试平台前端开发实战 |
测试平台开发 - 实战训练营¶
痛点
- 测试工具与测试过程众多,不知道如何高效管理
- 测试数据采集与分析没有得到充分的利用
- 无法向外部提供便捷化的测试服务能力
教学目标
- 掌握测试平台方案设计能力
- 掌握测试数据的处理分析能力
- 掌握测试平台构建能力
形式 | 章节 | 描述 |
---|---|---|
内容 | 测试用例模型分析 | |
内容 | 测试用例管理体系 | |
内容 | 测试报告与测试数据管理 | |
内容 | 测试平台开发实战 |
第六阶段 毕业设计与考试¶
毕业设计训练营 ¶
描述:
- 测试方案落地设计答辩
形式 | 章节 | 描述 |
---|---|---|
内容 | 实战考试 | |
内容 | 答辩 | |
内容 | 点评 | |
内容 | 颁奖 |