Skip to content

全日制测试开发课程

测试开发体系介绍

痛点

  • 不了解测试开发的价值与定位
  • 不了解测试的流程是什么
  • 不会使用常用的测试管理平台,比如禅道、jira
  • 不会编写测试计划、测试报告等相关测试文档
  • 不了解如何管理测试用例
  • 不了解 Bug 的提交流程
  • 不了解测试用例的设计方法和思路
  • 面试过程中被问到如何设计测试用例,无法有一个让面试官满意的答案

教学目标

  • 了解测试开发的价值与定位
  • 了解测试开发的核心工作场景
  • 了解测试开发的进阶路线与技能图谱
  • 掌握测试计划与测试总结报告的编写方法
  • 掌握使用 JIRA 工具管理测试用例与 Bug 的方法
  • 掌握常见的测试用例设计方法
  • 掌握测试用例的相关概念
  • 掌握测试用例的设计与编写
章节 描述
黑盒测试方法论-边界值 边界值测试方法论
黑盒测试方法论-等价类 等价类测试方法论
黑盒测试方法论-因果图 因果图测试方法论
黑盒测试方法论-场景法 场景法测试方法论
黑盒测试方法论-判定表 判定表测试方法论
白盒测试方法论 代码覆盖、流程覆盖、精准化测试
常用测试策略与测试手段 分层测试基础、兼容性测试、稳定性测试、可靠性测试、探索式测试
bug定位方法 常用的bug定位技术
测试环境搭建 环境搭建常用技术、Linux、Shell、容器技术
测试经典书籍拆分讲解 全程软件测试、探索式测试、持续交付、Google测试之道、不测的秘密等
业务架构分析工具plantuml 时序图架构图活动图思维导图
测试流程管理jira系统-测试用例管理 测试用例管理
测试流程管理jira系统-测试流程定制 测试流程定制
测试流程实战 测试用例导入与管理、测试流程实战bug录入与管理

Linux 与 Bash 课程

痛点

  • 不了解什么是 linux
  • 不会使用 linux 的常用命令,包括 linux 三剑客
  • 不会通过linux命令分析服务端日志信息
  • 不会通过linux命令查看服务器性能数据
  • 不了解什么是 bash 和 shell
  • 不会配置 linux 相关依赖环境
  • 无法使用 shell 脚本完成测试相关工作流程,包括持续集成等

教学目标

  • 了解 linux 系统、Linux 文件、进程、网络等核心概念
  • 掌握 Linux 核心三剑客命令 grep awk sed 与数据处理分析能力
  • 掌握日志分析能力
  • 掌握服务器基本的数据例如性能、网络的统计能力
  • 了解 bash 编程语法
  • 掌握 shell 脚本编写
  • 掌握 Linux 环境中配置 Java、Python、NodeJs、Android-SDK 等
章节 描述
Linux系统与Shell环境准备 多平台配置shell使用环境
Linux进程与线程 多进程、多线程、死锁、进程间通讯
Linux常用命令之文件处理 面试必考经典命令
Linux常用命令之性能统计 cpu、mem、network、io
Linux常用统计命令 sort、uniq、wc等常用统计命令
Linux三剑客之grep 数据检索工具
Linux三剑客之awk 最强大的经典数据处理工具
Linux三剑客之sed 数据的流式编辑
Linux三剑客与管道使用 grep、awk、sed等linux经典数据处理技术
三剑客实战之Nginx日志分析实战 以真实的nginx log为例演练如何分析核心测试数据指标
三剑客实战之性能、网络统计实战 统计进程的资源占用数据
Bash编程语法 变量定义与常用流程控制语法
Bash脚本编写 编写可以直接执行的shell脚本
linux进阶命令 curl接口请求、jqjson数据处理
Linux环境配置 基础环境安装java、python、nodejs、android-sdk等
Linux命令与Bash实战

SQL 语法与数据库(选修)

