很多测试人在行业中摸爬滚打了很多年,时不时给身边新入职的伙伴们一些好的建议,对一部分刚入职起步的测试小白来说,这些建议都是让你少走弯路的捷径,废话不多说,让我们来了解一下,一位入行4年跳槽2次的老测试的自述。

测试人的真实写照

最近几年软件测试行业在如火如荼的发展壮大,互联网以及其他传统公司都需要大批量的软件测试人员,但是近几年的疫情导致大规模裁员,让人觉得行业寒冬已来,软件测试人员的职业规划值得我们深度思考。那么2022年呢?将又会是怎样的一番风景呢。

大家都比较看好软件测试行业,只是因为表面上看起来:钱多事少加班少。其实这个都是针对个人运气好的童鞋才会有此待遇。在不同的阶段做好不同阶段的事情,才有可能离这个目标更近,作为一枚软件测试人员,也许下面才是我们最真实的写照。

第一年

我当年也是一头撞进了软件测试行业。迫切的想要了解这个行业,它的升职模式,如何才能薪资更高,实现自己的经济自由。但是以过来人的经历,告诉你:做好当前的事情。把上司交给你的每一份任务都仔细认真的去完成,体现你作为一个初入职场的新人的价值。新人进去,不奢望你能够做多大的贡献,只希望交代给你的事情,不用给你擦屁股就行。 第一年,如果你每天都很积极,迫切的想要完成更多的任务,那么这一年的你将会进步最快。对功能业务逻辑的整体把握感,对测试用例的编写能力,对功能测试进度把握,这些都将会成为你以后工作的坚实基础。这一年,请打好你的基础,暂时忘记自动化代码工具这些,你没有坚实的软件测试行业内知识和接触到的一些专业名词,你拿着工具也都是徒然。

第二年

经过第一年的努力,你已经具有比较牢靠的软件测试基础,已经完成了一轮一轮的重复的手工测试,对,在这个阶段我们应该做什么?是每天上班等下班还是利用这段时间做点有意义的事情?毋庸置疑,如果你是积极向上的青年,那答案肯定是后者。 建议是:把你每天做的重复的功能测试,利用工具来做。 不建议大家过早的接触代码或者是性能这块,如果你还是职场第二年,因为你还见识的太少之前没系统化做过性能这块,根本达不到能自主写代码和性能的这个阶段(跟前面说的一样,除非你很仔细的学过并且有过项目实操),要能够写脚本和做性能,需要你对整个测试框架和业务逻辑都有一个比较强的把握能力,否则,你做的事情,就会是无用功。就好比你学写代码,却发现自己永远停留在print(“hello world”)的水平;你学性能,却发现自己永远停留在录制脚本的水平。 可以接触的工具:自动化测试工具/Jmeter等,这些工具可以帮助你减少相对的劳动力,把一些重复的工作利用工具来进行。学好了用活了,下次升职加薪或者是换工作,幸运之神都不会错过你。

第三年

终于迈入了第三个年头,恭喜恭喜,还能够坚持说明你没有被这个行业所淘汰。经过两年的基础打底,只要你不是混混过日子、白天摸鱼、晚上打游戏,那么你的基础会让你的工作效率大步提升,你也会有更多的时间来做的别的事情; 毫无疑问还是:学习,学习,学习。 这个时候,我们可以尝试着接触一些代码和一些框架,把你自己所学的知识融入到你自己的项目中去。能够把自己的项目整理出一个测试框架,那么你就是对这个公司的工作是有非常大的推进作用的! 强烈建议:学习Python,Selenium等。

第四年

有了代码基础后,发现你的工作量又被简化&优化了。这个时候我们应该对网站的架构,代码知识,数据库知识,网络瓶颈,系统优化等各个方面都有了比较深入的了解,我们终于可以进一步来做性能测试了! 这个时候,我们突然明白:做性能测试不仅仅是录制脚本了!你需要去优化脚本,去设计场景,去获取目标用户量,去执行压力测试,去分析压力结果,做好这些之后,去综合分析发生性能瓶颈的是数据库优化问题,还是网络瓶颈问题还是本来的架构就存在问题?

.....

  • 第N年

  • 或许我们会很体面

  • 或许我们会很狼狈

  • 所有的一切全部取决于

  • 你今天的决定

  • ·····

  • 未完待续.......

希望我们都能沿着自己规划的道路去发展,实现软件测试工程师的人生职业规划。

最后作为过来人的一些忠告:

作为一名测试员,你真的不该只会点点点~ 随着软件开发体系的改变,对于现在的测试人员来说,不是自动化或者代码有多重要,而是懂自动化,懂代码,能够理解系统的实现,已经变成了必备技能,现如今很多大厂都喜欢全栈型、全能型人才。

