自学软件测试怎么学?

在这里插入图片描述
利益相关,这次以一个局外人的身份聊聊软件测试自学,该采取什么样的思路和方法。
很多自学者在冒出这个问题的时候,本职上就是一个感觉:我该从哪里入手?
咱们今天从五个方面着手,来说说如何自学软件测试,文章较长,会说的很透彻,文章底部我会有自学的资料,你们自己拿走就行了。
一、思路篇
二、心态篇
三、技能篇
四、资料篇
五、面试篇

在决定自学之前,一定要问自己几个问题,把这几个问题思考明白了,自学的道路会顺利很多,因为见过了太多的“从自学到放弃”
一、思路
1、自己是否真的想好了进入这个行业?是否真的经过了深思熟虑,还是仅仅因为羡慕这个行业的薪资水平,一时冲动?
这个问题想明白了,就不至于后期 遇到困难的时候出现想放弃的情况,自己选择的路,跪着也要走完!
2、自学的时间是否有严格的计划安排?是否能够固定抽出时间来去学习,这个时间段不受其他事情干扰?
如果这个问题解决不了,那么就是三天打鱼两天晒网,学着前面的,忘着后面的,终究是不成体系。
3、学习的过程中,需要结合实际项目去实操,这个项目去哪里获取?身边是否有稳定的渠道能够接触到项目?
如果这个问题解决不了,那么学的和用的就会脱节,实际进入企业的时候会全盘蒙圈。
4、学习过程中遇到的技术问题,如何自己去解决?百度?请教身边的朋友?去交流群里问?
这个问题我放在最后,尤其的重要,因为技术的东西都是死的,重要的就是自己实际操作,在实操中遇到问题,解决问题,从而提高自己的技术水平。百度问题不全面,没有针对性;身边的朋友看自己的情况,包括去交流群里请教,都是可以的,但是谁都没有义务一直去帮你。
以上4个问题想明白了,那么从哪里着手就是一个小问题了,只不过我是把在自学中会遇到的棘手问题在你自学开始之前就让你去思考,这样不至于中间遇到问题的时候蒙圈。OK,咱们再说说心态。
二、心态
关于自学
1.软件测试入门容易,但是这不是你认为它好学的理由,你怎样轻视它,它就怎样轻视你;
2.门槛低意味着容易入门,但同时也意味着要爬升的道路比较长;
3.看书解决不了问题,只是参考,书籍更新速度慢,信息传达单一,但是经典的终归还是经典;
4.不轻易推荐自学,这个还是要看人,自学非常容易钻进牛角尖,见过太多的“从自学到放弃”。
关于工作态度:
1.认为软件测试就是写写测试用例,执行一下,汇总一下bug的,趁早清醒,否则只能一辈子点点点。你不主宰你自己,那就让别人主宰你;
2.所有身边一开始认为测试容易,钱好混的,再过几年看他,还是老样子;
3.学无止境,你工作别人也在工作,你发呆别人在学习,然后你就被艹爆了;
4.工作中不要只有想象力,没有执行力,咱们还没有成长到公司离不开自己的地步;
5.主观能动性,主动去接触技术性的内容,成年人不要指望别人把东西嚼碎了喂你;
6.2018年靠点点点去混工资已经越来越难了,持续学习+主动探索+分析总结,缺一不可。
三、技能
按照这个路线图去学习,自学就会变得非常轻松,不会有无从下手的感觉了
初级阶段
初级阶段需要掌握四个方面的内容
一、软件测试的基础知识,编写测试用例的方法及测试流程
二、掌握禅道、SVN等必要工具,及缺陷定义和测试计划编写方法
三、web测试与app测试的方式方法与协议
四、接口测试postman工具的操作使用,前端基础知识H5及CSS
中级阶段
中级阶段需要掌握六个方面的内容,从中级开始就是涉及到一些工具的使用
一、QTP自动化工具的环境搭建
二、loadrunner性能工具的环境搭建
三、jmeter性能工具的环境搭建及接口压力测试
四、jmeter脚本增强,app/web性能测试
五、fiddler抓包工具的操作使用、Jenkins自动化部署工具
六、数据库MySQL、SQL语句
七、Linux基本指令,Shell脚本
这里贴出中级阶段重要的几门课程JMeter, MySQL, Linux学习思路图,大家自学的过程中按照这个线路图涉及的知识点学习透彻就OK了。
JMeter学习线路图
数据学习知识点汇总
Linux学习知识点汇总
高级阶段
高级阶段涉及到四个方面,需要掌握一点开发的知识
一、Java/Python等编程语言,学会其中一门即可。
二、自动化测试框架,如Python的pytest、unittest,Java的Junit、TestNG、Nunit框架。
三、testNG+Selenium自动化工具环境搭建和使用
四、APP自动化之Appium和monkey
五、渗透测试之安全扫描工具、SQL注入等
在这里插入图片描述
初中高级阶段需要学习的知识
需要原图可以私我。
按照这个方向去学习,基本上出来技能水平就达到了中级的水平,完全就可以去面试找工作了。但是这个时候与真正的中级水平还差点火候,那就是没有实际的工作经验,那这个时候就需要去研究企业的大项目,去获取一些经验。另外打算面试之前,还需要对掌握一些面试技巧及面试题,最重要的是要包装一下自己的简历。因为能力已经足够,那就需要所有的硬件也都匹配上。