痛点

  • 不了解什么是数据库和 SQL 语句
  • 不会使用数据库管理系统
  • 不会通过 SQL 语句操作和管理数据库
  • 不会通过 SQL 语句进行数据的增删改查
  • 不会使用表连接,包含内连接、外连接、子查询等查询数据的方式
  • 不了解什么是 SQL 的主键、外键

教学目标

  • 了解数据库的基本概念
  • 掌握 MySQL 的安装和配置
  • 掌握数据库客户端工具的使用
  • 掌握 SQL 基础语法,可以熟练对库和表进行增删改查等操作
  • 了解 SQL 的约束规则
  • 掌握多表查询中的表连接查询方式
  • 掌握多表查询中的子查询方式
章节 描述
数据库搭建与使用 mysql数据库的部署与客户端工具使用
phpmyadmin操作 便捷连接数据库的web工具
数据库结构解析 分析数据库的进程与基本的结构定义、存储引擎
数据库表结构解析 表、视图、主键、索引、锁、事务
sqldds数据库与表结构创建 使用sql完成数据库、表、字段的定义与修改
sqldms数据查询 使用sql完成数据的查询、更新、删除等操作
sqljoin多表查询 使用join完成多表连接查询,包括左连接、右连接、全连接

git 代码管理(选修)

痛点

  • 不了解什么是 git
  • 不会使用 git 工具
  • 不会使用 git 对代码进行版本管理、分支管理
  • 不会使用 github、gitlab 等远程仓库管理代码

教学目标

  • 掌握 git 安装和配置
  • 掌握 git 常用命令和分支管理方式
  • 掌握 github、gitlab 等远程仓库的使用方式
  • 掌握 IDE 客户端集成 git 并使用 git 管理代码的方式
章节 描述
git环境配置 安装配置
git常用命令 commit、merge、rebase、push
gitlog分析与检索 对提交内容进行分析、检索
bash、SQL、git实战

Python编程语言与 Pytest 测试框架

  • 掌握 Python 的循环、判断、方法 等基础语法
  • 掌握面向对象编程技能
  • 掌握 Python 最好用依赖管理工具 pip
  • 掌握 Python 常用第三方模块,包括日志模块,excel 模块,数据库操作模块等
  • 掌握 Python 进阶知识,装饰器,正则表达式,多线程等。
章节 描述
python环境安装 windows、mac安装方式
pycharm环境安装与配置 安装、基本使用、配置方法
python基本操作 缩进与空格、注释、打印、大小写、PEP8规范
python基本数据类型 变量的定义、python基本的数据类型介绍(整数、浮点数、布尔、字符串(切片、索引))
python字符串基本操作 format,字面量插值、join、split、replace、strip
Python的运算符 算数运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符
python控制流-判断 条件表达式if、elif、else
python控制流-循环 流程控制:while循环for循环关键字continue,break,pass
python常用数据结构-列表 列表的的定义与使用、索引和切片、列表推导式
python常用数据结构-元组 元组的定义与使用、常用api、元组与列表的区别
python常用数据结构-集合 集合的定义与使用、常用api
python常用数据结构-字典 字典常用方法:get、pop、update、字典推导式
python函数 函数定义与调用、函数返回值、默认参数关键字传参
python函数进阶与参数处理 不定长参数args、kwargs的用法
pythonlambda表达式 lambda表达式语法、使用场景
python面向对象编程 类定义、方法定义、类变量、实例变量、实例引用
python面向对象三大特性 封装、多态、继承
python内置装饰器 @classmethod、@staticmethod、@property 的使用
python 类型注解 参数与返回值的类型声明
python 模块与包 项目目录结构、模块定义、文件引用 import、相对路径与绝对路径
错误与异常 异常类型、异常捕获 try-catch、finally 使用、raise 使用
Debug 调试与分析 debug 调试分析、堆栈分析
内置库 os 常用 api:mkdir()、rename()、remove()
内置库 sys 命令行
内置库 文件处理 with open、读写操作
内置库 科学计算 math 模块常用 api
内置库 日期与时间处理 datetime 常用 api
内置库 json json.loads()、json.dumps()、 indent 缩进、编码
内置库 正则表达式 re 正则表达式语法、re.match、findall、compile
内置库 Python logging 日志打印配置和使用
内置库 Python logging 高级使用 日志打印配置和使用
pip 环境管理 pip、requirements
venv 环境管理 venv
unittest 测试框架 python 自带单元测试框架

