因为我一直在分享自动化测试技术,所以,时常被问到:
功能测试想转自动化,请问应该怎么入手?或者有哪些书推荐?
那么,接下来我就结合我的经历聊一聊我是如何在工作中做自动化测试的。
我的软件测试职业开始和大多数最普通的测试人员一样,一开始在一家幼儿教育平台的公司做软件测试,公司最开始只我人一位软件测试人员,没有任何流程和规范,但好在工作比较轻松,这就导致我有充足的时间学习各种测试技术和工具。
**当你认为工作很闲时,这正是你可以有更多的时间投入学习的时候,但是,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。**
当时,有一些机会在工作中做性能测试,于是,学会了使用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自动化项目和测试平台。
**在适当的年龄,选择适当的岗位,尽量发挥好自己的优势。**
我的自动化测试之路,一路走来都离不Python语言,因为较早的接触和使用Python语言,所以,我积累了大量基于Python语言做自动化测试的经验,这里我将这些经验录制成了《python自动化测试九章经》精品小课。
该课程从测试的各个方面为你整理了Python当前最热门的测试库和框架,帮你建立自己的自动化测试技术体系,让你在测试工作变得更加高效。