并且很多初学者很纠结,自动化测试工具那么多,比如QTP和selenium,到底该偏向于哪个呢?

个人建议:初学者最好去找一个靠谱的老师和机构去系统化学习,如果只是靠B站,百度,知乎,各种免费公开课去东拼西凑的找资源学习,说实在的确实没什么很大的作用,虽然你学习测试的宽度有了,专业词汇一提你就懂是用来做什么的,如何去做,但是面对深层次的问题时你该怎么办?打开度娘吗?别搞笑了,这个时候你的劣势就凸显出来了。如果你不尴尬那么尴尬的就是别人,当然了这其中不包括有基础的朋友们去自行学习的人群。

学习自动化测试应该注意什么?

❶ 强烈建议先去学习功能测试,然后再去学自动化。为什么要先功能测试呢?直接学自动化不就好了吗,千万别这么尝试!在你没有牢固的基础的时候盲目的去学习自动化,我完全可以负责任的告诉你,你根本学不会,因为你会完全听不懂在讲的是什么?都听不懂更别提你能学明白自动化了。所以强烈建议不要直接去学自动化,先把功能测试学习结束后再看自己目前的现状后再去学习自动化!

❷ 建议是学selenium,开源的,免费的,你可以下载源码研究,去了解其原理,再者selenium的测试思路和手工测试类似,学起来比较轻松。

❸ 不建议学selenium IDE录制,当然你可以通过录制一些然后转换为相应的脚本去学习,等你学好了selenium,再去学appium你会有一种天然的似曾相识。为什么不建议学QTP/UFT?因为收费/臃肿/现在做桌面软件测试的工作已经不太多了。

❹ 关于买书,看书能够提高一定的理论知识,但是解决不了实际问题。自动化测试的能力还是要靠一行一行代码敲出来的。

互联网行业更新迭代太快,如果想更快的提升自己的测试能力,更好的学习新技术,我强烈建议你可以跟一些志同道合的小伙伴们一起交流讨论。

机会 总是留给 有准备的人 的,尤其在整个就业大环境都不太乐观的情况下,你更要为自己做好充足的准备!

所以,强烈建议你不要犹豫!

下面是我整理的这份2022年最全的软件测试工程师发展方向知识架构体系图,会很明确的告诉你该往哪里努力:

一、测试基础

了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维

程序员威子 测试基础
测试计划/测试用例 黑盒用例设计等价类/边界值/场景分析/判定表/因果图分析/错误推断
缺陷 缺陷生命周期/缺陷分级/缺陷管理工具禅道/Jira
数据库 Mysql/环境搭建/增删改查/关联查询/存储过程
Linux 系统搭建/基本指令/日志分析/环境搭建

二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。

程序员威子 Linux必备知识
Linux系统简介与准备 Linux作为现在最流行的软件环境系统,一定得会,从CenterOS版本系统进行介绍,安装,目录结构等基础内容学起,也为后续自建测试环境准备。
Linux远程工具Xshell 详细介绍如何入门使用Linux,并进行常规的远程管理,文件传输操作,涉及其中的工具Xshell,Xftp
Linux文件属性与管理 Linux文件,目录基本属性,文件操作,文件管理,目录操作,目录管理。切忌自毁行为操作,如何预防意外操作
Linux用户与组管理 如何在Linux中新增,删除,修改用户与组,并赋予相应权限,不再因为权限问题而卡壳
Linux文件编辑器 Linux文件编辑器vi的使用,命令模式,输入模式,操作实例,快捷键,管道命令,使用心得。在一个没有图形化的系统下到底如何编辑的呢?
Linux常用系统设置 网络设置,环境变量,磁盘管理,时间设置,系统资源,防火墙,应有尽有,不用担心毫无头绪。
Linux安装软件 Linux安装命令,以及如何通过tar,gz等网络上下载的安装文件进行安装,如MySQL数据库安装。
Linux Docker容器 Docker容器技术讲解,image镜像管理,仓库,容器创建,启动,操作,镜像打包,赶上行业流行技术

三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数

程序员威子 Shell
Linux Shell基础与应用 shell脚本编程介绍,环境类型,变量,参数,运算符,数组的使用,零距离接触脚本
Linux Shell逻辑控制 shell逻辑应用,test命令,流程控制,数据输入与输出,脚本逻辑不再单调,玩出花样
Linux Shell函数 shell脚本函数写法,文件互相调用,脚本实战应用,懂得开发,测试,运维都可以做什么
Windows脚本批处理 Linux玩够了,再来看看Windows常规命令用法,批处理脚本写法,实战应用,并不是到哪都是Linux,Windows脚本也是常用脚本之一,看到这里可能你就用的Windows

