测试开发知识图谱

记录从单纯的测试或者技术小白如何一步步进阶成为一名合格的测试开发工程师

Tips
文中如果有不当的地方欢迎大家指正
有同学对某些点感兴趣的或者有想了解某些领域相关知识的欢迎留言和投稿

以下为大家介绍在每一个阶段需要掌握的基础知识以及对应的实践文档

1 测试方法与理论

名称 相关知识点
1.1 软件开发生命周期 SCRUM/XP、持续集成/持续交付/DevOps
1.2 测试流程体系 传统测试流程、测试左移、测试右移
1.3 测试技术体系 分层测试体系、单元测试、UI 测试、接口测试、白盒测试
1.4 测试经典书籍 全程软件测试、探索式测试、持续交付、Google 测试之道、不测的秘密

2 Shell脚本相关

名称 相关知识点
2.1 Bash pipe
2.2 Linux三剑客 grep、awk、sed
2.3 Linux基本命令 find、netstat、ps
2.4 Android基本命令 adb、dumpsys、am、UIAutomator、instruments
2.5 iOS基本命令 libimobiledevice

3 数据库相关

名称 相关知识点
3.1 关系型数据库 mysql
3.2 非关系型数据库 redis、mongodb、neo4j

4 git 代码管理

名称 相关知识点
4.1 常用命令 commit、merge、rebase、push
4.2 分支管理 gitflow流程简介

5 Python 编程语言与测试框架

名称 相关知识点
5.1 Python环境搭建、多版本安装 Mac/Windows环境搭建、IDE日常使用
5.2 基本数据类型与操作 python 的数字、字符串、列表的使用
5.3 控制流语法 条件、循环等表达式与流程控制
5.4 常用数据结构 列表、元组、集合、词典与常用便捷表达式
5.5 模块 项目目录结构、模块定义、文件引用
5.6 输入与输出 字面量打印与格式化、文件读取、json 格式转换
5.7 错误与异常 语法错误与定位、异常捕获、异常处理、自定义异常
5.8 面向对象编程 类定义、方法定义、类变量、实例引用、实例变量
5.9 标准库 os 与文件处理、科学计算、网络访问、日期与时间等处理
5.10 多线程处理 进程与多线程处理,log 处理
5.11 第三方库 pytest、requests
5.12 pip 依赖管理与虚拟环境 第三方的依赖管理与项目管理
5.13 unittest python 自带单元测试框架
5.14 pytest python 最流行的全能型测试框架

6 Web 自动化测试

名称 相关知识点
6.1 selenium selenium简介及实战
6.2 page object page object 设计模式详解及实战

7 移动端 app 自动化测试

名称 相关知识点
7.1 appium appium 基础知识及实战
7.2 appium使用技巧 元素定位、弹窗识别、webview测试等

8 常用开源测试平台

名称 相关知识点
8.1 monkey android 健壮性与压力测试工具 monkey 的进阶使用
8.2 maxim android 遍历工具
8.3 appcrawler 多平台自动遍历测试工具
8.4 STF 多设备管理平台 STF 打造自己的智能设备实验室管理上百台设备
8.5 Selenium Grid 跨平台设备管理方案 Selenium Grid 构建支持 android、ios、web 的多架构自动化测试平台

9 客户端专项测试

名称 相关知识点
9.1 启动性能分析 冷启动、热启动、暖启动、首屏启动指标分析
9.2 接口性能分析 dns、http/https 的接口性能分析
9.3 Webview性能分析 hybrid app 的性能分析
9.4 H5性能分析 手机浏览器的性能数据获取与分析
9.5 卡顿分析 过度绘制、冰冻帧、卡顿数据
9.6 系统资源分析 cpu 统计、mem 统计、网络流量分析
9.7 耗电量测试 使用 batterystats 与 battery historian 完成耗电量的基准分析
9.8 弱网测试 模拟弱网、丢包、延迟、不可访问等多种条件下的应用体验
9.9 健壮性测试 使用 monkey maxim 完成 app 的健壮性测试
9.10 兼容性测试 使用 appcrawler 完成遍历与兼容性分析
9.11 代码覆盖率 jacoco 代码覆盖率

