自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~

三年大专一场空

专业是电子商务,18年毕业,当时在报考时时觉得电子商务挺高大上的,觉得电商肯定会有前途,以后毕业肯定好找工作,跟大多数人一样,我开始幻想我以后毕业以后的纸醉金迷的生活,我以后要开大奔,要开宝马,哈哈哈,

当时年少无知,现在想想觉得还挺好笑的,很显然,我浑浑噩噩混到了毕业,别说什么专业证书了,专业课都能挂3科,差点毕业证都拿不到,最后毕业校招,我的简历上寥寥无几的几个个人信息介绍,在专业技能和什么工作经历上,我都是空白,我根本无从下手,因为我没有专业技能,没有工作经历,但是这种简历怎么可能有企业要呀,最后找了一个客服,对,没错,是淘宝客服,90%的电商专业的归属,淘宝客服.....

悬崖勒马,决定转行

我们学校是2.5加0.5的学习模式,就是两年半在校,半年实习,我那半年实习就在一个小电商公司做电商客服,底薪2000,虽然是实习,但是那个工作真的让我害怕,将近50个人挤在一个小房间,工作环境真的太恶劣了,买着一些忽悠人的智商税商品,我们这些客服自然而然就成为了挨消费者骂的对象,真的,心理承受能力不行的都做不了这个工作,2000块钱的工资不包吃,我不知道怎么在广州这种城市活下去,每个月吃饭都不止2000工资,

但当时还是实习,还能舔着脸往家里要钱,当时靠着家里的接济还是能勉强度日,但是时间一长,我想离职的心就越强烈,特别特别是当我了解到,这里转正以后的正式员工,底薪3500.....那些干一两年的老员工都只能拿四五千工资,我当时就想,我怎么在广州这个寸土寸金的城市活下去?我应该要及时止损,不能拿这种职业来浪费我的青春了,所以实习结束,我立马辞职了......

决定转行软件测试

实习结束,我辞职后,就在家里饱受白眼,好好一个大小伙子,不出去工作赚钱,在家里待着,当时可能是人生中最迷茫的时候,不知道自己的未来在哪里,当时在网上到处翻阅资料,希望自己找到一个好的行业去转,当时其实还是倾向于电商方面的职业,可能是心理的作用吧,

后来,我妈跟我说,家里有个亲戚是做IT的,工资特别特别高,现在在上海买车买房了,工作稳定也体面,我当时想,真搞笑,IT嘞,哪有这么简单,哪个做IT的不是名牌大学毕业,在我印象中,做IT的都是高学历,高技术的人才,拿高薪资也是理所当然的,毕竟他们的工作门槛太高,

但是实在抵不过老妈的压迫,我联系上了那个亲戚,叫亲戚介绍一下有没有适合我的技术,亲戚很热情,还真推荐了我一个方向,软件测试,他说软件测试入门门槛低,对于学历要求没有那么高,适合像我一样的小白进入IT行业,更重要的是软件测试薪资水平也还不错,人才需求也越来越大!这一系列的咨询建议下来,我动心了,加上我妈的支持,我最终下定决心,我要开始学习软件测试!

少年一贯快马杨帆,从零开始!

我开始了软件测试学习之旅,我开始在网上找资料,找学习路线,找视频讲解,开始闭关学习,但是很多自学的朋友都懂,万事开头难,一开始真的不知道怎么入手,资料太乱,根本不知道从什么地方开始,虽然很刻苦,但是学习收效甚微,一度想要放弃,

但是皇天不负有心人,我在网上找资料的时候,机缘巧合之下进了一个软件测试学习交流群,里面有很多像我一样在自学的人,也有不少业内大佬,当时我把我的情况在群里说了一下,很快就有朋友给我解答,并把自己的学习路线和一些整理好的资料给了我一份,我当时真的差点眼泪都出来了,除了感谢我说不出其他的话,借助这个群里的资源,我的学习开始事半功倍,有什么难题就跟群里人考论,时不时就有大佬给我们解答,真的很感谢他们

学有所成,勇敢求职

自学了大概一百来天,在群里大佬的建议下,我开始了我的软件测试求职生涯,他们说我可以出去找一份还不错的工作了,说我的技术已经可以胜任初级软件测试工程师了,我海投了很多简历,也刷了不少面试题,有时候一天要面试4家公司,最后有收到了几家offer,最后我在里面选了两家,一个是15k的外包公司和一个12k的一个自研公司,最后在群里的大佬的建议下,我选了那个自研,我现在还在这里。

以更好的姿态奔赴下一场山海

同届毕业的同学们还在饱受着职场的剥削,拿着几千块的工资,干着最累的活,我已经干上了技术岗位,当然,没有什么炫耀的意思,只是觉得人生嘛,要做无数个选择,做好选择很重要,我做出了我的选择,我不知道如果我选择其他行业会怎么样,但是我很满意我选择的这个行业,看到我转行成功后,我有几个室友问我,当初为什么这么果断转行,

我是这样说的,“我在现在的行业里,在最底层,跟一窍不懂的小白没有如何差别,那为什么不去重新找一个有前途的行业重新开始呢?",我现在已经开始学习自动化了,我总要成为更好的自己的,我要以更好姿态奔赴下一场山海

学习指南分享

1、软件测试基础理论知识:

软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。

  • 软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考
  • 测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程
  • 开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程
  • 测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷
  • 测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行
  • 设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等
  • 软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告
  • 缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。
  • 测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第1张图片

2、软件测试功底技术——Linux系统

linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。

  • linux系统基本知识:多用户,多任务,发行版本等
  • 常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等
  • 会部署和配置基本的应用jdk、 mysql、 tomcat
  • docker安装使用
  • 编写基本的 shell RAD本
  • 远程终端工具使用: shell, xftps等

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第2张图片

3、软件测试功底技术——Sql数据库

数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。

  • 数据库基本概念
  • 关系型数据库
  • MYSQL基本的增改查语句,存储过程
  • MYSQL复杂查询、多表查询
  • MYSQL索引及事务相关概念
  • 数据库客户端工具使用:如 Navicat

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第3张图片

4、软件测试功底技术——编程语言

推荐没有编程基础的朋友可以学习Python语言

Python语言的学习内容包含以下知识点:

  1. Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序
  2. 数据结构:
  • 基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;
  • 组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据
  • 程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符
  • 函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数
  • 模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip
  • 面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法
  • 日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件
  • 测试框架:unitest、pytest等
  • 并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器
  • 网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第4张图片

5、软件测试自动化进阶——接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。

  • http/httpst协议学习
  • 常见请求方法学习:GET、POST
  • cookie和 session学习
  • 接口的基本概念
  • 接口文档认识
  • 接口测试用例编写
  • 接口测试工具使用:postman、Jmeter、SoapUl

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第5张图片

6、软件测试自动化进阶——性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。

  • 性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类
  • 性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试
  • Jmeter及 roadrunner使用
  • 性能测试报告输出

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第6张图片

7、软件测试自动化进阶——app自动化

越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。

  • Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 Android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 - - UiAutomator22、 Monkey
  • Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位
  • Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析
  • 封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第7张图片

8、软件测试自动化进阶——持续集成和持续测试

持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。

  • 版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云
  • 持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理
  • 容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化

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

自学100天,成功转行软件测试,浅谈一下我的转行经历,并分享一下我的学习经验~_第8张图片

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

❤既然都看到这里啦,请你帮个忙:

1、点赞,让更多小伙伴看到;

2、关注我,持续更新测试干货。

 

你可能感兴趣的:(自动化测试,软件测试,功能测试,职场和发展,程序人生)