zl程序教程

您现在的位置是:首页 >  其他

当前栏目

毕业3年内,如何从普通2本到阿里测试工程师?

工程师测试阿里 如何 普通 毕业 年内
2023-09-14 09:11:16 时间

✨ 温馨提示:文章有点长,建议先收藏再看~

为什么要写这篇文章?

写这篇文章时,我已经毕业3年多了,进入阿里(蚂蚁)也快3年了,自从进入阿里后,很多好奇的朋友、学弟学妹、表弟堂弟问我,你是怎么进入阿里的?进阿里难嘛?分享一下经验?这几年,和很多人电话或当面聊了很久,大家反馈还不错,不过,由于平时工作比较忙,很多想法还没来的及分享。

所以我在想,如果我的经历可能对别人有帮助,为什么不写下来呢?虽然不一定能写好,但也算是自己的毕业三年总结,还能通过互联网无限分享,也许可以对一些还在大学或刚毕业的同学一点启发,也许还能顺便多认识一些志同道合的朋友。

这篇文章将分为两部分,第一部是我从入门编程到进入阿里的经历,第二部分是这个这个经历过后我的一些核心思考(干货),你可直接从头看到尾,也可以直接跳到第二部分看“干货”。

第一部分:经历

和大多数进入大厂同学不同的是,我的起点很低,大学就读于淮南师范学院,成绩一般,非科班专业,大三下半学期从0开始自学编程,毕业半年多后进入了阿里(蚂蚁),并在2年后晋升至技术专家(P7),接下来,我带着大家一起来回溯下我的历程。

接触编程

2015年,大二暑假,一次偶然的机会,我报名参加了一家软件培训公司的实习,那是我第一次听到Linux、python、Mysql,虽然那次实习基本啥都没学到,但让我产生了很大兴趣

 那时还是学校魔术社团社长,大量时间花费了社团活动和一些相关的创业比赛上,成绩非常一般,还挂过一门课,经常陷入焦虑、迷茫,未来我该做什么呢?

 那年,美团、饿了么、滴滴兴起,互联网+热潮风靡,让我意识到这是未来方向,加上之前实习简单了解过软件这个行业,经过大三上半学期半年的思考,最终决定自学编程。

自学之路

当时困扰我的第一问题就是,编程有很多技术,我该学习哪个方向?

当时,由于移动互联网创业风潮,大量公司创业开发App,安卓和IOS开发非常火,工资也相对高些,Java也被说成即将淘汰的语言,我压根没有任何概念,听从了大众的说法,我选择保守一点,所以在一开始就选了软件测试的方向。

2016年大三寒假的时候,和我姐借了一笔钱(相当感谢当年姐的支持,是她当时储蓄的一大半了),买了一台Mac笔记本,下定决心开始学习Objective-C和Swift编程。

非常幸运的是,我又问了当时安理工的魔术好友右右,他刚毕业不久,技术很厉害,工作1年多,工资已经1万多了(当时应该算很高了),也是从事软件测试行业,我和他聊了很久,他的建议是学习python方向测试开发,还说了很多他对行业的了解,至今我仍然感谢他,让我在一开始就选对了适合我的方向。

所以,如果你是刚毕业或即将毕业的学生,如果不知道自己的方向特别是某个专业细分方向的发展,多问一问一些已经工作的优秀的学长学姐,看看他们走的路,听听他们的建议,准没错。

    我该怎么开始?

相比其他行业,学习的编程比较大的优势是网上的学习信息源非常多,大量的技术教程、丰富的博客技术文章、活跃的交流社区,不过,看着也着实眼花缭乱。

 零基础转行软件测试,你必须要做的3个准备

第一个准备:认知准备

从2019年行业报告上来看,目前行业内约70%的人是在26岁以上,所以29岁零基础开始学习入行,只能加速追赶。

在开始学习之前,首先要明确的是对于行业和学习的认知:

1、进入测试行业一定要学习一门语言,认为做测试不用写代码或者对于写代码比较排斥的,可以绕道了;

2、技术是你立足的根本,但是不要认为技术做到最强,就可以得到100%的尊重;

3、在不断学习的同时也要积极地参与行业内的交流,比如沙龙、讲座等,朋友内推比海投简历靠谱的多;

4、学历很重要,项目经验很致命,英语是加分项;

5、学习是长反馈、反人性的,不要期待短期速成,不要相信35岁失业的鬼话;

6、沟通能力是和技术同样重要的,放在任何行业都是如此;

第二个准备:思路准备

1、语言选择是Java还是Python?不用纠结,都是相通的,也最终都要掌握。建议先从Python上手,后面再学Java;

2、专研方向选择性能还是自动化?不要被自动化蒙蔽了双眼,也不要轻视认为性能很好搞定,性能的调优很难,自动化有语言基础也能快速上手;