10 服务端接口测试

名称 相关知识点
10.1 常见接口协议 tcp/udp/http/restful/dubbo
10.2 抓包分析 tcp 协议 使用 tcpdump 与 wireshark 分析三次握手与四次挥手流程
10.3 postman/curl postman及curl简介及使用
10.4 常用代理工具 charles、burpsuite、mitmproxy、anyproxy
10.5 http/https 抓包分析 ssl 证书设置与 https 抓包
10.6 http 协议讲解 状态码、header、请求与响应的格式分析
10.7 get、post get 与 post 的本质区别与具体抓包解读
10.8 session、cookie、token 了解 session、cookie、token

11 服务端接口自动化测试

名称 相关知识点
11.1 接口测试框架 requests
11.2 接口请求构造 get/post/put/head 等 http 请求构造
11.3 接口测试断言 状态码、返回内容等断言
11.4 json/xml 请求 优雅的发送 json、xml 请求
11.5 json/xml 响应断言 json path、xpath 进行断言
11.6 schema 断言 大量响应数据字段的格式断言
11.7 header cookie header 自定义与 cookie 复用
11.8 认证体系 http basic、oauth2 等认证体系的测试

12 服务端性能测试

名称 相关知识点
12.1 JMeter JMeter 实战
12.2 性能监控系统 influxdb、grafana、prometheus 实战

13 接口安全测试

名称 相关知识点
13.1 服务端安全测试体系 详解 OWASP 的 top10 安全漏洞与安全防护体系
13.2 安全测试演练环境 搭建安全测试演练环境实操常见安全漏洞
13.3 常见接口安全测试工具 zap、burpsuite、sqlmap 等知名安全测试工具介绍
13.4 BurpSuite 黑客与白帽子最常用的安全测试工具详解
13.5 命令注入漏洞 命令注入漏洞原理与实操
13.6 sql 注入漏洞 sql 注入、sql 盲注等漏洞的原理介绍与实操
13.7 xss 漏洞 xss 多种漏洞的原理介绍与实操
13.8 csrf 漏洞 csrf 漏洞原理介绍与实操

14 docker 容器技术

名称 相关知识点
14.1 docker基础 技术讲解与常用命令实战
14.2 构建可发布的镜像 使用 docker 搭建测试用例管理平台testlink
14.3 搭建持续集成平台 使用 docker 搭建持续集成管理平台Jenkins
14.4 搭建 Web 服务器 搭建基于 nginx 的网站

15 持续集成

名称 相关知识点
15.1 持续集成体系介绍 持续集成的核心概念
15.2 UI 自动化测试集成实战 将 selenium、appium 的用例放入持续集成
15.3 接口测试集成实战 将接口测试用例放入持续集成管理
15.4 持续集成体系构建 代码变更后的全自动测试流程体系构建

16 持续交付/DevOps

名称 相关知识点
16.1 基础内容 基于 docker 与 blue ocean 构建企业的持续交付体系
16.2 进阶 基于 jenkins api 实现运维与测试的协同自动化

17 测试左移

名称 相关知识点
17.1 Android Jacoco、FindBugs、PMD、CheckStyle、infer、lint
17.2 Java Sonar、ASM
17.3 iOS oclint、 infer

18 测试右移

名称 相关知识点
18.1 测试右移介绍 测试右移的价值与实践体系
18.2 logstash 数据采集与传输
18.3 elastic search elastic search 的索引、文档、查询语法基本概念讲解
18.4 kibana ibana 经典的分析方法与图表使用

测试开发知识图谱

测试开发知识图谱

上一篇:Codeforces Round #739 (Div. 3) 题解


下一篇:搞定内存泄漏