Pytest 测试框架

  • 掌握 Pytest 测试用例结构,编写完整用例。
  • 掌握 Pytest 参数化、标记、跳过等常用装饰器
  • 掌握 Pytest 高级知识 fixture、conftest 的使用
  • 掌握 Pytest 自定义用例顺序 并行执行测试用例 等高级用法
  • 掌握 Pytest 插件开发,实现 Pytest 测试框架的个人定制
  • 掌握 Pytest 结合测试报告的安装与配置
  • 掌握 Pytest 结合测试报告信息添加,包括用例描述、附件等
  • 结合 Pytest 完成真实项目的单元测试实战
章节 描述
pytest 简介、安装与准备 pytest 简介、pytest 环境安装,运行第一个测试脚本
pytest 命名规则 模块命名、类命名、方法命名
pycharm 配置与界面化运行 配置与界面化运行
pytest 运行用例 运行多条用例/文件/包、运行指定测试用例、执行结果分析
pytest 测试框架结构 模块级、函数级、类级、方法级
pytest 命令行常用参数 常用参数说明
Pytest 标记测试用例 添加用例标签
Pytest 设置跳过、预期失败用例 用例跳过、skip、skipif、xfail
Pytest 参数化用例 单参数、多参数、笛卡尔积、用例重命名
pytest 测试用例调度与运行 测试用例的收集、选取与运行
Python 执行 pytest 利用 Python 代码执行 pytest 用例
Pytest 异常处理 assert,python try...except,异常断言
Pytest 结合数据驱动 yaml
Pytest 结合数据驱动 excel
Pytest 结合数据驱动 csv
Pytest 结合数据驱动 json
allure 安装 allure 与相关依赖安装
allure 报告中添加用例描述 添加测试分类、测试步骤等
allure 报告中添加附件 测试报告添加截图,日志,html 块,视频等
allure 报告生成 allure 运行方式及生成测试报告
python+pytest 测试用例实战 真实项目的单元测试实战

web 测试方法与技术

痛点

  • 不了解 web 项目测试的流程、思路与策略
  • 不了解html、js、css等 web 相关的开发语言
  • 不了解 web 项目的兼容性测试怎么做
  • 不会使用常用浏览器的开发者工具提升测试效率

教学目标

  • 掌握 html、js、css 基础知识以及常见相关 bug
  • 掌握网页端的通用测试点
  • 掌握网页端的测试方法,包含兼容性测试等
  • 掌握常用浏览器的开发者工具
章节 描述
html 讲解 html 结构、html 修改,页面控件结构
javascript 讲解 控件事件处理流程、js 代码分析,使用 js 分析页面
css 讲解 css 基本属性介绍、控件属性修改
web 端常见 bug 解析 js 报错、功能性问题、性能问题、兼容性问题解析

Web自动化测试

痛点

  • 不知道 Web 自动化测试价值
  • 不会使用 Web 自动化测试能力提高效率
  • 不了解如何快速掌握 Web 自动化测试能力

教学目标

  • 熟悉 Selenium 框架与常用操作
  • 掌握 Web 自动化测试用例录制能力
  • 掌握 Web 自动化测试用例编写能力
  • 掌握 Web 自动测试实战能力