四、互联网程序原理

自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理

程序员威子 互联网程序原理
Web前端开发基础 HTML、CSS基本内容学习。为什么测试课程有开发?对不起,如果不会,自动化可能不欢迎,很多自动化测试问题都出自于开发基础
Web前端开发脚本 JavaScript最主流的脚本学习,同样的,这也会在自动化测试中涉及,在一些工具中其实也经常用到动态脚本,也是JavaScript语言
开发者调试工具测试应用 虽然浏览器的F12被命名为开发者工具,但实际上测试不管在功能测试还是自动化测试中,都起到了很关键的作用。如解析HTML,定位元素,调试脚本,监控网络抓包等等
互联网程序网络架构 通过网络架构详细理解互联网程序的诞生,逻辑细节,互联网通讯原理又是如何将数据传递到其他计算机的,TCP,UCP,HTTP,等等协议的关系又是什么。
HTTP协议数据结构分析 完整解析HTTP协议数据结构,包括Request、Response数据格式,Header的定义和用法各种状态代表什么,如何辨别错误。分析协议中参数的位置,rest结构,各种常见的body数据形式,解析方式,常见数据解析错误的原因。
Cookie与Session机制 解读Cookie到底是什么,和Session存在什么样的关系,如何测试Cookie与Session,需要注意什么

五、MySQL数据库

软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。

程序员威子 MySQL数据库
MySQL数据库测试应用 MySQL环境搭建,客户端Navicat的基本使用与数据操作,学习并巩固基本的SQL语法,增删改查缺一不可,掌握各种条件的使用方法
MySQL高级查询 查询升级,掌握多表查询,子查询,查询分组,统计函数的使用,并对经典面试题进行学习与分析
MySQL自定义函数 既然有内置函数,当然也不缺自定义函数的位置,也是经常会使用到的,这就好比任意一种开发语言一样都离不开函数的定义与使用
MySQL存储过程SP 数据库必不可少的存储过程,通常也叫SP,如何定义?如何测试?怎么样使用更安全,测试到底用存储过程还能做什么更多便于测试的内容
MySQL事物与编程 数据库事务使用案例,索引的原理与使用,数据库SQL编程在测试中的应用,如何用其快速精准的产生大量指定的测试数据

六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的

程序员威子 抓包工具
抓包原理与方式 只有了解抓包的原理,才能真正去用好一个适合的工具,选择合适的方向和方法,否则都是徒劳的
抓包工具选择 抓包工具的分类与功效,什么样的项目适合哪种工具,如何去辨别工具的优势
Fiddler基础功能 作为专业的HTTP体系的抓包工具,详细介绍其工具原理,如何过滤数据,如何搜索想要的数据,如何对web,非web,手机,HTTPS协议等各种环境进行抓包
Fiddler高级功能 学会使用其进行接口测试,断电,脚本等方式进行数据的修改,替换,模拟数据进行接口Mock测试,创建自己定义的菜单功能
Wireshark 与其说是抓包,更是一种抓包后的分析工具,在各个系统下利用其它与系统一体化的抓包工具进行数据抓取整理并展示,有着强大的过滤和分析功能
Sniffer 黑科技抓包工具,有多种版本,非常专业的抓包工具
Tcpdump Linux、Android系列的系统中的抓包插件神器

七、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman

程序员威子 接口测试工具
Jmeter接口测试入门 Jmeter简介,环境准备,目录结构介绍 ,如何录制脚本,以及基础组件的使用,线程、作用域、HTTP请求、定时器、断言等等
Jmeter接口测试进阶使用 Jmeter逻辑控制、前置处理器、后置处理器、监视器、结果树,如何参数化、正则表达式关联、事务、检查点等等。并带领大家对带有token等动态数据的项目进行实战演练
Jmeter接口测试高级功能 Jmeter脚本思考时间、随机时间、线程启动间隔、并发集合点、联机远程调用,webservice、websocket、jdbc、命令调用等等
Postman接口测试工具使用 行业标准HTTP、rest接口测试神器,基本请求、分组保存、动态变量、脚本、数据关联、参数化、自动断言、批量运行、持续集成。思路类似其他接口工具,避免泛滥学习

八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理

