因为我一直在分享自动化测试技术,所以,时常被问到:
功能测试想转自动化,请问应该怎么入手?或者有哪些书推荐?
那么,接下来我就结合自己的经历聊一聊我是如何在工作中做自动化测试的。
测试新人
我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做了一段时间,熟悉产品的业务流程以及熟练测试工作流程规范之后,效率提高了,工作比较轻松,这样我就有充足的时间学习各种测试技术和工具。
当你认为工作很闲的时候,这正是你可以有更多的时间投入学习的时候,但是,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。
选择Python
最初用的是Java语言,学习各种自动化测试技术,当时觉得自动化测试特别有意思,而且挺有趣,激发了我浓厚的兴趣。后来发现Python语言越来越火,而且我发现Python来做自动化和对于编程基础比较薄弱的测试工程师来说特别的合适,Python还能用来爬虫,用Python还能写一些定时脚本,数据库脚本,效率非常高。
用Python语言和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。
交流是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少了反馈,不管是做内部分享或者是社群交流都是很好的反馈机制。
2016年的时候,由于项目的原因,开始使用Robot Framework测试框架,正因为有Python的基础,所以很快就理解了Robot Framework框架的工作原理,并可以根据项目的需要开发系统关键字。
掌握自动化工具的原理使用起来才会更加游刃有余,而这也需要你有一定的编程基础的原因。
后来随着移动App越来越流行,趁着换工作的间隙,我开始学习了一个月的appium自动化工具,但工作中用不到后来就没在继续了。
后来,我开始针对另一个社区项目编写Web UI自动化测试,前后做了好几个月,积累了一些经验,开始尝试设计Web自动化框架,当时主要还是针对Selenium API的封装。
自动化测试
当时由于公司的规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界有更多机会,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试的工作。
后来的机缘巧合,朋友推荐我去一家金融公司做测试开发,负责开发公司定制化的测试质量平台。
这对于我来说是一个挑战,新的领域,测试开发在一线城市非常吃香。当时的待遇比初、中级开发工程师要高。
到岗后就是顶住压力,不断的系统学习测试开发技能,而且学以致用。技术架构采用的是前后端分享,包括Python的后端开发框架Flask,前端框架vue,elementUI组件等。
坚持做了几年的测试开发,真实的体会到测试开发等于测试全周期的工作,包括产品功能业务熟悉,测试平台的需求设计,平台前后端研发,平台的自测,给到测试部门几十号人的推广、培训产品使用、运营。
所以测试开发的大前提是功能测试经验丰富,接口自动化,UI自动化非常熟练,不然很难以开展测试开发工作。
如果你也在往自动化测试开发方向发展
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友花了一段时间整理编写了下面的《软件测试工程师发展规划路线》,也整理了不少【教程资源】,打包好了分享在群里面。群号:587968587希望会给你带来帮助和方向
《软件测试工程师发展规划路线》
一、测试基础
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
四、互联网程序原理
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
五、MySQL数据库
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
七、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心
十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
测试是一个软件上线的「最后一道屏障」,测试人员的职责就是要尽可能多地找到潜在的缺陷。但不论能力多强的测试工程师,都不可能保证上线百分百没有 bug 。
所以,只有“知其然知其所以然”,深入理解当下主流的测试技术,才能高效完成高质量的测试,交付合格的软件。
我也为大家整理了超全学习资料,加入QQ群:587968587,或者关注微信公众号:测试员诗诗。免费获取上方网盘所有资源及面试刷题小程序!还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Pvthon编程、Web自动化测试、APP自动化试、接口自动化测试,测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
事必有法,然后有成,最后祝大家早只拿到满意的offer~
如果你不想一个人野蛮生长,找不到完整的资源,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。