大家好,我是一名刚毕业的大学毕业生,目前已经成功转行软件测试行业。写这篇文章的目的是因为很多人对自己的现状想要改变,想通过学习,培训改变自己,奈何没有经验和方法,所以想为这部分人分享下我的个人经历;其次文章会总结我自己转行前后的经历和思考,提供一些我亲测有效的面试资料。希望可以帮助一些迷茫职业发展方向、纠结是否转行的朋友们!
我刚上大学的时候,同班同学对我说,听说咱这个专业不好就业,很多大四的学生都找不到工作。我心想,这些找不到工作的都是瓜皮,肯定都是个人能力的问题。
三年后,我成了三年前我口中说的那个瓜皮。
再给大家科普一下我们上的这个专业,提醒大家给家里弟弟妹妹报专业的时候,千万不要选择这个专业《信息与计算科学》。可能好点的大学不一样,在我们学校这个专业主要就是学数学的,再捎带的学了一些计算机(很初级的那种)。
据不完全统计,我们专业毕业的同学,有做老师的、有做文员的、有做公安的、有做家教的,还有些考了公务员。
基本上大家毕业后都是自己找自己的门路,家里有关系的托家里关系走向了相关岗位。像我这种家里没有任何背景的同学是大多数,那就只能靠各自的造化去拼搏了。
为期一年的实习生涯,我选择了去做医疗软件的公司,那时候对于医疗软件没什么概念,只认为是医疗技术与计算机技术的结合。由于缺乏专业的计算机知识,医学知识也只是浅薄的那么一点。于是,我被公司安排的职位是软件实施工程师,是针对医院的挂号、收费等流程的软件。而最开始作为实施人员,我也只是提前将这一套软件用测试账号使用熟练,之后去现场教医生和护士使用,仅此而已,这是一项对任何人都没有技术难度的工作。做了三个星期的软件功能教学之后,我渐渐对于这项工作失去了耐心,觉得这是一份随时都能被任何人替代的工作,于是我开始寻找更加有技术含量的工作。
在了解了多方信息后,最后选择了软件测试。因为大家都知道,IT行业的代名词就是工资高,这样在亲戚朋友面前也显得体面,而且软件测试是IT行业里面最容易上手的。
零基础转行遇到的第一个难题就是怎么学,刚开始一头雾水,只能先从网上买些书来看,但是收效甚微。于是,我开始疯狂在网上找教程,求助度娘,但是大部分情况下都是七零八落的,得不到有效的答案。而且我也不具备梳理这些资料的能力,我一度开始怀疑自己,要不要选择放弃
想过放弃,但是我也没有更多选择,即便有,我会不会再次面临放弃?万事开头难,需要我有这样的觉悟。我只能继续往前走,庆幸的是转机来了,在网上找资源的时候,加了不少相关的技术群,认识了一些业内的朋友,通过请教和学习,对于软件测试这个岗位和技能有了更清晰的认识。也得了不少的帮助,让我更加有信心去做好这件事。
一百多天,从白天到晚上,不是在学就是在学的路上,从测试理论到实战操作,大大小小的问题,在群里前辈的帮助下,总是能很快解决。慢慢的,测试方法,用例设计,web测试,app测试,接口测试。虽然离技术大牛还差很远,但是找一份初级测试工程师的工作应该完全没有问题。
根据前辈们的建议,找工作之前,我刷了不少的面试题,算是有充足的准备了,最后在面试了5家公司后,拿到了一家金融公司的offer,一个月9k,对于当时的我来说已经非常成功了,也让我对未来充满期待。
零基础转行软件测试难吗?怎么学才能找到工作?这应该是所有新人都会面临的问题,所以我结合自己的经历,做了一些总结和学习方法,希望能对大家有所帮助。
历尽艰辛的路,虽然痛苦,但总算有比较满意的答案。不仅摸索出了自己的学习及找工作的方法,工资也是水涨船高(从刚开始的4k,到现在软件测试的9k/看不上的可自行划过)
第一、必须有一个专业老师给自己讲解,带着学习。
这样首先是可以少走很多的弯路,不至于一个小小的问题,就困扰了一天的时间,可能明白人的一句话你就明白,但是自己想可能需要一天的时间,或许最后还是搞不懂。
第二、需要有一个明确而且系统的软件测试学习规划。
比如你今天学习软件测试什么板块的内容,而且今天学习的内容跟着什么案例练习,如果你学习只是看看免费的视频,那我劝你还是不要浪费时间,必须跟着大量的案例,反正练习,对于一个知识点才可以真正的掌握。
第三、做好长时间学习思想准备
学习过程是循序渐进的过程,你的基础部分看完了,之后肯定会忘一部分,自己以为看明白了,等到用时候发现自己还是不知道怎么用,这是必经的过程,这时候再回去复习基础知识应该有更深入的认识,所以要做好长时间学习思想准备,不要因此放弃,不要急于求成。
第四、明确的软件测试工程师学习路线图
一个明确的学习路线图,每一个阶段有相应的学习时间。
刚开始学习,如果你连完整的学习步骤都没有规划好,基本不可能学会测试。
在此,也将学习软件测试所有方向技术点做的一份整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
测试基础:这是比较重要的内容,因为学前准备的知识是为以后的测试做铺垫的,如果基础打不好,后面的测试学习很难进行。这阶段中包括系统知识、数据库、编程等,其中系统知识又包括Linux、Windows等系统,而数据库和编程的也都包括多种,比如数据库包括MSSQL、Oracle、MySQL等,编程语言又包括C、C#、Java、Python等,这么多东西我们肯定不能全都学了,因此挑选一两门学习即可,数据库这里推荐MySQL简单易学,编程语言推荐大家以Python为首,Java语言为辅学习,查看各大招聘网站,基本上也是以这两种语言为主的。
测试核心:这个是软件测试最基础的内容,也是最重要的一块,这里包含测试用例编写及管理、Bug(缺陷)编写及管理、测试流程和测试模型等,这写内容是支持其测试的主要内容,不过后面做什么样的测试,都离不开这几个模块的支撑,因此这个是重中之重。
测试进阶:我们学测试,无非就是为了有好的发展,找到好的工作,而测试进阶这块的内容就决定了我们今后的发展方向,从图上可看出,其中包括Web测试、APP测试等内容,不同方向的测试有不同的测试关注点,所以每一种测试都有很多可以学习的内容及经验,因此不同方向的经验也就决定了测试人员的发展方向,当然虽然不同方向会有一定差异,但整体测试理念是不变的,因此每个方向之间也存在共同之处。
比如,你的目标是做ui自动化测试,那我觉得语言上,你可以主学python或java,辅助极少量的js。然后熟练下selenium和appium,辅助学一下airtest即可。还有就是具体的python语言中,你也不要什么都看,你只需要看看python的基础数据类型和它们之间如何互相转换,unittest/pytest一精一疏,python操作excel,csv,数据库,shell的部分命令即可,设计上在学一下 关键字驱动和数据驱动,了解下page-obejct设计模式就足够了。
自动化测试:自动化测试主要是靠工具来帮助完成需大量重复手工测试的内容,因此这里主要以工具和框架为主。
性能测试:作为非功能性测试的技术,算是软件测试的半壁江山,前几年的辉煌,也在云服务慢慢被中小型企业接纳的今天,逐渐没落。
但是作为性能测试工具老大哥的Loadrunner,还是那个老大,但也终显老态。 jmeter市场份额也在逐渐增加,慢慢赶超Loadrunner。 Locast作为后起之秀,背靠 Python 脚本语言,借助requests模块组织脚本,可能更容易看清性能测试的本质。
持续集成:随着软件系统越来越复杂,软件测试越来越繁琐,传统的软件集成模式也不再适应。
针对这种情况,持续集成被引入到测试工作中,协助测试人员进行自动化部署、启动、测试。
常用测试工具:这里主要包括一些管理工具,以下是一些工具的举例。
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系,完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积硅步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
我也整理了一些软件测试学习资料,对于学软件测试的小伙伴来说应该会很有帮助,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这份无偿免费的资料也已经帮助了很多的软件测试的学习者,同时也节省大家在网上搜索资料的时间来学习!需要的小伙伴点击文末卡片关注公众号自行下载
软件测试的方向可以选一选,选好方向才能对应去学习内容,先了解下可以从事哪方面工作,这里简单介绍一下,学习软测之后可以做什么工作:
参与需求评审会议,制定测试计划,编写测试用例,评审测试用例,执行测试用例,提交Bug,回归验证Bug,发送测试报告,进行线上验证等一系列活动。
利用自动化测试工具例如Robot Framework,Python+unitest/pytest,Selenium等完成页面UI自动化或接口自动化,提升测试效率,尽早暴露问题。
根据项目需求,对重要接口制定压测方案,利用Jmeter等测试工具进行压力测试,配合开发同学找到系统瓶颈,并产出压测报告。
有些公司有专门的测试平台、测试工具,来完成Bug统计与质量分析,接口自动化统计等等功能,这部分开发工作会由测试开发工程师来承担。测试开发对技术,编码要求更高。
任何技能的学习都是建立在实践上面的,IT行业就特别强调项目经验。不练习,就像是花了半天时间去学习开枪的理论,结果根本没有机会摸枪,你觉得你打得准吗?想要学好软件测试,对技术有更深的理解,就一定要多去实操,没有熟练度的加成,你学的再多也只是纸上谈兵,一旦面对了真正的问题,你就会无从下手。
要学软件测试其实不难,难的是坚持和相信自己,我的经验是既然已经选定软件测试你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。
还有就是不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。
对于小白来说,有人引导会比自学要高效的多,尤其是容易放弃的朋友。可以试试加入下面这个学习群,不用孤军奋斗,大家一起成长,还有大牛指教,能少走很多弯路!只要每天学习一点,坚持下来会发现其实软件测试非常容易!!
机会只垂青有准备的人,这是一个靠本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,导致机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!
最后很多小伙伴都有学习的想法,这里在我在B站分享了测试的视频教程,小伙伴们可以自行观看:
如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖…
B站强推!2023公认最通俗易懂的【软件测试】教程,200集付费课程(附实战项目)
软件测试全套资源免费领取
软件测试面试刷题小程序免费使用
专属于测试人的GPT免费使用