3、大公司还是小公司?能去大公司,就去大公司,尤其是在刚进入这个行业,大公司的流程和项目以及背书都会对职业发展有很大帮助;

4、自学还是培训?能有捷径,为什么不走呢,更何况已经29了,试错的机会已经很少了,关于如何甄选靠谱机构,请关注我主页其他回答

5、将来做管理还是技术专家?即使是做管理,也必须建立在懂技术,能搞定问题的基础上。技术是根本,其余的都是锦上添花;

第三个准备:学习路线准备

我按照薪资的不同大致划分成3个档位:

  • 月薪5-9k:从零基础入门到能够找到工作
  • 月薪15-25k:测试在职搞定性能测试和自动化测试
  • 年薪30W+:搞定测试开发,进入一线大厂

第一阶段:月薪5-9k,刚刚入行,先学会功能测试!

可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:

软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;

搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:

发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;

这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:

Linux、数据库、接口测试、APP测试等

OK,搞定了这些,恭喜你已经可以投出你的简历去寻找一份测试的工作了!

嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。

会了以上这些内容,只能说是能够获得一份工作,但是现在行业招人的要求原来越高,搞定自动化或者性能测试,才能拿到10k以上的月薪。

第二阶段:月薪15-25k,搞定性能、自动化测试,独当一面!

先说性能测试,行业内是有很多误区和痛点的:

  • 只测不调,无法给出研发和运维人员执行建议
  • 无法定位问题,缺乏清晰的逻辑和数据证明价值
  • 性能测试工具≠性能测试
  • 性能测试技术体系落后(loadrunner),急需拥抱开源软件

如果要搞定这些问题,那么性能测试你得这么去学:

性能测试的概念和流程:常见问题剖析、流行工具、方案设计
性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
性能监控:性能监控体系与监控数据采集
性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
性能分析与报告:jvm调试与系统调试;性能瓶颈分析

性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!

搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。

web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式;
移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装;
服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系;

第三阶段:月薪30k+,对标大厂,冲击测试开发岗位!

性能和自动化玩精通,月薪在10k+甚至是20k+都是很轻松的,那如何冲击30k+呢,这就要求往技术专家或者管理层去发展了,但是即使做管理,也必要要求技术水平够硬?说做管理不需要技术精通?你试试底下的人会不会反你?

在测试开发的路线上,就要求更加专精,更加全面:

完善测试技术体系:Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础:
web自动化测试:selenium测试框架;PageObject设计模式、原则、演练;
APP自动化测试:Android自动化测试框架;appium高级应用于原理剖析;APP自动化测试实战;测试框架封装改造;ios自动化测试;
移动专项测试:健壮性测试、弱网测试、崩溃检测、耗电量分析等;移动端性能测试;移动端安全测试;
接口自动化测试:接口协议与抓包、代理技术与mock;接口自动化测试框架、HTTPrunner测试框架;dubbo接口自动化测试;接口管理工具swagger、接口安全测试
docker容器技术:docker容器、docker镜像;
持续集成/持续交付/devops:jenkins持续集成;Jenkins持续交付;

在这里,我想给想进阶的朋友们一点建议:很多时候,很多事情,并不像你想象中的那么简单,千万不要自认为简单而不愿意去做,很多东西只有你亲手去做了之后,才会发现事情并不像你最初想的那么简单。

其实自动化测试的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点了解的程度。so,出去面试时先看看自己复习到了哪个阶段就好。

第二部分:思考

我时常在想,如果我放弃目前所有的成果,再次回到2016年的那个起点,我还能进阿里嘛?或者,我现在重新换一个行业,从0开始,我还能做出Top级的成果嘛?我把这几年的一些思考总结在以下5点,希望对看到的同学有一点帮助,真诚的分享给大家!

学会学习

“学会学习”比“学习”本身更重要,学会不断提高自己元认知的能力

你可以忘记这篇文章所有的内容,但你一定要记住这点:

每一个人都本是天才,关键是你要学会唤醒自己的潜力

目前学校很多教育的方法是错误的,这让很多人失去了学习的兴趣,几乎没有课程教会我们如何学习,不管你是差生还是优生,每个人的潜力的都是巨大的。

我非常反对目前很多媒体&学校对努力的过度宣扬从而忽视了学会学习的重要性,努力只是表象,只有你掌握了高效的学习方法,才会更有动力去学习更多的知识,提高自信,从而形成正循环并持续下去。

干货分享

最后为了帮助大家迅速建立测试思维能力,早日斩获大厂Offer、掌握职场话语权,下面这份《软件测试全栈学习路线图》应该会对你很有帮助

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

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

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)

可以自助拿走,群号:175317069 群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