测试开发知识图谱

2021-08-04 14:18:15 浏览数 (1)

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

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 经典的分析方法与图表使用

0 人点赞