四、资料
在这里会给你们提供一些学习书籍的信息,方便参考。
在这里插入图片描述
(一)书籍
主要是抽时间整理的豆瓣上的软件测试的书目,里面对应的书评对你或许有帮助,仅供参考。
1.《Google软件测试之道 》 2.《持续交付》 3.《软件测试的艺术 》 4.《 代码整洁之道:程序员的职业素养》5.《软件测试 》6.《测试驱动开发 》7.《软件测试经验与教训》8.《探索式软件测试》9.《捉虫日记》10.《发布!软件的设计与部署》11.《移动App测试实战》12.《微软的软件测试之道》13.《颠覆完美软件:软件测试必须知道的几件事》14.《有效的单元测试 》15.《敏捷软件测试测试人员与敏捷团队的实践指南》16.《腾讯Android自动化测试实战》17.《完美软件对软件测试的各种幻想》18.《 Python Web开发:测试驱动方法》19.《测试驱动开发的艺术》20.《软件测试工程师面试指导》21.《自动化测试最佳实践来自全球的经典自动化测试案例解析》22.《Cucumber:行为驱动开发指南》23.《Web安全测试 》24.《大话移动APP测试:Android与 iOS应用测试指南》25.《iOS测试指南》26.《全程软件测试(第2版)》27.《 JUnit实战》28.《 xUnit测试模式 》29.《测试驱动的面向对象软件开发》30.《Java测试新技术TestNG和高级概念》31.《测试之美》32.《测试架构师修炼之道》33.《.NET软件测试自动化之道》34.《 软件测试之魂》35.《模糊测试强制性安全漏洞发掘》36.《 单元测试的艺术(第2版)》37.《 软件测试技术经典教程》38.《有效软件测试》39.《计算机软件测试》40.《 软件测试基础教程》41.《 Junit in Action 中文版》42.《游戏测试精通 》43.《 精通软件性能测试与LoadRunner实战》44.《完美测试 》45.《用例分析技术》46.《软件测试自动化》47.《软件测试面试突击》48.《应用程序性能测试的艺术》49.《 软件测试与持续质量改进》50.《Perl Testing程序高手秘笈 》
综合来说,国外的经典居多,国内的相当一部分是拼凑而来,但是也是有一部分经典的,这个要看作者。建议8.0分以上的都可以读来看看,另外相关书籍没有必要去花那么高的价格去买新书,要么是直接买二手的,要么是直接找电子版的进行看,这其中很多书在大学的图书馆也很容易找到,要是找不到的话,我这里有一部分的电子版,可以给到你们。
在这里插入图片描述
(二)学习平台
1.CSDN
2.博客园
3.简书
(三) 视频资源:
在这里插入图片描述
五、面试篇:
先从两个方面说一下吧,一是普通的面试技巧方面,再从项目方面说明一下

