最近常刷到一些求职和想要转行的帖子,我也感触很深。
刚毕业的时候,时间过得真快,我也到了要找工作的时候了,刚刚经历了秋招的我,深刻的体会到了,没有一点专长是怎样的后果。
研究生期间选了一个和自己原来专业偏差较大的一个方向,导致我找工作的时候,并没有一个专业技能很突出的特长,就在当地找了家公司浑浑噩噩的干了一年,一年来钱没存多少,经验也没学到,感觉一整年“三点一线”式的上班没有任何意思,工资,经验两不沾,轻松是挺轻松,但是没有发展空间没有进步空间,
舒适圈”太容易磨灭人的意志了,又煎熬了一个月之后开始考虑转行,在了解了多方信息后,最后选择了软件测试。因为大家都知道,IT行业的代名词就是工资高,这样在亲戚朋友面前也显得体面。而且软件测试是IT行业里面最容易上手的。
转行遇到的第一个难题就是怎么学,刚开始一头雾水,只能先从网上买些书来看,但是收效甚微。于是,我开始疯狂在网上找教程,求助度娘,但是大部分情况下都是七零八落的,得不到有效的答案。而且我也不具备梳理这些资料的能力,我一度开始怀疑自己,要不要选择放弃
庆幸的是转机来了,在网上找资源的时候,加了不少相关的技术群,认识了一些业内的朋友,通过请教和学习,对于软件测试这个岗位和技能有了更清晰的认识。也得了不少的帮助,让我更加有信心去做好这件事。
一百多天,从白天到晚上,不是在学就是在学的路上,从测试理论到实战操作,大大小小的问题,在群里前辈的帮助下,总是能很快解决。慢慢的,测试方法,用例设计,web测试,app测试,接口测试。虽然离技术大牛还差很远,但是找一份初级测试工程师的工作应该完全没有问题。
根据前辈们的建议,找工作之前,我刷了不少的面试题,算是有充足的准备了,最后在面试了5家公司后,拿到了一家电商公司的offer,一个月9000,对于当时的我来说已经非常成功了,也让我对未来充满期待。
今天看到了这个问题,就想来回答一下,感觉自己的过来人经历可以给你一个参考。
学校老师教的东西,说实话很容易和公司脱节,毕竟现在技术更迭那么快,互联网公司的业务变化也很快,除非你的老师同时也在外边上班,不然确实很难适应社会上的工作。
说回正题:【0基础学习软件测试,需要具备哪些技能才能找到工作?】
想要达到找工作的程度,你需要对测试理论、计算机基础知识有所了解,最好还应该掌握一门编程语言。
我们一个个来说:
首先,需要对测试岗位有一定的了解,测试岗位可以分为测试工程师、测试开发工程师、自动化测试工程师等等。你需要了解这些岗位的职位职责和职位要求,这些可以去boss直聘或者拉勾网去查看。
然后,还需要对常用的测试方法有所了解,了解什么是黑盒测试、白盒测试或灰盒测试,以及了解他们分别能解决什么问题。
了解测试方法,对我们设计测试用例很有帮助。
比如:我们测试数值区间时,常常会用到边界值法,测试不同条件下的功能时,常常用到等价划分类;进行白盒测试时,还可以利用条件覆盖、路径覆盖等测试方法去设计测试用例。
平时可以抽空读一读《软件测试》这本书,了解基本的测试理论。》
在准备测试面试时,也可以去牛客网刷一刷测试的基础题,这样对测试面试也会有很大帮助。
首先,需要对操作系统有所了解。知道什么是内存、什么是CPU、什么是硬盘、什么是进程、什么是线程等基本知识。
另外,我们平常可能接触得比较多的是windows系统,但是现在大部分企业都会把服务部署到Liunx服务器上,我们也需要掌握Linux操作系统的基本使用,至少对常用的Linux命令有所掌握。
比方说,你需要知道查看日志,会用vim编辑文件,会用grep过滤文本,知道怎么杀死进程等等。
对于移动设备,也不能只局限于会用app,测试并不是点点点就行的,你要比常人更会玩手机。
比方说,你需要学会用手机连代理进行网络抓包,Android常用的adb命令也需要掌握,iOS的证书相关的知识也需要掌握,知道怎么在手机上信任证书等等。
除此之外,数据库的知识也是重中之重,sql语句一定要掌握。
上面内容推荐大家可以看看《软件测试》、《图解HTTP》、《mysql必知必会》、《操作系统》、《鸟哥的Linux私房菜》、《移动App测试实战》这几本书。
当然,看书是很花费时间的,也可以在网上搜罗别人总结好的资料,关注我,我也会不定期更新一些资料供大家学习。
现在对测试的要求是越来越高了,再也不是仅靠“点点点”就可以找工作的时代了。
除了具备测试能力之外,还需要掌握一定的代码能力。
很多企业现在都对测试开放了代码的审阅权限,假如你能看得懂开发的代码,你对整个开发的逻辑将有更深的理解,测试也会更全面。
现在的测试开发不仅仅要进行日常业务测试,有时候也要去开发测试平台、测试工具,假如不会代码的话,是无法完成开发工具的工作的。
当今测试的面试中,肯定也是少不了编程算法题的,这个需要你对编程语言要熟练掌握,要不然编程题面试肯定是过不了的。
建议初学者可以把java或者python作为入门的编程语言进行学习,最好是都学。
因为java目前是主流的后端编程语言,阿里、美团等大厂都在用。
另外java的编程思想、设计模式都比较成熟,要是学会java之后,再学别的编程语言会觉得比较容易。
python是最近几年特别火的编程语言,语法简单,快的话基本上花一周时间学习和练习,就能够入门。
并且,python在测试行业也是特别流行,很多测试团队开发测试工具,都喜欢用python开发。
一般把基础教程学完,熟知数据结构并能熟练操作数据结构。
另外,要对简单的算法要有所了解,比如八大排序等等。
最重要的肯定是要学会网络抓包,这个是测试工程师的必修课,抓包工具五花八门,一般抓http请求的,用得最多的是fiddler和charles,我推荐使用charles。
接口调试工具可以使用postman或jmeter。
app的测试工具,需要了解monkey的使用
自动化测试工具,可以学习selenium和appium
除了测试工具之外,再给大家介绍一下测试工作中常用的4款软件:
jenkins:只是持续集成工具,说得通俗一点就是,利用这个平台可以进行app打包、代码构建或脚本执行。
wiki:在线文档工具,可以作为企业的知识库
jira:可以用来做项目管理或bug管理
gitlab:代码仓库,也就是存放和管理代码的地方
这些工具至少要会使用。
以上测试工具我自己整理了一份,有需要可在评论或私信里告知我。
假如你都能掌握我提到的这些点,基本上就可以达到找工作的能力了。
但是能不能面试上是有很多因素决定的,不单单是只看你的能力,面试官还需要考察你之前的经历,看是否符合他们岗位的要求。
对于转行做测试的同学来说,一开始都会比较困难一点(我就是这么过来的),但是只要你能保持不断学习的状态,想要找到一份好工作也是有很大希望的。
希望大家都能找到心仪的测试工作!
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是么很值钱的东西,如果你用得到的话可以直接拿走:
这些都在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号:563251944(备注“csdn”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。