1、测试开发具备的能力
测开工程师所开发的工具或者平台,一般都是为了提升业务测试的效率,具体工作场景如下:
用Jmeter 这样的压测工具做性能测试还是比较麻烦的,我们可以考虑做性能压测平台,进行一键压测,供测试内部使用非常方便
构造测试数据非常麻烦,编写了构造数据脚本,但是还是不太通用,所以可以开发Mock造数据平台,进行配置化构造数据
业务场景某些场景构造比较麻烦,可以搭建业务测试中台,用作场景构造并集成日常测试需要用到的功能,比如直播业务,我们开播时需要设置比较多的步骤,可以平台化为一键开播,减少测试时开播的耗时
日常做接口测试,一般使用Postman这样的工具,然后再结合接口自动化测试框架,编写接口自动化case,步骤繁琐,可以建设接口自动化测试平台,维护接口自动化case以及打通CI/CD,减少编写用例成本
日常做UI测试,也可以搭建云真机UI自动化测试平台,配置化进行UI自动化测试
搭建测试平台,需要使用哪些技术栈呢,和后端开发一样,也是基于Web开发框架,如Spring Boot、Flask、Django,因此学好编程语言Python很重要
2、测试开发学习路线
阶段一:入门
目标
该阶段是通过学习编程语言基础,能够了解编程语言的基本语法、使用规则,能编写出简单的程序,为后续学习自动化测试框架、Web开发框架做准备。
Python
知识点
函数
面向对象编程
模块
包
异常处理
文件操作
迭代器/装饰器/生成器
常用库(Requests、openpyxl)
阶段二、基础
目标
本阶段有两个部分,一个是掌握开发的基础知识,另一个是掌握测试的基础知识
在掌握了编程语言以后,还需要巩固计算机基础知识。
比如数据结构与算法,除此之外,操作系统、计算机网络、数据库、Linux这些计算机基础知识也是企业里常用到的知识 ,对你后面学习Web框架之类的知识都有帮助
对于测试基础,需要学会基础的用例设计方法、抓包等测试工具使用,这些都是做软件测试的必备技能
数据结构与算法
常用数据结构
数组
字符串
队列
栈
链表
集合
哈希表
二叉树
常用算法
排序
双指针
查找
分治
动态规划
递归
回溯
贪心
位运算
DFS
BFS
图
计算机网络
知识点
网络分层模型
HTTP / HTTPS 协议
UDP / TCP 协议
网络安全
DNS域名解析
ARP 地址解析协议
Socket
操作系统
知识点
进程、线程
进程 / 线程间通讯方式
进程调度算法
进程 / 线程状态
死锁
内存管理
MySQL数据库
知识点
MySQL 搭建
SQL 语句(重点)
索引
事务
锁机制
设计数据库表
Linux
重点知识
常用命令
常用环境搭建
Shell 脚本编程
VIM 的使用
功能测试基础
知识点
编写测试用例设计
编写测试计划
编写测试报告
测试工具
抓包工具
Charles
Fiddler
接口测试工具
Postman
用例编写工具
XMind
缺陷Bug管理工具
禅道
Jira
接口管理工具
Yapi
阶段三:进阶
目标
该阶段分为开发进阶与测试进阶两个部分,开发进阶主要为Web开发框架学习,代码管理工具Git以及Redis缓存,为后续能开发测试平台做准备。
测试进阶则是包含了自动化测试部分,学完此部分应能利用自动化测试框架编写自动化case
Web开发框架
python web框架
Flask
Django
Git
知识点
工作区
分支
代码提交、推送、拉取、回退、重置
分支操作
代码合并、解决冲突
Redis缓存
知识点
数据类型
常用操作
Java 操作 Redis
主从模型搭建
哨兵集群搭建
日志持久化
自动化测试
知识点
单元测试自动化
TestNG:Java 测试框架
JUnit:Java 测试框架
Unittest:Python单元测试框架
接口自动化
Pytest(测试管理框架,可用来做接口自动化)
Robotframework(测试管理框架,可用来做单元/接口/UI自动化)
UI自动化
Selenium
Appium
阶段四:项目实战
目标
此阶段分为两个部分,开发实战和测试实战。
对于开发实战,希望大家能把前面所学的编程语言,数据库,Linux等知识,开发出测试平台,或者利用自动化测试框架,实现case编写、case执行以及生成测试报告一系列操作。
对于测试实战部分,可以通过利用测试工具,如Postman、Charles 完成接口测试,对于遇到的问题,能够通过日志分析,自主排查问题
学习建议
对于测试开发岗位的实战学习,最好能在公司真实环境内部进行,因为只有在公司内部才能体验到完整的项目流程。
如果说对于想转行做软件测试的同学实在没有项目经历,可以在阶段3 学习Web框架的时候,开发出一个平台,作为开发的项目经历(测试开发岗位有开发经历会更吃香)
知识点
测试工具脚本(平台)开发
监控平台
接口自动化测试平台
压测平台
业务测试中台
集成信息查询
环境自动部署
测试数据构造、mock数据
测试实战
客户端测试
Web测试
App测试
服务端测试
接口测试
白盒测试
Mock数据
测试数据构造
HTTP返回数据分析
日志分析与问题排查
阶段五:持续学习
目标
持续学习,提升自己核心竞争力
学习方向
测试效能提升
CI/CD
容器化
测试左移/测试右移
diff 测试
AI 测试
流量回放
测试平台(工具)开发
性能测试
算法测试
大数据测试
专项测试
稳定性测试
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
生命的意义不在于站在终点,而是在于奋斗的过程。即使前路布满荆棘与坎坷,也要保持信念与勇气,坚持不懈地追逐梦想,因为只有奋斗才能书写辉煌的篇章!
不要让失败成为你放弃的理由,而是让它成为你前进的动力。奋斗的路上会有苦难与挫折,但只要坚定信念,持续努力,最终必将收获辉煌的成功!
相信自己的力量,勇敢地去追逐梦想,即使路途坎坷,不放弃也不退缩。拥有坚定的意志和毅力,你就能攀登高峰,创造属于自己的辉煌人生!