程序员威子 Web自动化测试Java&Python
自动化框架思路引导 我们做自动化到底为了什么?节省人力、加快速度、还是让机器代替手动、还是提升自我。应该如何建立思路,而非无脑进坑任机器摆布
Java&Python3开发环境及基本语法 Java&Python开发环境搭建,基础语法入门,让不会代码的以最快速度入门,方便适应后续自动化测试开发内容学习,代码够用即可,并不是学得越多越好
Java&Python3集合类型与面向对象开发 Java&Python各种基本类型、集合数据类型的理解与操作,循环语句、判断语句,面向对象的开发,函数的使用,类的使用
Selenium3环境与浏览器驱动配置 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
Selenium3多种定位及动态操作 selenium3常见定位方法,属性和值的获取,如何动态判断不一定存在的元素,复杂的网页结构,需要多步骤操作的元素等等
特殊情况处理(js、特殊控件等) selenium3自动化测试中,常见的特殊情况处理,如日期、控件、智能等待、文件上传下载、网页嵌套结构,各种弹窗的处理方式,cookie处理,JavaScript脚本调用等
TestNG&unittest自动化框架使用 Python unittest、Java TestNG自动化框架的使用,环境处理、基本使用逻辑,数据驱动模型,数据库数据载入等
自动化框架断言与日志处理 自动化中最重要的是什么?作为测试当然是断言,没有断言的自动化毫无用处,如何展示日志与结果是自动化测试的根本
PageObject框架设计模式 PageObject框架设计模式,到底是做什么的?如何更好的快速管理控件,从此做起

九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用

程序员威子 接口与移动端自动化
接口自动化方案Requests Python Requests、Java HTTPclient接口框架,都是专业的接口调用、测试的解决方案,使用简单快速,结合工具的使用方式和功能,快速上手并对其操作,解决其中的疑难杂症
web+自动化框架整合 自动化测试是相通的,如何将web与接口、甚至更多的测试类型和方向结合起来,组成完整的自动化框架
Appium环境搭建 Appium环境相对复杂,针对Android系统进行完整的环境搭建演练,解决环境上的问题,并进行基本的自动化操作
Appium自动化实战与框架结合 Appium整体使用与web自动化类似,引导使用典型功能,并针对一款APP进行实战操作

十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

程序员威子 敏捷测试&TestOps构建
构建敏捷测试运维架构体系 敏捷测试是什么?为什么需要敏捷,行业都提到的devops又是什么?TestOps能做什么
持续集成Jenkins框架实战 持续集成最常见的一套框架,介绍Jenkins操作、权限、系统管理等,常用构建与运行实例讲解
静态扫描测试Sonar 一款自动化的代码扫描工具,便捷式快速扫描代码中的问题,做到提前发现,统一规范,自动化中的代码测试神器

十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!

程序员威子 性能测试&安全测试
性能测试学习路线 如何学习性能测试,性能测试到底该怎么学习,使用什么工具?工具并不代表性能,接口的基础对性能测试非常重要,而工具只是辅助,更多的是思路和策略。你不会并不是分析而是准备阶段
loadrunner脱离浏览器录制专题 IE无法启动被测网站?打不开浏览器?程序无法在浏览器中被打开?这些都没关系,还是一样能录制,但录制是偷懒专用的,对于学习有一定的辅助作用,也会带入无法脱离的坑
性能测试工具操作实践 loadrunner、jmeter,有了前面的基础使用,看懂脚本不是问题,带上关键的参数化、动态数据关联、事物、日志,大部分的脚本都可以搞定进行实践
系统监控方案实施 工具自带监控?系统监控?JVM内部监控?数据库监控?各种监控的意义何在,如何在各种情况下精准监控数据
安全测试起源与工具介绍 应该如何进行安全测试,安全测试都有哪些分类?都会用到什么样的工具,各自的作用又是什么,如web漏洞扫描,端口扫描,系统扫描等
web安全测试手工实战 接口测试在安全中的作用,不会手动的安全测试,那就永远无法理解自动化以后产出的结果
安全扫描工具测试实践 实际介绍以及使用APPscan、awvs等专业安全扫描工具
企业安全建设(SDLC) 企业应该如何进行安全建设,制定更安全的软件生命周期。从哪些方面进行着手

上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

凡事要趁早,特别是技术行业,一定要提升技术功底。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

