我工作八年整,之前做过开发,现在正在做测试,发现人们对测试非常轻视,究其原因就在于测试入门的门槛太低了,导致人们认为测试仅仅会点页面。关于测试我想说一下我的看法。
众所周知,如今无论是大厂还是中小厂,自动化测试基本是标配了。测试开发是90%测试人职场道路的终极目标,不仅在于测开技术能力突出,核心竞争力强,待遇水涨船高。更重要的是越来越多的中大型企业开始进行测试工具的平台化、工具化,只会使用工具的测试人可替代性相对就更高,职场议价能力会越来越弱。 然而,现实却很难招到一个成熟的自动化测试工程师。最近我面试了不少来自大厂的测试工程师:华为、沃尔玛、腾讯、字节……等等,每次都以为稳了,寻思在大厂应该都参加过自动化测试吧,实际却是很多工作 10 年的测试工程师,仍然在做功能测试,或是以功能测试为主。
为什么自动化测试人才稀缺?我归纳了 3 点:
- 对自动化测试领域局限在工具和框架的使用,缺乏整体认知;
- 对于自动化测试设计理解不深入,一些方法、套路停留在概念理解,无法灵活运用;
- 测试工作的价值被低估,长期发展受限,被迫和开发人员一起内卷技术工具。
我的自动化测试之路
我的测试之路跟大多数测试人一样,是从功能测试开始的,很悠闲,点了两年,随着时间的消磨,让我产生了对自我价值和岗位意义的困惑。薪资也得不到提升,看着身边的人不断涨薪,或者跳槽去了更好的公司,特别觉得自己跌落谷底,碌碌无为…
学习自动化这个想法,其实自己在心里已经琢磨了很久,就是一直没付诸实践,公司最开始只我一位软件测试人员,没有任何流程和规范,但好在工作比较轻松,这就导致我有充足的时间学习各种测试技术和工具。当时,有一些机会在工作中做性能测试,于是,学会了使用LoadRunner和JMeter,有一次需要测试MySQL数据库的性能,用JMeter搞了半天不知道怎么设置,结果叫一位开发的同事帮我过来很快就搞定了。
让我明白了开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。当然也能带来收入的高度。
这个时候我才开始真正上心,每天工作不忙的时候,或者下班之后,拿出1-2小时进行系统的学习,不因为我之前一知半解的知识而放弃某个模块的学习,俗话说得好,有压力才会有动力,真的是这样,我竟然真的坚持下来了,经过一段时间的学习,慢慢的觉得,自动化原来也不是个很难得事情,所谓熟能生巧,多次练习之后就会发现其实很简单。
自动化测试学习建议
01、多样化练习
完全按照视频里的操作方法,用视频里的网站,按部就班的写代码,效果不大,并不是说没有必要。因为课程里所使用的网站都是老师“精心挑选”的,主要针对某个模块某个知识点而来的,用来做例子的功能也是最简单,主要目的是让学员明白当前所讲的知识点。
但是在实际应用的过程中肯定会比这复杂。所以建议在按照视频里的例子练习完成后,多拿一些常用的网站或者工作中正在使用的网站多做练习,这样我们往往会获取到一些课程里没有的知识。
一开始不会没关系,就是照着现有脚本抄也要练习,因为只有练习才能熟能生巧。
02、虚心学习不自以为是
因为我之前是有代码基础的,所以在第一次学习的过程中将所有代码相关的课程都跳过了,所以导致了知识的断层。第二次学习的过程中,是将课程从头到尾的完整的看了一遍并进行了实际操作,才发现,之前被我跳过的内容隐藏了一些我从前并不知道的知识点。
03、有始有终
第一次学习时,学习完脚本录制之后,就停止学习了,并没有继续学习后续的内容。
第二次学习后发现,用录制的方式写脚本是很low的,很有局限性,并不能满足所有的需求,后来用WebDriver和UnitTest才是真正的高级,解决脚本录制不能解决的问题。
04、遇事迎难而上
在我学习完课程后,自己在练习的过程中,遇到了课程中并没有讲到的内容,脚本执行一直报错,在我第一次的学习过程中,遇到问题就放弃了,并没有积极的去解决问题,导致了最终的放弃。
而第二次学习中,遇到问题后我积极的去各种网站查找解决问题的方案,问题总会得到解决。在问题得到解决之后,发现这是一件很值得骄傲的事情,心情就会变好,虽然解决问题的过程可能会很艰难。
05、应用到日常的工作中
我们学习完自动化之后,不要学习完就行了,而要积极的将其应用到我们日常的工作中,如果放着不用,一段时间之后我们学习到的知识都会慢慢遗忘。将其应用到工作中后,不仅能对技术进行不断练习、优化、升级,还能提高工作效率,何乐而不为呢?
这是我自学自动化的历程,走了不少弯路,也没有专人的指导,只能靠自己去摸索,希望我自己犯的错误能让大家引以为戒。
我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和收集总结,所以,我和朋友特意花了一段时间整理编写了下面的《自动化测试工程师学习路线》
一、先学习一门编程语言,建议python
二、Python自动化测试框架应用
三、自动化测试篇 - Web UI 自动化
四、自动化测试篇 - 移动端UI 自动化
五、自动化测试篇 - 接口自动化测试
六、自动化测试篇 - 持续集成Git、jenkins、Docker
七、自动化测试篇 - 性能测试LoadRunner、jmeter、app性能
八、自动化测试篇 - WEB安全测试、渗透测试、漏洞扫描
九、自动化测试篇 - RobotFramework、AirTest
十、测试开发篇-自动化测试平台开发
十一、互联网高薪测试拓展知识、Redis、MongoDB、Nginx集群实战
最后也为大家准备了一份配套的学习资源,你可以在公众号:豆子熊,获取上方自动化测试资源完整版及详细解析,以及一份216页软件测试工程师面试宝典文档资料。相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
祝大家都能拿到心动的offer~~
|