有很多人员会不断问自己,自己到底要不要学测试,或者要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼,给你更多的指明方向,当然也有更多的压力。
下面我们聊聊测试这个职业和测试工程师涨薪需要的技能!
01 什么是测试工程师?
测试工程师主要干的事情就是测试,找出程序的Bug,尽量在程序发布出去之前,把一些潜在的,严重的bug给提前指出来,降低软件研发过程修复bug的成本。测试是一个比较综合和全面的职业。
软件测试入门门槛低,几乎简单培训不到一个月,人人都可以做测试工作,但是不是人人都能做好测试工作,这也便决定了工作后的薪资水平。我们私下经常调侃,一个好的测试人员,他可以写代码,水平甚至不输给一般开发人员。
一个优秀的测试人员的薪资与开发人员不相上下,甚至高于部分开发人员,职友集10月最新数据显示:北京软件测试开发工程师¥24.2K/月,其中占比最高的薪资区间是¥20K/月 —— ¥30K/月。
好的测试人员,可以去产品,他懂得一些设计常识,为什么好多,招聘app测试的要求,要有互联网思维,能够提出对产品的改进意见,就是这个道理。
好的测试人员,可以去做运维工程师的事情,测试也需要代建环境,好的测试人员,可以熟悉linux和shell脚本,有的可以做软件的持续部署,这个在测试持续集成里面的技能。
好的测试人员,可以去做业务。有人在银行软件测试,之后被银行录取了,就因为人家非常了解银行业务,从软件测试就到了甲方的业务人员。
所以,测试很容易做,也很难做好,做精通。测试职业发展之路,很长,需要不断学习,不断进步,不断提高自己各个方面的技能,包括软技能和硬技能。硬技能,主要是技术相关,这个是你吃饭的本身,软技能主要是你的工作中的情商,如何处理矛盾,如何处理人际关系等等。
到了这里,对软件测试职业发展,有了一定了解,有动力,也有更多的是压力。有迷茫,不知道如何下手如何去提高。
所以,现在开始聊聊,如何提高技术能力这个话题。大致的意思就是,从软件测试入门,学习各种技术,然后到达一个比较好的职位和薪资水平。
02 下面,我给出一个学习成长路线,也许不适合你,但是希望对你有帮助。
上面只是描述了一种测试职业道路发展规划,偏重代码技术方面。测试领域有,服务器端测试,客户端测试,安全测试,性能测试,接口测试,自动化测试,渗透测试,测试开发。所以,如果你达到了测试开发的水平,其他方面测试,对你来说也不会太难。
√软件测试理论知识
这个必备,当然,有些基本概念我都不清楚,所以,有时间,我也得去学习,复习下软件测试理论。这部分包括,软件测试基础理论和方法。
例如软件生命周期,测试用例编写方法,软件测试原则。软件测试管理相关技术,软件各个阶段评审,软件测试计划编写,软件测试过程管理,软件验收,软件测试整个过程一些文档规范等等。
√语言基础
这部分,你可以选择Java或者Python入门,或者其他编程语言。看你适合Python还是Java,我个人推荐先Python入门,然后再去学习Java。初学诶,认真学习一个月足够,第二门语言,一个礼拜就可以入门。基本上很多思想和语法是相通的。
√手工转自动
这是一个痛苦过程,有些人天天看语言基础,不知道如何练习,天天入不了门。这里推荐,在你学习了一个语言之后,你一定要找一个事情去练习,熟悉这个语言的基本使用。推荐,结合Selenium学习Web自动化测试。
通过脚本编写,有助于你提高语言基础知识的理解和运用。在练习自动化脚本过程中,你得到快乐,会帮你提升学习兴趣。
√自动化脚本开发
这个是在手工转自动过程之后,你需要大量的练习,如果Selenium自动化脚本开发,你起码要完成100个自动化测试用例,你需要对seleinum达到熟练使用的地步。快速写出自动化测试用例。
√了解和接触框架
这里提到框架,是只自动化测试框架,不是指开发用到的框架。继续深入研究Selenium和一些自动化测试框架的知识。例如,什么是框架,框架解决什么问题,框架组成组件有哪些。这部分包括,单元测试框架,Java中Junit或者testNG,Python中unittest.
√设计简单测试框架
例如Python+Selenium从零开始到设计自动化测试框架。先学会设计一个POM设计思想的框架。
√常见设计框架设计
前面我们有了POM设计框架的思想,接下来我们要学习数据驱动框架,关键字驱动关键,混合测试框架,还有行为测试驱动框架。
√Linux和数据库
不用说,自动化测试到一定深度,也需要用代码连接数据库去进行测试,linux和shell脚本,基本上测试环境也会接触到。如果要做自动化部署和运维,常见的linux和shell脚本是有必要学习的。这部分,请看linux和shell脚本入门系列。
√版本控制和持续集成
有些人在公司接触了版本控制软件,例如SVN和git,随意选择一个你公司在使用的版本管理软件,去学习它,要学会基本的操作,工作中常见的,用得到的需要掌握。持续集成,这个一个很火的话题,看到持续集成就要想起Jenkins,需要安装和简单配置Jenkins,如何在上面挂一个job等等,这部分,接下来我会写系列文章。
√Web前端
放在这里,是为后面的web开发学习做准备的,前面的自动化测试,我们接触了一点点前端的知识,这部分已经有了javascript入门教程写,接下来会写HTML和XHTML和XML和CSS等入门教程。
√写一些小程序
假如你是选择Python,你可以试试爬虫。Java其实也是可以写爬虫。
√完全掌握一门编程语言
这个可以放在和写一些小程序一起去学习和实践。如果你选Python,你可以学习Django框架进行开发一个web或者一个博客。如果是Java,你需要学会web开发入门,尝试去了解Java三大web框架,优先学习SSH框架。后面的阶段,我就不介绍了,我也不会,也是我的一个学习目标。
03 自动化测试学习成长路线
强烈建议你按着这个学习路线进行学习,坚持学习,尽量到达测试开发的目标,如果达不到,你也会接近这个目标,如果你实在找不到进阶自动化测试的技巧,那我建议你先进群与小伙伴一起学习交流,各种测试疑问都能在这里得到解决。
行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!