章节 描述
selenium 的安装 selenium 的安装与配置
selenium IDE 用例录制 使用录制技术完成首个测试用例并分析用例结构与控件定位知识
selenium 测试用例编写 引入依赖、熟悉用例的流程并手工编写用例、使用隐式等待解决异常
隐式等待与显式等待 介绍 selenium 经典的三种等待方式
web 控件定位与常见操作 id、name、css、xpath 等定位方法的本质解读与点击和输入操作
web 控件的交互进阶 右键点击、页面滑动、表单填写等自动化动作
网页 frame 与多窗口处理 多窗口,多 frame 下的窗口识别与切换
selenium 多浏览器处理 chrome、firefox、headless 等浏览器的自动化支持
执行 javascript 脚本 使用 selenium 直接在当前页面中进行 js 交互
文件上传弹框处理 文件上传的自动化与弹框处理机制
page object 设计模式 page object 模式的发展历史介绍
page object 原则 page object 模式的六大原则
企业微信的自动化登录 利用 cookie、远程调试等技术实现无须扫码的自动化登录

app 测试方法与技术

  • 掌握 app 测试需要注意的测试点
  • 掌握 app 测试必学技能 adb 命令
  • 掌握 app 测试中的常见的 bug
章节 描述
常用模拟器使用 genymotion、网易 mumu、Android/iOS 官方模拟器
app 结构讲解 app 包结构解读
adb 常用命令 安装、卸载、数据清理、adb shell、dumpsys、uiautomator
app 常见 bug 解析 功能 bug、崩溃 bug、性能 bug

app 自动化测试

  • 熟悉 Appium 框架与常用操作
  • 掌握 App 自动化测试用例录制能力
  • 掌握 App 自动化测试用例编写能力
  • 掌握 App 自动测试实战能力
章节 描述
appium 环境安装与架构介绍 appium 的正确安装方法与架构介绍
appium 用例录制 使用 appium desktop 完成首个 app 自动化用例
元素定位方法与隐式等待 id、aid 定位与隐式等待结合打造稳定用例
app 控件定位 id、aid、xpath 定位方法、dom 结构解读、uiautomatorviewer 定位工具
app 控件交互 点击、输入、获取属性
触屏操作自动化 根据坐标点击、滑动、以及其他手势操作
高级定位技巧 xpath、uiautomator、css 定位表达式以及滑动定位应用
显式等待机制 利用显式等待解决复杂条件下的控件定位
属性获取与断言 get attribute 原理分析与属性命名规则
参数化用例 使用参数化构建多条相似测试用例
capability 使用进阶 复用已有 app 的状态、自动赋权限等场景应用

接口协议抓包分析与 mock

痛点

  • 不了解被测产品的通讯协议与结构不知道测试点在哪
  • 文档不齐全的情况不知道如何开展接口测试
  • 存在第三方服务依赖的时候,构造测试数据困难
  • 不知道 http 协议如何测试以及复杂响应结构如何解析
  • 不知道接口测试用例如何编写

教学目标

  • 了解接口测试的价值、知识体系与学习路线
  • 掌握常见协议tcp http协议结构与通讯方式
  • 掌握常用接口测试工具 postman curl
  • 掌握常用抓包工具 charles 与 fiddler
  • 掌握接口mock技术
章节 描述
接口测试价值与体系 接口测试在分层测试中的价值与质量关注点
常见接口协议解析 tcp/udp/http/restful/dubbo 等协议区别与解读
抓包分析 tcp 协议 使用 tcpdump 与 wireshark 分析三次握手与四次挥手流程
使用 postman 发送请求 使用图形化工具构造 http 请求并发送
使用 curl 发送请求 从已有的请求中自动生成对应的 curl 命令
常用代理工具 charles、mitmproxy 等工具的应用
http/https 抓包分析 ssl 证书设置与 https 抓包
http 协议讲解 常用状态码、header、请求与响应的格式分析
get、post 区别实战详解 get 与 post 的本质区别与具体抓包解读
session、cookie、token 区别解析 基于真实系统了解 session、cookie、token 的区别
接口 mock 实战 抓包实战、通过代理修改请求与响应、rewrite、弱网测试、辅助构造更多场景用例

