如何成为一名测试工程师?(完结)
如何成为一名测试工程师?(完结)
关于软件测试
软件测试是软件开发的最后一道防线,也是产品上线前最重要的一个环节。经过这些年的
发展,测试岗的工资待遇也比之前好了很多。
45601a53-7b1c-4ce2-ae3d-3a1f1334ad6c.png
软件测试岗可以为三类角色:
• 业务功能测试
• 自动化测试(写业务测试的自动化脚本)
• 做测试平台、测试工具、测试服务的开发
第一类角色属于软件测试岗中的初级岗位,第二类就属于能在公司处于一席之位的位置
了,不可替代性就提高了很多;第三类其实属于软件开发,只不过开发的目标是测试平
台、工具、服务。
测试工程师的技能要求
我在 GitHub 上找到两张非常不错的测试开发工程师技能成长路线图/技能图谱,这里分享
给球友们看一下:
7d78f411-4878-4714-969a-bb40484a2cf4.png
82080586-ea06-4640-bea3-e2dcb4e5364e.png
软件测试的基础理论知识
测试的基础理论是迈入测试行业的基础,这些东西看似枯燥,却也能决定你对软件测试的
理解深度,决定你将来能走多远。
• 软件测试常见概念
• 软件测试的分类
• 基于软件生命周期的测试
• 软件测试流程
• 黑盒测试方法
• 测试用例设计
• 测试用例执行及缺陷报告
• 测试报告
测试环境配置
测试环境的搭建配置是测试工程师的基本素质,也是你从测试工程师向测试开发工程师迈
进的基础。
• MySQL 数据库,英语功底表好的球友可以看(3 小时搞
定):https://www.bilibili.com/video/BV1iJ411m7Fj,其他球友可以看动力节点的
MySQL 课程:
https://www.bilibili.com/video/BV1Vy4y1z7EX
• Linux 系统基础,B 站上韩顺平的 Linux 课程是比较
火:https://www.bilibili.com/video/BV1Sv411r7vd
• Shell 基础
• Redis 数据库
• 虚拟机测试环境管理
• LAMP 环境搭建
• 云服务器搭建
• Docker 环境搭建
• K8S 环境搭建
掌握两种以上编程语言
建议大家以 Python 为主,Java 为辅,各大招聘网站上也是以这两种编程语言为主。
SQL 的编写,Shell 脚本的编写也是要会的。
掌握自动化测试技术
下图覆盖初、中级软件测试工程师所需具备的测试工具。
501cd00a-b250-450e-bde6-00d7a2f959ab.png
• 测试框架,Selenium、Appium
• 接口测试工具,Jmeter、Postman、HttpRunner,接口测试是目前较为流行的测试方
向,主要是把浏览器做的事情通过手动打包来完成发送,所以对 HTTP 请求/响应报
文、TCP 三次握手四次挥手有一定的了解
• 抓包工具,Fiddler、Wireshark、Sniffer、Tcpdump
• 持续集成,Jenkins、Docker、Git/SVN,要能检出源码、编译打包、上传测试服务
器、部署启动、写测试脚本、完成测试
51261383-9488-4492-9b35-0fae44f9799b.png
这里提一下 MeterSphere,GitHub 上星标 7.8k 的一站式开源持续测试平台,覆盖测试管
理、接口测试、UI 测试和性能测试等。
GitHub 地址:https://github.com/metersphere/metersphere
自学方法
可以阅读一些经典书籍,比如说《软件测试的艺术》、《软件测试》、《Google 软件测
试之道》、《软件测试,经验与教训》 、《测试架构师修炼之道》,通过看书不仅能提
高你的测试技术,还能提升你对整个软件测试行业的发展及前景的理解。
测试开发工程师必读经典好书清单
可以通过 B 站上的这个视频来入门测
试:https://www.bilibili.com/video/BV1NM4y1K73T,一共 168 小节,老师讲的还是挺
不错的。
713b0f01-7d42-4a9f-af17-c446af06a472.png
自学的过程中一定要做好笔记,可以用思维导图把知识点串联起来。可以按照输出->总
结->输入->输出这种学习闭环来实践,无论是读一本书还是看一段视频,把自己的心得体
会以书面的形式记录下来,你会发现,随着天数增加,自己的知识库也壮大了起来,而这
些也让自己下一次的输出更有效率。