如果说你是上面现状去找软件测试工作,而且居然还找到了,那么可能会是如下几种情况:
1、该公司对软件质量要求很低,随便来个会点点点的、能够检查功能是否正常即可,毕竟我是真遇到过一个CEO说:软件测试很难吗?我都能测试啊,没必要找测试人员~开发完后让大家一起测一下, 这样的公司在国内不在少数~ 这种公司要不要去用膝盖也能想明白。
2、你虽然没有相关经验,但是专业对口或者稍加培养能够做基础软件测试工作,公司也觉得你可培养,那么可以进去试试,这种一般需要你学历不错,然后公司规模中上愿意提供实习性质的岗位。
3、遇上臭名昭著的招转,什么意思呢?就是培训公司假借招聘名义,需要先培训后上岗,把你转成了他们的培训学员,这种情况即使是现在也很常见,柠檬班培训出去的学员经常反馈收到的面试通知很多都是培训公司,总之套路一套套的,遇到这种赶紧有多远离多远,搞不好还用你身份信息去贷款~
因此,21届毕业生,想做软件测试,没工作经验而且已经毕业,怎么找软件测试工作?很遗憾的告诉你,不好找!即使找到,那么薪资也不会太理想,应届毕业生的择业是可是会直接影响自己前途和钱途的!请慎重!
如果真想从事软件测试,找一个初级的功能测试工程师的工作,你必须先进行软件测试理论、工具、方法的学习,可以自己到网上买书,网上找培训视频自学,也可以花点钱找个靠谱的软件测试培训公司,进行系统性的培训。基于你已经毕业,那么最快的方式是通过脱产课程学习,大概2个月即可成为一个合格的初中级的测试工程师。
下面系统的给你分析各种学习方式的利弊,以及第一阶段大概需要学习哪些知识点。
学习软件测试的方式有很多,大体而言可以分为如下几种:
1)寻找资料自学:适合自制力强,自学能力强、手头不宽裕
2)线下报班学习:适合没有工作、自制力不强的软件测试小白、手头非常宽裕
3)线上直播学习:适合在职人群、已经是测试工程师,有软件测试进阶学习需求,手头较宽裕 4)购买录播学习:适合自制力强、自学能力强、手头不宽裕
个人在软件测试行业不管是学习、工作、教育培训都有多年的尝试和经验,下面结合自身经历就常见的软件测试学习方式做一些对比,你可以结合自身情况选择,方式无优劣,适合自己的才是最好的。如果你有更多的疑问,欢迎私我,我可以结合你的情况给你一些过来人的经验,避免你走弯路和踩坑。
个人就是通过自学进入软件测试行业的。但我接触软件测试可能比你早点,那会即将大四出去实习,于是2009年大三暑假,我就买了几本软件测试书籍,网上下载了几百G的视频学习资料,把自己关进了房间,目标很简单,希望通过两个月不到的时间,系统性的入门软件测试。现在回想起来,那真是一段痛并快乐的时光,有问题没人答疑、没有真实项目实操、没有人一起学习、没有人督促,如果不是个人强大的自制力和梦想的力量,我是绝对坚持不下来的!但结果是美好的,通过自学我在大四实习就拿到了4.5k的offer,在2009年房价均价才10000出头的深圳作为一个应届生应该还算不错了。那段时间,每天6点起零点睡,除了吃饭睡觉上厕所就是啃书籍和撸视频,现在回想起来,也算个人一段光辉历史了,高考也没这么努力过。
这个故事也希望给大家打一点鸡血,努力学习是一定能学有所成的,自学也是我们必须要掌握的能力,学习能力甚至可以直接断言我们未来在软件测试这条路上能走多远。
我把这个自学过程的酸甜苦辣进行一些总结,给大家一些参考:
1)自学是很有成就感
当然前提是学有所成,而恰好学习非常需要这种成就感,因为对大部分人而言学习本身是痛苦的,是反人类的,没有这种成就感,我们很难保持持续的学习和进步。
2)非常省钱
在个人住所就能完成,只需要买几本书、下载很多免费视频,一条网线,除了时间,简直零成本
3)极大地提高解决问题能力
因为全部的问题都是自己通过经验、不断捣鼓、上网搜索答案实操解决的,因此你解决问题的能力将得到极大的提升,对于技能的掌握也将更加熟练,对知识点的印象会更深刻。
4)需要极强的自制力
坚持一天很容易,坚持一周也不难,真正考验人的是一个月、三个月、半年持续的坚持。如果没有强大的自制力,自学真的是一件痛苦的事情,因为干扰你的外界因素实在是太多了,容易刚开始激情满满,随后三天打鱼两天晒网,最后半途而废。
5)自学没有学习氛围,容易丧失热情
因为没有人一起学习和帮助,容易走弯路浪费时间。这也是为什么大家在大学时都跑到图书馆去占座学习,也是求学习氛围。
6)学习的内容准确性、适用性、质量均无法保障
通常自己学习一是购买书籍进行学习。首先书的质量得不到保证,使用质量差的则是浪费时间。另外书的出版周期一般都相对较长,上面的很多技能可能已经过时了。很多书籍只适合有基础的,有经验的,适合对该技能已经有足够了解的学员。我的建议是技术书籍适合对一门技能有足够的了解之后,再去进行阅读,从而到达复习、查漏补缺的效果。二是网上找培训机构或行业大佬录制的免费视频,那么这里面也有很多坑。我们在网上能找到各大机构的所谓的全套视频,换位思考下,我一两万的课程自己吃饭的家伙全部放出去,可能吗? 一般这些课程都是年代久远,技术过时的视频,很多都是机构拿出来引流的,学习的时候一定擦亮眼睛,学了到企业用不上那就是浪费生命了。
7)周期性长
自己学习有一个很大的缺点是周期将拉得非常的长,因为没有专业的老师引导,只能单打独斗进行学习,遇到很多的问题需要花费大量的时间来解决,极大的浪费了时间和影响学习热情。举个自己自学印象比较深刻的例子,本地Navicat连接远程MySQL为什么报如下错误怎么解决?我记得自己是折腾过蛮久的,现在看来确实是一个低级错误。
线下培训机构的是很多软件测试小白比较青睐的模式,个人也在线下的培训机构进行过进阶学习,因此对机构的模式和现状还算清楚。
1)学习氛围好
这个就不多说了,大家还是和上学那会一样都聚在一起,其学习氛围是任何其他学习方式都无法比拟的,这是线下机构的最大优点。
2)看得见摸得着,有血有肉
因为是实体,学员可以到机构公司实地考察,尽可能避免踩坑。
3)沉浸式学习
因为是面对面教学,身临其境可以即时互动,学员的问题在课堂上能够快速得到解决,机构管理者也能实时监控到学员的学习效果,但互联网的高速发展,线上教育的模式、工具都已经非常的成熟,很多以前线下才能完成的现在线上教育也能完成,很多已不再仅仅是线下教育的独有优势。
4)学费贵
动辄数万元的学费对于一个想就业或者想拿高薪的学员而言,本身就是就是一个非常大的负担。但这没办法,作为机构人家要租房要付租金、要配置电脑,甚至还要提供给学员免费住宿,羊毛出在羊身上,学费贵也就理所应当了,你只要清楚这种打包的课程价格,实际上包含了很多除了课程本身价值之外的东西。
5)灵活性差
线下如果是系统性的学习,需要脱产,你必须辞去工作,然后到线下培训机构的场所去,如果交通不便,你还需要在线下机构周边租一个房子,所以除了学费成本,辞职和房租都是很大的成本。一圈学习下来,费用堪比大学四年的费用。所以线下课程对小白而言相对友好,尤其不太适合有工作,进阶课程学习的同学,辞职去学习这个需要魄力。
6)课程质量良莠不齐
线下机构泛滥,课程质量良莠不齐,学员被一些课程质量低下线下机构坑已经司空见惯,钱花了,最后并没有学习到真正使用的技能。究其原因,主要是没有任何一个平台能够客观地、系统地去量化、测评每个软件测试培训机构的整体情况,因此我们只能借助网络上的评价、熟人的口口相传、甚至机构本身的推广广告去了解机构,所以希望大家擦亮眼睛,选择口碑好、课程质量高、售后服务好的机构,不要钱花了时间也花了,却因为选择不良机构最后没学到啥东西。
7)中间商赚差价
在高校接触到的机构要特别注意,线下机构最大的市场在高校,培训机构与高校合作一定程度是可以解决高校学生就业难的问题,因为有学校背书在,也能提高大学生对线下线上培训机构的信任度。所以整体还是是一个正向的事情。高校是职业教育非常大的一个流量池,高校学生是职业教育最青睐的目标客户,这也是为什么时下线下培训机构为什么这么火爆的很大的一个原因。几乎每所高校(尤其是高职院校)都有培训机构的身影,因为生源争夺,也导致高校中间的机构培训良莠不齐、竞争恶劣。市场需求是导致高校和培训机构的合作关系的直接原因,高校不可能把自己的资源无端开放给机构,大部分还是因为有相关利益输送的存在。比较常见模式是:机构入驻高校、高校给机构输送生源或提供教学环境、机构给高校高额返点(比如线下教育2w的课程,行业标准是30%+提成给高校,用于打点渠道/各层领导/人员,相关资源付费).
在线直播教学作为线上教育的新兴领域,一直备受关注,线上直播教学的优点有时空上的自由性,直播的强交互性等优势,能够很好的激发学员的学习兴趣,在线教育也是我个人目前所处的行业之一。
1)学费低
为啥低?没有教室的租房成本,不用给学员配置电脑,不用提供学员宿舍,不用给高校输送高额渠道成本,没有中间商赚差价,因此差不多质量课程,线上课程价格一般是线下培训课程的1/3到1/2。
2)时空自由性
与传统面授相比,线上课程在时空上有了更大的自由性,学员不再局限于一个狭小固定的空间,只要有网络的覆盖,学员并可能通过手机、pad、电脑等空间进行在线听课学习。在以前,偏远地区的学员无法获得大城市里优秀的教育资源,而大城市的学员普遍工作时间较长,难以抽出学习时间,到了周末去进行面授班的学习,因为拥挤的交通不得不花费很长的时间在上课的路上。而线上授课则不同,它不受地域限制,无论你身处何处,是交通不发达的偏远山村,还是生活工作节奏快速的大城市,你都可以接受同样高质量的授课。
3)直播强交互性
线上直播采用试听合一和交互功能结合,形成了图文并茂、丰富多彩的人机交互界面,有效的激发了学员的学习兴趣和欲望,从而形成学习动机。声音和画面结合的外部刺激有利于学员获取知识保持集中。心理学家赤瑞特拉证明,人类获取信息时83%来自视觉,11%来自听觉。因此,充分调动起学员的视听觉,不断予以正向刺激,采用多媒体技术实现教学,高度还原面对面的参与感,做到“听到+看到+讨论+主动交流”的模式是最有利于摄取并消化知识的方式。直播课堂构造的正是一个理想的教学环境,为学员留下深刻印象,获得知识“保持”的效果。
4)师生互动充分性
直播模式打造的单向可视为学员提供了一个更加放松的环境。所谓单向可视,即在上课的时候,只有学员能够看到或听到老师讲课,但老师是看不到学员和听不到学员声音的。在这样的情况下,学员的状态更加放松,有问题时不用再在众目睽睽之下打断老师,站起来提问,只需在讨论区或提问区以打字的形式提问,老师或值课老师就会予以回复,大大降低了学员提问的门槛,师生沟通更加顺畅。此外,在传统面授中,往往是一对一式的提问,沟通受到限制,但直播模式中,学员均可以提出自己的问题,老师能够对学员的状态有整体的了解,并进行集中讲解,小问题则由值课老师及对应班主任进行反馈,保障了每一个学员提问的权利、保证了课堂能得到充分的互动。
5)机构课程质量良莠不齐
因为整个报名和授课环节都是在线上完成的,看不见摸不着,那么要识别是否是一个良心机构、课程质量高的机构就更难了,一定要找口碑好,课程质量和服务质量好的机构。另外在线课堂必须有一套成熟的直播解决方案,因此大部分机构都会依托在某些职业教育平台上,比如柠檬班入驻的腾讯课堂是国内最大的职业教育综合平台,它会对入驻的各大机构进行课程内容、学习效果、机构服务分析,对机构的排名和认证(如腾讯课堂的认证机构、金牌机构等)可以作为我们选择线上机构的重要依据,
很多机构为了降低成本,会一次性录制完课程内容然后放置到线上进行售卖,这种课程我们称为录播课程。录播课程可能会存在以下特点:
1)价格低
一次性录制多次利用一劳永逸,因此价格很低
2)相对灵活
适合当前无法脱产的童鞋,可以根据自己情况安排学习进度
3)质量良莠不齐
录播学习同样有书籍学习的缺点,互联网技术革新是非常快的,很多录播课程中提到的技能可能已经过时了。学习一门过时的技能,最终应用不到实际工作中得不到变现,无异于浪费青春浪费生命。
4)无售后答疑
录播课程一般购买后就只能学员“单打独斗”了,基本都没有售后和答疑的环节,很难保证学习的效果。因此这种方式也是适合自学能力强、自制力强的同学。
5)到课完课率低
另外录播学习因为没有售后方面服务跟不上,导致学员的到课率是极低的,大部分的学员因为没有人督促,在学习的过程中就掉队了,买的录播课程也成了“保存而不看系列”。因此如果选用购买录播课程进行学习,一要去把控课程的质量,因为购买了是不可以退款的,这里会有课程质量的风险。二你需要权衡自己能否坚持,对于没有互动甚至毫无售后的录播课程,千万别成为了“保存而不看系列”。
好了,这就是目前最主流的软件测试学习的方式了,相信你已经能够根据自身情况作出适合自己的选择了,如果还不清楚,可以私信我,作为过来人的我可以根据你的情况给你一些参考建议。
选择好了学习的方式,下面我们来看一看初级阶段需要学习一些什么样的知识点。
下图是我总结了每个阶段大概会涉及下面的相关技能
如此多眼花缭乱的技术,当然不是作为小白就要全部会的,我们主要看金字塔最底部的初级软件测试工程师相关的技能:
作为刚接触到软件测试工程师的你,可能是应届毕业生,也可能是准备转行的测试小白,此时你对软件测试系统性的知识还比较茫然,因为作为一个IT技能岗,要学习的技能实在太多了! 此时千万不能被吓到了:迈出第一步比你想象的要简单很多,这个阶段你只需要掌握:
1、计算机基础知识,Office、浏览器相关软件使用,一定的英语阅读能力,相信这块你早已具备 2、软件测试的概念、分类、生命周期、工作流程、需求分析 3、测试用例设计方法、编写、评审、执行 4、bug的定义、生命周期、处理、bug管理软件的使用(如禅道)、 5、测试计划、测试报告的编写 6、版本控制工具SVN、Git的使用
这个阶段学完,恭喜你已经在软件测试行业迈进了第一步,目前你此时掌握的测试知识偏向于理论,还不足以对一个web项目进行系统性的测试,因此一定要找一个web网站来进行系统性的测试,也就是我们说的项目实战,过程可以按下面几点进行:
1、找一个web网站,一定要简单点的然后业务自己也熟悉,网站太大模块太多不利于我们学习 2、进行项目立项,模拟需求评审,规划项目任务和时间 3、根据需求文档进行需求分析,罗列并整理测试点 4、编写测试用例,然后模拟用例评审 5、执行测试用例,对功能、界面、兼容性、前后台、数据库进行测试 6、对bug进行分析总结,编写测试报告
通过项目实战,你已经熟悉了web项目的测试,虽然这个时候出去也能找到一个实习工作或者初级工程师的工作,但是薪资会比较低,我们知道常用的软件除了web网页更多的就是移动App了,App测试需求是非常大的,所以我们还需要学习App的专项测试技能:
1、app的安装卸载、登录、离线、推送、UI、安全性、网络、终端测试 2、H5、小程序测试 3、sdk环境搭建、app专项测试日志获取、日志分析
通用掌握了上面的专项测试方法,我们同样需要找一个简单的项目来进行实战,夯实理论基础。
为了更好的辅助web测试和app测试,还有一些工具和测试方法是这个阶段必须要学习的:
1、Monkey性能测试、App兼容性测试 2、GT、soloPi等工具应用 3、Fiddler抓包软件的学习、弱网测试
现在,你掌握了web和app测试理论和方法,也有了一定的项目经验,你已经是一个合格功能测试工程师了,为了根据更加提高自己的核心竞争力,接下来我需要学习一些高级技能,让我们不仅仅是一个只会点点点的测试工程师。
接口测试
1、接口的概念、常见接口协议如HTTP协议、测试方法 2、接口需求文档的阅读、接口测试数据流、测试点的确定 3、接口用例编写、评审 4、jmeter常见测试元件、http、jdbc请求、参数化、接口关联、断言 5、接口测试用例的执行、接口自动化
除了jmeter,另外一个两个接口测试神器Postman和Soapui也需要学习一下
因为现在自动化测试很火,即使我们目前还没有到自动化测试工程师的高度,但是很多时候面试的时候面试官都会问自动化相关的问题,所谓“面试造火箭,工作拧螺丝”,即使你面的这份工作进行暂时不会做自动化测试,也可以侧面反馈出你是一个好学的人,也能和其他面试者区别开来。所以有必要学习一门编程语言基础和自动化测试知识,因为这里是中级阶段我们需要重点学习的技能,所以这里只做简单的阐述,在中级阶段我们再详细进行拆解
Python的接口自动化、UI自动化
1、Python的基础语法、常用数据类型、变量、控制结构 2、内置函数和自定义函数 3、request库、excel读取和存储、使用python+requests完成接口自动化 4、Selenium webdriver、8大元素定位方式、页面等待方式 5、IFrame切换、特殊场景处理 6、Python+Git+Jenkins完成自动化脚本的持续集成
因为RobotFramework在很多公司也有一定的使用场景,可以选择性学习一下:
接着是功能测试工程师必备技能的学习,操作系统Linux+数据库MySQL+项目环境的部署
Linux:
1、云服务器的使用、Xshell、Xftp的使用 2、Linux常用命令的学习 3、jdk、tomcat、mysql在linux的安装部署
MySQL:
1、MySQL登录、建库建表、常用自动类型和约束 2、数据库增删改查命令:INSERT、DELETE、UPDATE、SELECT 3、数据库多表关联查询、子查询 4、数据库高级查询:如分组、分页、去重、模糊查询、常用函数使用
到此,恭喜你已经成为一个合格的初中级测试工程师,具备了在一线城市找到一份月薪过万测试工作需要的技术栈,可以准备准备简历,开始进行面试和就业了,如果能够学习一下面试技巧和职业规划,将大幅提高你的面试和试用期通过率!撒花~~~
如果面试没有信心,可以点下面的连接,我准备了800道软件测试面试真题让你打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web测试、接口测试、App测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力资源等模块面试题,命中率杠杠的。
最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..
关注我的微信公众号:【程序员小濠】就可以免费获取了~
加入我的学习交流群:175317069一起交流分享~群里也有不定期的学习视频和学习资料发放!
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。