95后软件测试工程师成长指南

1450 篇文章 68 订阅
1438 篇文章 113 订阅

大家好, 我是今天的主人公 小马, 很荣幸能够分享自己的成长经历, 虽然我是个学渣,但依然期望能够给各位小伙伴带来一些直观的成长和学习经验.

我是96年出生.今年26岁, 所学专业为机械设计及自动化, 2018年毕业于一所三本院校(ps.上面已经提到, 我是学渣, 本人是从大专学历专升本), 毕业后一开始也是比较傲气的, 毕竟没有经历过社会的毒打, 请允许我哭三分钟, 如果早知道后面会面临的各种困难, 我肯定 day day up, good good study.

2018年毕业前我已经开始自己投简历找工作了, 对于我来说考研考公有点遥远, 约我去面试的公司非常多, 以至于让我产生了一种错觉,以为自己是香饽饽, 但去面试才发现在西安这座的城市70%的岗位都是销售岗位, 招聘网站所描述的岗位和薪资与实际面试的差异之大,令人难以想象.

经过6个月的简历投递, 期间遇到了超级多的 以招聘为由转进行所谓的岗前培训的皮包公司, 直到2019年初我仍然是单身贵族(其实因为没有工作,偶尔需要出去做兼职, 不然可能会饿死),在我走投无路时, 在和同学聊天时得知他已经入职西安一家自研互联网IT公司, 从事软件测试工程师一职, 月薪9K. 让我感到非常吃惊, 毕竟他也是和我一样的学渣(虽然说人和人是不能比的, 但作为上下铺的老铁, 我自身为比他还是强一丢丢). 用现在的话说, 我emo了.

经过他的介绍, 我开始逐渐了解和自学软件测试相关内容, 在断断续续学习了5个月后, 终于发现自己果然是学渣本渣, 没有良好的环境, 三天打鱼两天晒网, 想想自己已经毕业有接近1年时间了, 仍然是一事无成, 连吃饭都面临问题, 所以毅然决然的选择了, 全职培训软件测试.

最开始学习的内容是linux和mysql, linux入门还是比较容易的, 但是命令记忆让我掉了好多的头发, mysql的学习让我开始感觉到逻辑理解能力的重要性, 看到这篇文字的老铁们不要气馁, sql语句在企业中经过几次实际的应用后, 就会滚瓜烂熟, 只是学习时接触的时间较短,感觉听吃力的.

接下来就是测试理论与测试流程, 这是我认为每个软件测试从业者必须认真掌握和深入理解的内容, 从我短短3年的从业经历来看, 无论将来从事的那种类型的岗位, 软件测试理论和流程相关的内容是我们必须要深入理解和实践的, 它是我们测试人员生存的根基. 建议学习的小伙伴一定要认真对待, 因为是纯粹的理论内容, 可能会稍微显得枯燥, 但我相信一个比较优秀的培训机构, 会在软件测试理论这块引入非常多的案例来进行讲解.

接下来是python, 虽然一开始并不觉得python的内容难以理解和应用, 但是等学习到面向对象和各种高阶操作时, 我们整个应该都是懵逼的, 我当时的应对方案比较简洁, 老师的要去是当天的代码至少练习3遍, 但我发现3遍根本不足以让我这样的学渣有足够的记忆, 也不能掌握它, 怎么办? 一个字: 敲! 我几乎抽出了自己所有的时间用于敲代码和做练习, 当然这个习惯比较难, 需要坚持, 我很荣幸自己改变了命运, 直到现在我仍然保持每天早晚都要敲代码的习惯.

等python学习过后, 开始接触了自动化测试, 当时的自动化我们学习的比较基础, 市场对于从业人员的要求也不是很高, 但从个人的真实经历来说, 建议将自动化的内容深化、细化,目前我所在的企业各种自动化框架的应用已经非常成熟,在招聘时自动化测试已经是必问的常规问题了.

从业3年以来, 陆续我又学习和接触了接口,性能, 自动化测试框架, python的深入学习, 自动化测试平台等等内容, 从技术的角度来看, 我的成长走在正轨上(主要是薪资的增幅给的实际感受), 但真正成长为企业需要的软件测试工程师或测试开发工程师, 仍然需要很多的路要走. 比如之前有一个机会我们公司需要做一次软件质量管理与质量体系培训的相关工作, 整个企业中没有一个人有能力拿下, 而是请的第三方来做了内部的质量培训, 这对我的触动非常大, 我期望有一天自己能够成长我这方面的专家.

话不多说, 后续我还会在写一些内容, 期望能给大家带来更多的分享, 感谢!

我, 2019年培训, 截止目前薪资16K, 工作地点在西安, 岗位是高级测试工程师. 我们期待有更多的机会, 也期待能够让更多走在人生十字路口, 让我们拭目以待.。。


 以下是学习建议:

软件测试自学实践部分比较难,因为需要找到有问题的源代码进行测试,更建议跟团队一起学习。

下面讲讲软件测试的学习路线,希望对你有所帮助:

  《软件测试工程师发展规划路线》

一、测试基础

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

程序员小濠测试基础
测试计划/测试用例黑盒用例设计等价类/边界值/场景分析/判定表/因果图分析/错误推断
缺陷缺陷生命周期/缺陷分级/缺陷管理工具禅道/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黑科技抓包工具,有多种版本,非常专业的抓包工具
TcpdumpLinux、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整体使用

程序员小濠接口与移动端自动化
接口自动化方案RequestsPython 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)企业应该如何进行安全建设,制定更安全的软件生命周期。从哪些方面进行着手

完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。完成一半月薪过万就很容易了

写在最后

一以贯之的努力,不得懈怠的人生,每天的微小积累会决定最终结果。

或许这样,你可能成为不了一个成功的人,但一定可以成为一个优秀的人。

学习的过程可能会比较辛苦,可是如果你坚持下去,或许有一天,你会感到庆幸,幸亏当初的自己坚持下来了,没有放弃,自己如今才会这样顺利。

资源分享

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

​这些资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值