接口自动化测试

  • 掌握接口自动化测试体系
  • 掌握接口自动化测试用例设计方法
  • 掌握接口自动化测试中的请求构造与响应断言技巧
章节 描述
接口测试框架 使用最流行的 requests 进行接口测试
接口请求构造 常见的 get/post/put/head 等 http 请求构造
接口测试断言 状态码、返回内容等断言
json/xml 请求 以 json、xml 结构化的格式发送请求
xml 响应断言 利用 xpath 进行断言
json 响应断言 利用 json path 进行断言
schema 断言 应对大量响应数据字段的格式断言
header cookie 处理 header 自定义与 cookie 自定义
form 请求 form 表单的测试与请求模拟
超时处理 请求超时的异常处理
文件上传测试 文件上传测试、分片上传
代理配置 利用代理分析测试脚本,排查请求错误
认证体系 http basic、oauth2 等认证体系的测试
接口加密与解密 处理有加密的接口协议
多套被测环境测试 用一套测试用例测试多套被测环境
企业微信接口测试环境准备 环境准备 token 获取与业务测试用例编写
企业微信接口测试实战 单 api 测试、多 api 测试

性能测试

章节 描述
JMeter 介绍与安装 性能测试基本概念、常见压测工具、jmeter 的优点介绍与安装
压测脚本录制与编写 录制 http/https 压测脚本分析压测用例结构
虚拟用户并发模拟 虚拟用户讲解与常见的压测策略
压测结果分析 测试结果报表分析与定制

Docker 容器技术

章节 描述
容器技术介绍 docker 容器化技术的体系介绍
docker 安装与配置 docker 环境安装与国内加速配置
docker 常用命令 使用常用命令完成镜像的拉取与容器的创建
搭建 Web 服务器 nginx 使用一行命令搭建基于 nginx 的网站
搭建持续集成平台 mysql 使用 docker 搭建数据库
搭建测试用例管理平台 testlink 使用 docker 搭建测试用例管理平台
搭建持续集成平台 Jenkins 使用 docker 搭建持续集成管理平台
搭建持续集成平台 Jira 使用 docker 搭建流程管理平台
docker实战

持续集成系统

痛点

  • 不了解 Jenkins 如何与自动化测试结合
  • 研发频繁修改代码后,不能通过自动化测试尽早发现问题。

教学目标

  • 掌握 Jenkins 与自动化测试结合的方案
  • 掌握 Jenkins 的安装、配置
  • 掌握 Jenkins 的 job 结构和构建
章节 描述
持续集成体系介绍 持续集成的核心概念
jenkins 安装 jenkins 平台的部署与数据管理方法
jenkins job 机制 定义你的第一个持续集成任务
节点管理 把机器加入 jenkins 的节点
权限控制 jenkins 的安全管理机制讲解
常用插件 html publish、junit 报告管理、父子任务等常用插件
报警机制 job 构建结果的提取与多种通知方式
矩阵 job 与父子 job job 之间的分工与协作管理
静态扫描体系集成 静态扫描体系集成
单元测试体系集成 单元测试体系集成
代码覆盖率集成 代码覆盖率集成
持续集成实战-接口测试集成实战 接口测试的持续集成管理实战

数据结构与算法

  • 掌握常见数据结构与代码实现方案
  • 掌握常见算法与代码实现方案
  • 掌握常见设计模式与代码实现方案
章节 描述
算法性能评估 时间复杂度、空间复杂度
数组与列表 经典排序算法 冒泡排序 选择排序
队列 管道应用、消息收发、FIFO 先进先出
堆栈 LIFO 后进先出、函数调用的堆与栈的区别
链表 单链表、双链表的应用与常见算法
二叉树 二叉树的创建,前序、中序、后序遍历算法
多叉树 多叉树基本结构、算法与应用场景
递归算法 使用递归算法替代传统循环

全流程实战

章节 描述
全流程实战练习 整合前面所学的知识内容,完整真实项目的实战练习