你还在人生分岔路口徘徊迷茫吗?十年软件测试工程师感悟,给你答案!

大人不华,君子务实。值得学习的技能有很多,但最应该掌握的是编程

我的自动化测试之路

因为我一直在分享自动化测试技术,所以,时常被问到:

功能测试想转自动化,请问应该怎么入手?或者有哪些书推荐?

那么,接下来我就结合我的经历聊一聊我是如何在工作中做自动化测试的。

我的软件测试职业开始和大多数最普通的测试人员一样,一开始在一家幼儿教育平台的公司做软件测试,公司最开始只我人一位软件测试人员,没有任何流程和规范,但好在工作比较轻松,这就导致我有充足的时间学习各种测试技术和工具。

当你认为工作很闲时,这正是你可以有更多的时间投入学习的时候,但是,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。

当时,有一些机会在工作中做性能测试,于是,学会了使用LoadRunner和JMeter,有一次需要测试MySQL数据库的性能,用JMeter搞了半天不知道怎么设置,结果叫一位开发的同事帮我过来很快就搞定了。

这让我认识到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。

大概在2013年的时候,脚本语言变得越来越流行,我正纠结学习Python还是Ruby,后来,我被分到社区项目的测试工作,公司产品开始选用Python开发的,所以,我毫不犹豫的选择了Python。

如果你不知道学习什么编程语言,那么就根据项目的开发语言来,这也会有助于你对测试的bug的理解。

接着,开始用Python语言和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。

分享是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少反馈,不管是做内部分享或者是博客都是很好的反馈机制。

2014年的时候,由于项目的原因,开始使用Robot Framework测试框架,正因为有Python的基础所以很快就理解了Robot Framework框架的工作原理,并可以根据项目的需要开发系统关键字。

掌握自动化工具的原理使用起来才能更加游刃有余,而这也需要你有一定的编程基础的原因。

2015年随着移动App越来越流行,乘着换工作的间隙,我开始学习了一个月的appium自动化工具,但工作中用不到后来就没在继续了。

后来,我开始针对另一个社区项目编写Web UI自动化测试,前后做了几个月,积累了一些经验,开始尝试设计Web自动化框架,当时主要还是针对Selenium API的封装。

为什么我越来越有更多机会去做自动化相关的工作,当然,是我先学会了这项技能,然后,公司项目又比较适合去做自动化,所以,我就尝试去做了,最后,这就变成了我的经验。

但是,没多久我会调到另外一个项目负责接公司口平台的测试,这个项目支撑公司内部不同的业务线,为了更加高效的保证接口的质量,开发设计了一套基于PHPunit的接口自动化项目,因为整个接口平台也是有PHP开发,所以,我开始尝试用PHP编写接口自动化测试。这个自动化项目非常高效的保证了接口平台的稳定性,我持续维护了两年。

测试有时候必须跟着项目发展自己的技术,但也正是之前的编程基础和自动化的经验的积累,所以,才会很快的上手PHP接口自动化项目。

2018年我开始做全栈工程师,和团队一起从零开发内部管理平台,后端用Django框架设计接口,前端用vue.js框架设计页面,项目已经在整个公司得到应用。

这个阶段跨度有点大,但应了我前面的一些思路,当你掌握的更多的技术,那么你也会有更多的机会继续提升自己。

2019年从进入测试管理岗位,负责App团队的测试工作,并帮助团队搭建App自动化项目和测试平台。

0基础也可以学自动化测试吗?

答案当然是可以的,只要你想学,肯下功夫,就没什么学不会,学不好的,功夫不负有心人。1140267353,群内有免费自动化测试学习资料,测试工具,以及面试宝典。只要你有心,想学什么都不是阻挡你前进的问题

在适当的年龄,选择适当的岗位,尽量发挥好自己的优势。

自动化测试心得:

                   自动化测试没用的误解?:

                   自动化是测试工程师一个永恒的话题,关于有人经常问到我:

                   至于"自动化测试真的可以提高效率吗?我觉得不行”,我觉得这是对自动化测试意义的最大的误解。

                   一个知识比如自动化你觉‎得‎没有‎用,是因‎为你不‎会。而你不会的东西,往往是你的雷区

                   那我们为什么又要做自动化测试?我认为最大的意义在于,对测试人员的能力的固化。

                   脚本可以代表测试人员的测试方法,通过脚本就把在原来在人身上的能力,固化为组织的资产。

                   比如:造测试数据,跑大量数据库脚本,页面服务监控等

                   自动化测试脚本,能让不同的团队即使不懂这个功能的人,也可以通过测试脚本来分享这种能力,这才是自动化的意义。

这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。

“长江后浪推前浪,前浪死在沙滩上”,曾经一句让人会心一笑的调侃,而今变成了软件测试行业的真实写照。由于软件测试行业入门门槛低,薪资报酬高,不断有新鲜血液冲刷着软件测试行业的“前行者”们,给我们带来了非常大的压力。

那些入行几年,但是依然是功能测试的同学所面临的的压力可想而知。说到底,软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,提高软件测试“找bug”的能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。因此,现在大部分初级功能测试人员都在向自动化、性能、安全靠拢。

但是还是有不少的软件测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。

一切的迷茫都是因为想得太多而做的太少!每位软件测试行业从业者都能意识到目前自己面临的窘境,但能及时作出改变,顺应时代变化的人还是太少。多数人明明“泰山崩于前而面色如土”却只能眼睁睁看着自己被行业淘汰吗?

并不是,下面的软件测试工程师发展方向知识架构体系图,会告诉你该往哪里努力:

一、Linux必备知识
linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。

点击下方链接 有详细的Linux讲解:https://www.bilibili.com/video/BV1Zi4y1g7iS/

二、Shell脚本
掌握shell脚本,包括shell基础与应用、shell逻辑控制、shell逻辑函数等。

三、互联网程序原理

自动化必由之路:前端开发基础知识以及互联网网络必备知识。

四、Mysql数据库
软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。

全套数据库教程参考:https://www.bilibili.com/video/BV1ri4y1371z/

五、抓包工具

Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。

Fiddler抓包详解:https://www.bilibili.com/video/BV1FV411r73D/

六、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。

看我主页,主页有接口大全详解!

七、Web自动化测试Java&Pyhton
了解自动化的目的,熟练掌握testng&unittest自动化框架,以及断言与日志处理。

八、接口与手机自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用。

九、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。

十、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选对方向,努力爬坑吧!

想了解性能,安全,都可以加我群,关注我博客

上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以关注我们:1140267353, 群里面有各种软件测试资料和技术交流。还可以关注我的博客,每天都会有新的自动化测试知识点分享。

加油吧,测试员!路就在脚下,成功就在明天!

未来的你肯定会感谢现在拼命的自己!

  

猜你喜欢

转载自blog.csdn.net/PythonCS001/article/details/107433422