10年 “自动化测试” 老鸟,写给 3-5 年测试员的几点建议,满满硬货指导
Posted 软件测试凡哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10年 “自动化测试” 老鸟,写给 3-5 年测试员的几点建议,满满硬货指导相关的知识,希望对你有一定的参考价值。
从 11年毕业到现在也从业10年了,普通本科毕业,现在一家互联网公司做测试开发,摸爬打滚,坑坑洼洼也经历了不少。思绪很久决定还是写下这篇,希望对后进的小伙子少走一点弯路。
很多人把职场想得太美好,其实不然。如果你没有规划好,你就会难免遇到各种各样的问题:工作不开心;没有前进的动力;工作不是自己想像的那么好;自己的才能无法发挥;看到以前的同学待遇如何如何,便受不了刺激,急切地想跳槽;当初为了生存而找的工作,根本就不适合自己……
我刚入行的时候每天做的也是最基础的工作,但是随着时间的消磨,我产生了对自我和岗位价值和意义的困惑。一是感觉自己在浪费时间,另一个就是做了快2年的测试,感觉每天过得浑浑噩噩,薪资也从不见涨,岗位也一直得不到提升,我身边的许多同事要么升职加薪,要么跳槽去了更好的公司工作,特别觉得我自己碌碌无为。
我开始思考怎么去改变现状。当时最简单的想法是挤出时间去学习各种测试技术和工具,提高自己的价值,也就是核心竞争力。后来被测试组长偶然发现,给了我一些资源和文档,建议我去研究下自动化测试。当时来说,我还没有接触过自动化测试,但是通过组长给我的资源,让我认识到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。当然也能带来收入的高度
那时候正是脚本语言开始流行起来,因为当时项目的原因跟Python结缘,开始用Python语言和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。分享是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少反馈,不管是做内部分享或者是博客都是很好的反馈机制。当然,也很有成就感。
到后来转型自动化测试,再到测试开发,不知不觉间已经有了8年多测试的经验,月薪也是突破了30K的门槛,在美团测试开发框架组呆过,搭建过美团platuo测试框架,thrift测试框架,自动化测试平台,这也是让我熟悉了python3,vue,陆陆续续也是在多家公司从0到1搭建过自动化测试框架,保障过亿级流量服务的质量工作。
这两天和朋友谈到软件测试的行业趋势,随着转行以及毕业的大学生疯狂涌入软件测试行业。想要获得更好的待遇和机会,不断掌握新的技能,提高业务能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。不论是面试哪个级别的测试工程师,面试官都会问一“会编程吗?有没有做过自动化测试?”,所以还停留在功能测试层面,不去提升技术,还要面临长江后浪推前浪的压力。就只能接受窘境,最后甚至是面临淘汰。更别说升值加薪了
所以如何从功能测试到自动化测试,达到技术提升的目的,是很多初级测试人必经的一个阶段。作为一个过来人,对学习过程中的困难深有体会。所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、自学方法、心得及踩过的一些坑,记录下来。一是更好的梳理自己,二也是能做到更好的社区分享。
自动化测试学习路线:
自动化测试工具使用->Python编程->测试框架->测试框架开发
一、自动化测试工具使用
首先是测试工具的使用,比如说我要去进行web自动化是不是我要去进行自动化测试环境搭建,环境工具。比如说去安装Python安装,这些环境安装。
至于AppUI自动化,除了上面的一些技能还要会比如说adb的命令,app的环境,app的压力测试之类的。
接口测试其实也是一种功能测试,但是它并不等于功能测试,因为对于接口测试的话也分为
- 接口功能测试(需要借助工具进行测试);
- 接口压力测试;
- 接口安全性测试。
而且接口的功能测试是需要借助工具来完成,工具的话就有比如:Postman、Jmeter;抓包的工具fiddler等。
软件相关的工具安装包,都可以在群(735745871),有需要可以自行下载!
二、Python编程语言
编程语言的能力会决定你测试技术的深度,我当时学的是Python语言,了解编程的都知道Python对新人比较友好,相比其他编程语言来说会比较简单。
在网上找了很多的学习资料和学习视频,但是学起来就会遇到很多问题,没有人能帮我解答,还有很多编程的相关知识,也不太懂,自己一个人学起来很费劲的。容易从入门到放弃
所以也是到处去找那种软件测试的学习社区,有幸遇到了一位测试行业的技术大佬,进到了一个很不错的学习交流群(735745871),里面有很多人都和我一样想要提升,所以都在一起学习,有什么问题都会在群里相互讨论、技术交流,这也极大的提高了学习效率。
Python是软件测试进阶的第一步,我们需要掌握Python编程语法,具有一定的编码能力,为基础自动化测试做准备,其次还要掌握Python在自动化中的应用、掌握代码的函数封装、类封装的技能。
三、测试框架
我们还要懂测试框架,Selenium,appium,unittest,pytest,这都是一些开源的框架你至少要懂中间的一到两个。
比如说做WebUI自动化的话,我要懂Selenium+python;做AppUI自动化的话,我要懂appium+python。
如果是进行接口测试的话肯定也是需要去做一个接口的框架,比如:requests。
✪ 测试框架开发
一般一个框架的诞生过程会经过三个阶段:
1、学会使用
大致了解框架的使用,可以去看框架的官方文档,一般里面都有详细的介绍,安装之后便可以开始尝试直接拿它来做项目。
2、阅读源码
想要提升自己的能力、达到进阶的效果,当然不能只局限于框架的使用层面上。需要自己多花几周甚至几个月的时间去阅读框架的源码,这样有助于框架使用过程的各种问题的处理和排查。
3、自研框架
自研框架的要求就比较高,一般都是企业对性能有极高的要求,所有的开源或商业的框架都无法满足公司需求才会走上自研的道路。我们可以尝试分析整个框架性能瓶颈,用更高性能的语言替换关键模块,或用寻找、研究更好的算法去实现关键功能。
关于这些知识点的掌握肯定是需要自己多花时间和精力的,关于这些学习资料和学习教程你可以在我的软件测试交流群(321255410)里获取,还很多录制的视频教程,大佬的讲解非常详细,能够帮助你快速理解与掌握。
根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。
如果说你在自动化测试工程师阶段还想往性能测试方面去进行发展,要求就会更多了,其实性能也是一种自动化。所以第一个你也必须要掌握一门编程语言,第二个语言脚本,第三个指标,第四个调优。
可能对你帮助的学习资料
我的软件测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了《软件测试化测试工程师学习路线》大纲,也整理了不少【网盘学习资源】,需要的朋友可以点击文末小卡片获取网盘链接。以下是软件测试/自动化测试等相关自学视频和相关资料,希望会给你带来帮助和方向。
完整版文档获取方式:
1、【留言:软件测试学习资料】
2、点击下方小卡片入群 免费零取
10年测试老鸟,写给 1-3 年程序员的几点建议,满满硬货指导
从 毕业到现在也从业八年了,普通本科毕业,现在一家软件测试公司担任测试 部门总监,摸爬打滚,坑坑洼洼也经历了不少。思绪很久决定还是写下这篇,希望对后进的小伙子少走一点弯路。
很多人把职场想得太美好,其实不然。如果你没有规划好,你就会难免遇到各种各样的问题:工作不开心;没有前进的动力;工作不是自己想像的那么好;自己的才能无法发挥;看到以前的同学待遇如何如何,便受不了刺激,急切地想跳槽;当初为了生存而找的工作,根本就不适合自己……
这些问题通常会在步入职场的 1-3 年之内最明显(3 年之后之所以不明显,是因为你已经被现实折磨得太久了,已经被种种不平现象同化了,因此也就习惯了。你曾经的种种抱负被现实碾得粉碎。于是,你也从一个志向远大的年轻人一下子变成了一个碌碌无为、甘于平庸、成天为了生计而奔走的普通打工者)。如果不及早解决这些问题,那么,你就会荒废这 3 年的时间(有的人可能会更长),而对于一个职场新人来说,这 3 年至关重要,是锻炼能力、积累资本的黄金 3 年!一旦错过,则要花费更多的时间,从头再来,重新弥补!更有甚者,可能一辈子都无法弥补!这绝对不是危言耸听!
为什么要清楚自己的目标?因为,有了目标,才有行动的指南。知道自己想干什么,喜欢干什么,这才是你前进的最终动力。工作不开心、动力不足、盲目跳槽的最根本原因是职业目标不清晰。
作为 测试员头三年更是如此。清楚自己的定位,规划好自己的前进路线,这是将是你超越其他人的最快方式。当然学习是枯燥的,这也使得大部分人会普通,坚持不下去,但是坚持下去的人那都是优秀的人,在今后的日子里他们的优势会更加的明显。这不可否认,业界大牛都不是平白冒出来的,都是通过自身努力拼出来的。
作为前辈我不确定我现在给出的一定百分百正确,但至少能让你少走一点弯路。
参加工作 0-1 年之间,测试员必须要做得事儿
我按照薪资的不同大致划分成3个档位:
- 月薪5-9k:从零基础入门到能够找到工作
- 月薪15-25k:测试在职搞定性能测试和自动化测试
- 年薪30W+:搞定测试开发,进入一线大厂
第一阶段:月薪5-9k,刚刚入行,先学会功能测试!
可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:
- 软件测试的定义、生命周期、工作流程、需求分析;
- 测试用例的设计、编写、评审;
- bug的基本知识以及禅道的使用;
- 测试计划、测试报告的编写;
- SVN、Git版本控制工具的使用;
搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:
- 发布项目进行立项,建立项目组进行分工;
- 需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
- 整理测试点,编写测试用例,然后进行用例评审;
- 执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
- 分析、总结、编写测试报告;
这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:
- Linux、数据库、接口测试、APP测试等
嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
会了以上这些内容,只能说是能够获得一份工作,但是现在行业招人的要求原来越高,搞定自动化或者性能测试,才能拿到10k以上的月薪。
第二阶段:月薪15-25k,搞定性能、自动化测试,独当一面!
先说性能测试,行业内是有很多误区和痛点的:
- 只测不调,无法给出研发和运维人员执行建议
- 无法定位问题,缺乏清晰的逻辑和数据证明价值
- 性能测试工具≠性能测试
- 性能测试技术体系落后(loadrunner),急需拥抱开源软件
如果要搞定这些问题,那么性能测试你得这么去学:
- 性能测试的概念和流程:常见问题剖析、流行工具、方案设计
- 性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压-测与任务调度;
- 性能监控:性能监控体系与监控数据采集
- 性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
- 性能分析与报告:jvm调试与系统调试;性能瓶颈分析
性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
搞定Python或者Java语言,建议先从Python入手,先学习Python的基本语法等。
- web端的自动化测试:selenium安装、录制、处理;web控件、JavaScript脚本、PO模式;
- 移动端APP自动化测试:appium使用、录制、元素定位方法;APP控件定位、交互,参数化用例;appium问题定位分析、源码分析、二次封装;
- 服务端接口自动化测试:接口自动化测试框架request;接口请求构造、断言;json/xml请求、响应断言;headcookie处理、认证体系;
- 第三阶段:月薪30k+,对标大厂,冲击测试开发岗位!
性能和自动化玩精通,月薪在10k+甚至是20k+都是很轻松的,那如何冲击30k+呢,这就要求往技术专家或者管理层去发展了,但是即使做管理,也必要要求技术水平够硬?说做管理不需要技术精通?你试试底下的人会不会反你?
在测试开发的路线上,就要求更加专精,更加全面:
完善测试技术体系:Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础:
web自动化测试:selenium测试框架;PageObject设计模式、原则、演练;
APP自动化测试:Android自动化测试框架;appium高级应用于原理剖析;APP自动化测试实战;测试框架封装改造;ios自动化测试;
移动专项测试:健壮性测试、弱网测试、崩溃检测、耗电量分析等;移动端性能测试;移动端安全测试;
接口自动化测试:接口协议与抓包、代理技术与mock;接口自动化测试框架、HTTPrunner测试框架;dubbo接口自动化测试;接口管理工具swagger、接口安全测试
docker容器技术:docker容器、docker镜像;
持续集成/持续交付/devops:jenkins持续集成;Jenkins持续交付;
总结忠告
努力了不一定有回报,但不努力是一定不会得到回报的。人类的幸福和快乐在于奋斗,而最有价值的是为理想而奋斗。要努力,不放弃,为了自己的理想,为了美好的明天。有梦就去追啊,愣在原地做什么。无论明日,有多落魄,至少今天,没有蹉跎。 生前何必久睡,死后自会长眠。
最后,自学软件测试学习方法送上:
这些资料,还很多录制的视频教程,对于做软件测试的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。
以上是关于10年 “自动化测试” 老鸟,写给 3-5 年测试员的几点建议,满满硬货指导的主要内容,如果未能解决你的问题,请参考以下文章
在美团呆了7年的测试老鸟,写给 3-5 年测试员的几点建议.....
10年测试老鸟,写给 1-3 年程序员的几点建议,满满硬货指导
一个35岁+老鸟的10年测试人生,进阶高薪测试必备这5项技能