个人介绍
当你面试测试时最重要的是,哪年毕业的,参加工作几年了,我是谁,我上家公司是谁,公司做的项目是什么,我负责哪个模块,写测试用例用的什么方法,在测试中,用到了哪些测试工具,我最擅长的是功能测试,性能测试,自动化测试,以及你是怎么操作的,几乎这样的介绍,涵盖了面试官想听项目经验的重点。

记你觉得你个性的有点是什么?

回答提示:沉着冷静、条理清楚、立场坚定、顽强向上。
乐于助人和关心他人、适应能力和幽默感、乐观和友爱。我经过一到两年的培训及项目实战,加上实习工作,使我适合这份工作。我相信我能成功。
说说你最大的缺点?

回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。
绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌芨可危了。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。企业喜欢聪明的求职者。

你对加班的看法? 回答提示:实际上好多公司问这个问题,并不证明一定要加班。只是想测试你是否愿意为公司奉献。
回答样本:如果是工作需要我会义不容辞加班。我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班

你对薪资的要求?
回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱。他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。
回答样本一:“我对工资没有硬性要求。我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多
回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训。而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。
回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。

你的职业规划?
回答提示:这是每一个应聘者都不希望被问到的问题,但是几乎每个人都会被问到。比较多的答案是“管理者”。但是近几年来,许多公司都已经建立了专门的技术途径。这些工作地位往往被称作“顾问”、“参议技师”或“高级软件工程师”等等。
当然,说出其他一些你感兴趣的职位也是可以的,比如产品销售部经理,生产部经理等一些与你的专业有相关背景的工作。要知道,考官总是喜欢有进取心的应聘者,此时如果说“不知道”,或许就会使你丧失一个好机会。最普通的回答应该是“我准备在技术领域有所作为”或“我希望能按照公司的管理思路发展”。

你朋友对你的评价? 回答提示:想从侧面了解一下你的性格及与人相处的问题
回答样本:“我的朋友都说我是一个可以信赖的人。因为,我一旦答应别人的事情,就一定会做到。如果我做不到,我就不会轻易许诺。
回答样本:”我觉的我是一个比较随和的人,与不同的人都可以友好相处。在我与人相处时,我总是能站在别人的角度考虑问题“ 你还有什么问题要问吗?
回答提示:企业的这个问题看上去可有可无,其实很关键,企业不喜欢说“没有问题”的人,因为其很注重员工的个性和创新能力。

企业不喜欢求职者问个人福利之类的问题,如果有人这样问:贵公司对新入公司的员工有没有什么培训项目,我可以参加吗?或者说贵公司的晋升机制是什么样的?企业将很欢迎,因为体现出你对学习的热情和对公司的忠诚度以及你的上进心。
以上是我在被面试和面试过程中总结出来的一点小小的经验,接下来是大神给我介绍的内容,STAR法则来回答面试问题:
S:Situation,形势,情景。提供上下文和背景,例如“我们的客户抱怨……”
T:Task,任务,问题。描述问题和挑战,例如“我们面临供应链短缺……”
A:Action,行动,努力。解释你做了什么,和如何做的,例如“我们解决了……我们处理了……”
R:Results,结果。陈述结局带来的好处,挽救的内容,获得的奖项,提高的认识等。例如“这个带来的影响是……
STAR 法则解释

项目经验
S:做这个项目的背景大致介绍
T:这个项目里面的任务都有哪些
A:在这个项目中做了什么
R:做的努力,最终的结果如何
面试问答
S:需要明确面试官问题的大致背景,以便针对性的描述
T:面试官的问题,这里需要从问题澄清问题的前提和背景
A:解释你如何处理和应对这个问题
R:继续描述你这个处理可能带来的结果
后续会再专门针对面试写一篇文章。敬请关注!!!
最后,希望我的回答对你有所帮助。

发布了91 篇原创文章 · 获赞 72 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/leboxy/article/details/100545196