测试避坑指南 | “入行4年,跳槽2次,我摸透了软件测试这一行。”相关推荐

  1. ext列表禁止滑动_后台列表设计避坑指南(下)

    编辑导语:列表页是后台界面的重要组成之一,上篇说了后台列表设计的"搜索"设计(详情见:后台列表设计避坑指南 上):本篇继续讲剩下的两个部分的"坑"和必坑指南,我 ...

  2. 【A卡,Windows】stable diffusion webui下载安装避坑指南

    观前提醒 本文内容都是本人亲身经历的,一个一个安装下载测试所感,当然如果你更想用傻瓜式集成包的,那还是跳过这篇文章吧. 当然我不推荐这篇文章的操作,因为我用了差不多1h才有一副图,有N卡,就用N卡,这 ...

  3. VMProtect SDK完全避坑指南

    文章目录 前言 编译VMProtect Demo 生成机器码 替换密钥对 生成序列号 总结 前言 在编写软件的时候,通常会有这样一个需求,需要对自己写的软件实现一机一码加密保护,并且最好能够限制使用时 ...

  4. Serverless 时代前端避坑指南

    作者 | 张挺 每个时代,从来不缺机会. 云原生的浪潮席卷而来,从 14 年到现在,上云的声音就没有停歇过,而如今到了 2020,云厂商都已经准备好了,而前端,是否也准备好踏入这纷争的领域,去拥抱时代 ...

  5. Ubuntu18.04 编译Android 10源码 并烧录源码到pixel3的避坑指南

    Ubuntu18.04 编译Android 10源码 并烧录源码到pixel3的避坑指南 实验环境 下载Android源码树 在pixel3上安装手机驱动版本 编译Android源码 Android ...

  6. 转行产品经理,必看的避坑指南!

    写代码的你,是否感觉加班成狗,产品经理好样很少加班,title还很高大上! 画图的你,是否感觉工作太局限,上升太慢.而产品经理全生命周期管理,职业更具竞争力! 想转行的你,岗位淘汰快,而互联网还有发展 ...

  7. 1.跳槽找工作避坑指南(2019版)

    跳槽找工作避坑指南(2019版) 收录于话题 #乘风破浪的职场,人心险恶的江湖! 文/作者:民工哥 虽说年前就有很多人在修改简历.刷新简历,但是为了大家心中所谓的年终奖,99.9999%的人都会选择沉 ...

  8. 文储研习社第14期 | 区块链骗局避坑指南

    文储研习社是文储区块链技术人员自发组织的学习交流社区,旨在于追踪区块链时下最新热点,解码热点蕴含的未知领域,享受思想交流的碰撞,欢迎志同道合的小伙伴加入我们,共同学习与成长,长按下面二维码可入群交流. ...

  9. Ununtu 18.04 安装Carla 0.9.13 以及Carla ros bridge 超级避坑指南(更新于2022.10.20)

    Carla0.9.13 以及Carla ros bridge 超级避坑指南 Carla0.9.13 以及Carla ros bridge 超级避坑指南 站在巨人肩膀前进 显卡驱动问题 首先就是虚幻4的 ...

最新文章

  1. Epson投影仪指示灯信息
  2. 计算机网络最基础知识
  3. python学习笔记(05)
  4. 共享卫士完全设置教程图解
  5. [swift 进阶]读书笔记-第八章:错误处理 C8P2 错误和函数参数
  6. 分享一个帮助你在线测试响应式设计的web工具 - Screenqueri.es
  7. 【HDU - 5916】Harmonic Value Description (构造,思维,SJ题)
  8. 618之际,“敏捷+ DevOps”正提高电商企业的业务和交付效能
  9. 2018蓝桥杯B组:第几个幸运数字(JAVA/C++)
  10. js对象写入键值对_js对象添加键值对
  11. C#中使用ribbon界面
  12. Tinder 和 Potluck 的卡片风格实现
  13. [渝粤教育] 南昌大学 生物化学 参考 资料
  14. Word小技巧:图片批量裁剪与大小调整
  15. pepe:从Pastebin收集邮件地址的信息
  16. 【转载】:Autolisp:利用AuoCAD之Lisp编程案例之智能加工齿轮的演示程序-----一个处女座程序猿
  17. Vlink——虚链路
  18. jdom操作xml实战
  19. 重磅!李飞飞、颜宁等9位华人当选美国艺术与科学院院士,DeepMind创始人也成新晋院士!
  20. 华为机试+一面+终面面经

热门文章

  1. 在阿里云ECS服务器(linux)上安装anaconda并在本地浏览器上实现远程连接Jupyter Notebook
  2. 涿州华夏孔雀城、桃源新都孔雀城
  3. ChatGPT的出圈与大佬们的焦虑
  4. 如何把电脑变成蓝牙音箱?
  5. java 彩信发送_Android实现发短信@彩信功能
  6. 每日一题——洛谷 终于结束的起点
  7. 智慧幼儿园信息管理系统的设计与实现
  8. foxmail授权码
  9. 【VsCode修改侧边栏字体大小——用缩放的方法】
  10. 【自研工具】漏洞盒子批量提交脚本