版本 | 更新日期 | 审核 | 备注 |
V0.3 | 2020-06-01 | 三丰 | 增加3大自动化 |
V1.0 | 2021-10-01 | Nick | 添加持续集成 |
V2.0 | 2023-01-31 | 三丰 | 完整性能版本 |
我看到迄今为止最完整的软件测试技术路线梳理
Python 编程语言
自动化之Python 编程语言
编程语言介绍/编程概念讲解/环境搭建
变量的定义及基本使用
基本运算、基本数据类型、
输入与输出、数据的类型转换
数学运算符/比较运算符/赋值运算符
逻辑运算符/成员运算符
程序中的条件分支--if
程序中的循环结构--while
python中的list列表定义
python中的list列表操作流程
python中的dict字典定义
python中字典的增删改查
元组在python中的应用
range函数在python中的意义
for循环的定义实操
字符串、列表的切片操作
python中的集合应用
python中的函数定义
python中函数的注释
python中函数的嵌套
python中的内置函数
python中的匿名函数
python中函数的调用与引用的概念
python中的装饰器详解
Python中的模块化与引用关系
from关键字与import关键字的应用场景
python中的文件操作
面向对象:python中的类机制
面向对象:类属性的概念与应用
面向对象:类中的继承概念应用
面向对象:类中的多态概念
面向对象:异常机制
Python面试:简历上如何凸显python的技能能力
Python面试:在面试中python的问题应该如何分析
Python面试:面试中python的面试题详解
WEB 自动化测试
Web自动化测试入门:前端页面的组成分析详解
Web自动化测试入门:javascript操作Dom元素详解
Web自动化测试入门:selenium中的环境搭建详解
Web自动化测试入门:selenium原理,UI自动化的核心含义
Web自动化测试入门:从手工用例向自动化测试用例的迈进
Web自动化测试入门:常规定位--八大元素定位实战(上)
Web自动化测试入门:常规定位--八种元素定位实战(下)
Web自动化测试入门: 元素定位之selenium4.0特有网格定位
Web自动化测试入门: 元素定位之selenium元素内定位
Web自动化测试进阶:网页中难点之等待机制--强制等待
Web自动化测试进阶:网页中难点之等待机制--隐式等待
Web自动化测试进阶:网页中难点之expected_conditions的应用与原理
Web自动化测试进阶:网页中难点之等待机制--显式等待
Web自动化测试进阶:网页中难点之匿名函数在等待中的使用
Web自动化测试进阶:selenium模拟鼠标操作
Web自动化测试进阶:selenium模拟键盘操作
Web自动化测试进阶:ActionChain模拟拖动滚动操作
Web自动化测试进阶:实战中的单选复选框选择
Web自动化测试进阶:实战中的下拉框定位问题
Web自动化测试进阶:selenium中的switch_to函数详解
Web自动化测试进阶:selenium中的句柄操作详解
Web自动化测试进阶: 网页中难点之frame切换
Web自动化测试进阶: 网页中难点之多窗口切换
Web自动化测试进阶: 网页中难点之alert切换
Web自动化测试进阶:实战项目中难点之验证码问题
Web自动化测试进阶:图像处理的灰度化与二值化操作
Web自动化测试进阶:验证码处理之OCR图像识别操作
Web自动化测试进阶:验证码处理之cookie跳过验证码操作
Web自动化测试进阶:验证码处理之js处理方案
Web自动化测试进阶:自动化中的难点--文件上传操作
Web自动化测试进阶:自动化中的难点之input标签文件选择
Web自动化测试进阶:自动化中的难点之非input标签文件选择
Web自动化测试进阶:实战难点之多文件上传
Web自动化测试进阶:实战难点之iframe日期控件
Web自动化测试框架篇:unittest+pytest框架入门应用
Web自动化测试框架篇:实战中的pytest框架规则
Web自动化测试框架篇:pytest框架夹具及顺序
Web自动化测试框架篇:pytest框架插件实战详解
Web自动化测试框架篇:如何利用pytest框架生成测试报告
Web自动化测试框架篇:POM核心设计思路详解
Web自动化测试框架篇:POM的业务代码逻辑与组件分离
Web自动化测试框架篇:用POM思想设计一套框架
Web自动化高级篇: 用POM思想重构unittest框架代码
Web自动化高级篇: 进阶思路--从POM到关键字驱动
Web自动化高级篇:测试报告生成及Allure报告优化
Web自动化高级篇:Allure报告生成之用例重运行
Web自动化高级篇:Allure的装饰器执行流程
Web自动化高级篇:Allure的截图,异常截图操作
Web自动化高级篇:自动化执行记录之自定义框架日志封装
Web自动化高级篇: 自定义框架封装设计理念
Web自动化高级篇:关键字与核心执行器封装
Web自动化高级篇:自动化测试重复流程的抽取和处理
Web自动化高级篇:数据驱动与数据分离--yaml文件驱动
Web自动化高级篇:动态化测试用例的生成与断言数据的生成
Web自动化拓展:web自动化分布式测试Grid介绍
Web自动化拓展:Web自动化分布式测试之selenium-Grid的hub详解
Web自动化拓展:Web自动化分布式测试之selenium-Grid的Nodes详解
Web自动化拓展:Web自动化分布式测试之selenium-Grid的配置详解
Web自动化拓展:全面提升测试效率--实战中的Grid的应用与常见问题处理
接口 自动化测试
接口自动化入门: 接口测试概念及电商平台项目背景介绍
接口自动化入门: Http请求的核心概念及原理详解
接口自动化入门: Http的请求头,请求体,响应码解析
接口自动化入门: Http请求的域名与IP地址概念
接口自动化入门: swagger/word/excel/pdf等不同种类的接口文档理解
接口自动化入门:项目实战中接口测试流程分析及实现
接口自动化入门:Jmeter实现在接口工具中关联接口处理方案
接口自动化入门:Jmeter的多组数据测试、JDBC驱动及数据断言
接口自动化入门:JSON中的万能密码--JSONPath解析
接口自动化入门:大型项目中接口测试分工协同安排
接口自动化入门:接口自动化思维逻辑梳理及相关环境搭建
接口自动化入门:接口自动化实战项目需求分析+用例分析
接口自动化入门:Requests组成介绍及接口调用方式
接口自动化入门:Requests请求头设置详解
接口自动化入门:Requests的RESTFul请求发送
接口自动化入门: Requests实现项目接口关联调用测试实战
接口自动化入门:登录流程中的Session,Token鉴权实践
接口自动化入门:requests中的Assert断言处理
接口自动化入门: 加密接口处理之对称加密
接口自动化入门:加密接口处理之非对称加密
接口自动化进阶:Pytest运行规则插件安装常用参数详解
接口自动化进阶:Pytest结合Requests实现自动化
接口自动化进阶:Pytest全局配置pytest.ini文件详解
接口自动化进阶:Pytest之Fixture拓展及conftest.py加载机制
接口自动化进阶:Pytest之Parameterize数据驱动应用
接口自动化框架篇:Pytest断言处理以及Allure报告生成
接口自动化框架篇:Pytest+Allure报告企业定制化实现
接口自动化框架篇:Pytest企业级接口用例管理流程
接口自动化框架篇:Pytest中的接口请求封装
接口自动化框架篇:Pytest中的接口关联封装
接口自动化框架篇:优化逻辑--接口关联封装改进
接口自动化框架篇:规范JSON数据格式测试用例封装
接口自动化框架篇:接口框架中如何实现热加载封装
接口自动化框架篇:接口框架中的常归断言封装
接口自动化框架篇:接口框架中的日志记录封装
接口自动化框架篇:使用python连接数据库-PySQL介绍
接口自动化框架篇:PySQL的游标概念及数据操作
接口自动化框架篇:PySQL的游标概念及数据操作
接口自动化框架篇:Mysql数据库数据断言封装
接口自动化框架篇:接口框架中的数据类型处理
接口自动化框架篇:核心执行器封装流程
接口自动化框架篇:框架中的数据流转处理
接口自动化框架篇:框架中的不同请求方式封装
接口自动化框架篇:自定义异常日志封装
接口自动化框架篇:自定义断言封装逻辑
接口自动化框架篇:BaseURL基础路径封装
接口自动化框架篇:接口加密解密封装
接口自动化框架篇:接口签名Sign封装
接口自动化框架篇:接口自动化框架的测试报告生成
接口自动化拓展:接口Mock的理念与实战场景
接口自动化拓展:Flask框架安装、介绍及工作中的应用
接口自动化拓展:Flask框架与前端页面的通讯
接口自动化拓展:Flask框架的数据库操作
接口自动化拓展:Flask框架的增删改查接口实战
高级性能测试专家
性能理论筑基:为什么程序会有性能问题,性能问题怎么出现的?
性能理论筑基:性能测试和功能测试的区别是什么?
性能理论筑基:核心性能指标-吞吐量QPS/TPS
性能理论筑基:核心性能指标-并发量
性能理论筑基:核心性能指标-响应时间
性能测试是什么什么是性能瓶颈
监控体系-Linux服务器监控:内存监控
监控体系-Linux服务器监控:CPU监控
监控体系-Linux服务器监控:磁盘监控
监控体系-Linux服务器监控:网络监控
监控体系-Linux服务器监控:整体监控
监控体系-JVM监控:内存监控
监控体系-JVM监控:多线程监控
监控体系-JVM监控:可视化监控工具jvisualvm
监控体系-数据库监控:Mysql系统信息表分析
监控体系-集群监控:Prometheus集群数据收集体系搭建
监控体系-集群监控:Grafana集群监控看板体系搭建
监控体系-集群监控:linux/jvm/mysql等等数据收集环境搭建
怎么看资源占用
如何做好性能需求分析
如何制定性能测试计划及分析测试目标
怎么做性能测试任务分配
如何制定性能测试策略及风险分析
如何做好性能用例设计
性能测试用例执行:如何用Jmeter构建性能业务场景
性能测试用例执行:Jmeter线程组组合(梯度/尖峰/终极...)
性能测试用例执行:Jmeter性能组件应用(事务/并发/定时器/)
性能测试用例执行:Jmeter监听器及性能测试结果分析
怎么实施性能测试怎么写性能测试报告
从0到1学会编写性能测试报告
性能瓶颈分析与调优-CPU资源瓶颈分析与优化建议
性能瓶颈分析与调优-内存资源瓶颈分析与优化建议
性能瓶颈分析与调优-磁盘资源瓶颈分析与优化建议
性能瓶颈分析与调优-网络资源瓶颈分析与优化建议
JVM性能分析与调优:JVM是什么?JAVA程序运行原理
JVM性能分析与调优:JVM运行时内存区域讲解
JVM性能分析与调优:JVM垃圾回收机制 GC对性能的影响
JVM性能分析与调优:GC垃圾分代回收机制与优化方向
JVM性能分析与调优:垃圾回收器的分类与回收
JVM性能分析与调优:多线程机制与运行原理
怎么分析性能瓶颈怎么提出优化建议
JVM性能分析与调优:多线程检测与瓶颈分析
Tomcat的性能分析与调优:Tomcat原理+核心配置项
Tomcat的性能分析与调优:性能瓶颈分析+实战调优演示
性能项目整体介绍 及 性能需求分析
梳理性能需求转换为性能用例
针对实战项目进行性能压测
性能难点:Jmeter实现海量用户压测
性能难点:Jmeter文件上传场景压测
性能难点:多机器分布式集群压测
项目实战(一)-经典场景
云压测 - 机器不够用阿里云PTS应用
项目实操定位性能瓶颈
项目性能优化实操演示
高并发-Nginx集群负载均衡架构详解
高并发-Nginx压测实操与瓶颈分析
高并发-数据库集群架构详解
高并发-数据库压测实操与瓶颈分析
高并发-MQ消息中间件异步架构详解
高并发-MQ压测实操与瓶颈分析
高并发-Redis缓存架构详解
高并发-Redis压测实操与瓶颈分析
全链路追踪:SkyWalking环境搭建与项目结合
全链路监控:系统中间件节点监控
链路节点压测:SpringCloud微服务架构体系分析
链路节点压测:SpringCloud 节点压测
链路节点压测:Dubbo分布式架构分析
链路节点压测:Dubbo 节点压测
全链路追踪:链路追踪项目实操
全链路监控:ELK 日志监控体系
大厂全链路性能测试 - 分布式微服务
全链路监控:实时报警体系
影子数据库:影子表,影子库核心概念
影子数据库:如何构建影子
流量录制与回放概念分析
流量录制与回放项目实操
APP 自动化测试
DevOps 持续集成 Git Sonar Jenkins
Linux操作系统
Postman 接口测试
Fiddler 网络抓包
Redis高性能缓存
Jmeter接口自动化测试
App性能测试
RobotFramework & Airtest 跨平台自动化测试
云原生技术测试技能Docker K8S
高级性能测试
测试开发平台
软件测试基础
- 软件测试的步骤是什么?
- 如何录制测试脚本?
- 应该考虑进行如何测试的测试方法
- 怎样估计测试工作量?
- 测试设计的问题
- 当测试过程发生错误时,有哪几种解决办法?
- 测试执行的问题
- 测试评估的目标
- 如何提高测试?
- C/S模式的优点和缺点
- B/S模式的优点和缺点
- …
Linux
- grep和find的区别? grep 都有哪些用法?
- 查看IP地址?
- 创建和删除一个多级目录?
- 在当前用户家目录中查找haha.txt文件?
- 如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
- 动态查看日志文件?
- 查看系統硬盘空间的命令?
- 查看当前机器listen 的所有端口?
- …
Python
- 统计python源代码文件中代码行数,去除注释,空行,进行输出?
- python调用cmd并返回结果?
- 冒泡排序
- 1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
- 请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
- 给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
- 判断 101-200 之间有多少个素数,并输出所有的素数
- 一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
- …
MySQL
- 你用的Mysql是哪个引擎,各引擎之间有什么区别?
- 如何对查询命令进行优化?
- 数据库的优化?
- Sql注入是如何产“生的,如何防止?
- NoSQL和关系数据库的区别?
- MySQL与MongoDB本质之间最基本的差别是什么
- Mysql数据库中怎么实现分页?
- Mysql数据库的操作?
- 优化数据库?提高数据库的性能?
- 什么是数据的完整性?
- …
Web
- Web测试和app测试区别?
- WEB测试环境搭建和测试方法
- WEB测试教程
- WEB测试要点及基本方法
- Web测试页面总结
- …
接口测试
- 什么是接口
- 如果模块请求http改为了https,测试方案应该如何制定,修改?
- 常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
- 描述TCP/IP协议的层次结构,以及每一-层中重要协议
- jmeter,一个接口的响应结果如下:
- 接口产生的垃圾数据如何清理
- 依赖第三方的接口如何处理
- 测试的数据你放在哪?
- 什么是数据驱动,如何参数化?
- …
性能测试
- 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
- 服务端性能分析都从哪些角度来进行?
- 如何理解压力测试,负裁测试以及性能测试?
- 如何判断是否有内存泄漏及关注的指标?
- 描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
- 简述什么是值传递,什么是地址传递,两者区别是什么?
- 什么是系统瓶颈?
- …
selenium
- 如何开展自动化测试框架的构建?
- 如何设计自动化测试用例:
- webdriver如何开启和退出一个浏览器?
- 什么是自动化测试框架?
- Selenium是什么,流行的版本有哪些?
- 你如何从命令行启动Selenium RC?
- 在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
- 什么是Selenium Server,它与Selenium Hub有什么不同?
- 你如何从Selenium连接到数据库?
- 你如何验证多个页面上存在的一个对象?
- XPath中使用单斜杠和双斜杠有什么区别?
- 如何编写SeleniumIDE/ RC的用户扩展?
- 如何在页面加载成功后验证元素的存在?
- 你对Selenium Grid有什么了解?它提供了什么功能?
- 如何从你的Java Class启动Selenium服务器?
- Selenium中有哪些验证点?
- 什么是XPath?什么时候应该在Selenium中使用XPath?
- …
计算机与网络
- 一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …
- 请简述DNS、活动目录、域的概念。
- 10M兆宽带是什么意思?理论下载速度是多少?
- 什么是IP地址?
- OSI七层网络模型的划分?
- TCP和UDP有什么不同?
- HTTP属于哪一层的协议?
- HTTP和HTTPS的区别?
- cookies和session的区别?
- HTTP的get请求和post请求的区别?
- HTTP1.0和HTTP1.1有什么区别
- TCP的连接建立过程,以及断开过程?
- 客户端使用DHCP获取IP的过程?
- 写出某个网段的网络地址和广播地址?
- …
人力资源
- 你的测试职业发展是什么?你自认为做测试的优势在哪里?
- 你找工作时,最重要的考虑因素为何?
- 为什么我们应该录取你?
- 请谈谈你个人的最大特色。
- 一个测试工程师应具备那些素质和技能?
- 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
- 为什么选择测试这行?
- 如果我雇用你,你能给部门带来什么贡献?
- …
上述文档获取方式
由于内容过多,就不在这里就不把所有的知识点内容列举出来,总共整理了有400多页的PDF文档,有需要这份文档或者其他软件测试学习资源的小伙伴可以点击下方小卡片进群免费获取~