前言
由于各种原因,大部分测试人员,最开始接触都是纯功能界面测试,随着工作年限,会接触到一些常用测试工具,比如抓包,数据库,linux等。
长江后浪推前浪,前浪死在沙滩上”,曾经一句让人会心一笑的调侃,而今变成了软件测试行业的真实写照。由于软件测试行业入门门槛低,薪资报酬高,不断有新鲜血液冲刷着软件测试行业的“前行者”们,给我们带来了非常大的压力。
那些入行几年,但是依然是功能测试的同学所面临的的压力可想而知。说到底,软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,提高软件测试“找bug”的能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。因此,现在大部分初级功能测试人员都在向自动化、性能、安全靠拢。
一切的迷茫都是因为想得太多而做的太少!每位软件测试行业从业者都能意识到目前自己面临的窘境,但能及时作出改变,顺应时代变化的人还是太少。多数人明明“泰山崩于前而面色如土”却只能眼睁睁看着自己被行业淘汰吗?
正文
我大学学的计算机专业,有一定的编程基础。我的软件测试职业开始和大多数测试人员一样,一开始在一家电商公司做软件功能测试。我从事这个行业现在已有近十年了。有时候回顾过往一路走来所经历的风风雨雨,不禁感慨:自己的幸运、上级的赏识与同事间的帮助。
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语言做自动化测试的经验。在这里我以一个过来人的身份向正在迷茫,不知道方向的或者准备转行测试的兄弟朋友一些自己的建议。
在适当的年龄,选择适当的岗位,尽量发挥好自己的优势
如果你不知道学习什么编程语言,那么就根据项目的开发语言来,这也会有助于你对测试的bug的理解。
当你认为工作很闲时,这正是你可以有更多的时间投入学习的时候,但是,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。
掌握自动化工具的原理使用起来才能更加游刃有余,有一定编程基础更加容易掌握,而这也需要你有一定的编程基础的原因。
可以常去一些技术论坛、群。多和别人交流,探讨一些技术上的问题。在这里向大家推荐(642830685)、群,有技术大牛解惑答疑
现在网络飞速发展,产品更新迭代快速,技术日新月异。这也在倒逼我们不断学习,一不留神就会被淘汰
我也整理了测试方向所需要学习与熟练掌握的工具:
1、Web端测试:浏览器开发者工具使用,network、console控制台、兼容性测试
2、移动端app测试:(安卓/IOS/ipad端)测试全流程,兼容性测试、稳定性测试,流畅度测试、adb常用命令
3、服务端:掌握接口测试、抓包工具使用、如何校验接口的完整性
4、Linux:常用shell命令,查看错误日志
5、数据库测试:熟悉数据库表结构,掌握常用增删改查sql语句,便于分析测试结果。
6、SVN/git版本控制工具 、postman、jenkins应用打包和构建
换句话说,如果你拿到一个新的产品测试功能,你如果能通过数据库的表结构,和分析系统日志来快速的熟悉产品业务,说明你的测试思维,功能测试能力已经非常优秀了。当时我掌握了以上技能点,在公司将工作效率提高了,相对比较轻松,也更加得对未来充满自信
自动测试给我带来的收益不仅仅是待遇的提高,包括中间做自动化测试遇到的坑,解决问题的思路,以及技术的扩展,增长了见识。最终形成了一套知识框架体系,得到一套有效落地的自动化测试方案。
自动化测试心得:
自动化测试没用的误解?:
自动化是测试工程师一个永恒的话题,关于有人经常问到我:
至于"自动化测试真的可以提高效率吗?我觉得不行”,我觉得这是对自动化测试意义的最大的误解。
一个知识比如自动化你觉得没有用,是因为你不会。而你不会的东西,往往是你的雷区
那我们为什么又要做自动化测试?我认为最大的意义在于,对测试人员的能力的固化。
脚本可以代表测试人员的测试方法,通过脚本就把在原来在人身上的能力,固化为组织的资产。
比如:造测试数据,跑大量数据库脚本,页面服务监控等
自动化测试脚本,能让不同的团队即使不懂这个功能的人,也可以通过测试脚本来分享这种能力,这才是自动化的意义。
当你做到能自己独立搭建框架、二次封装、开发时,你就超越了大部分人,你已经在行业处于高端地位。也有底气跟任何一家公司谈条件。
所以,加油吧,向着你想象中的样子出发。
来源:oschina
链接:https://my.oschina.net/u/4415996/blog/4437082