点击上方关注 “终端研发部”
设为“星标”,和你一起掌握更多数据库知识
首发于我的知乎:终端研发部
作为一名测试工程师,包括身边的朋友做测试开发都是野路子出家,前几年觉得入门低,薪资可观,就今年的行情而言,人多或少,都不太乐观!当你选择进军测试的时候,你就应该想过自己以后如何发展?我以前也在总在给自己找理由:“等我做几年测试之后再说,是走技术路线还是走管理路线看自己的情况再定!”结果直到自己30岁被裁了才知,做一个职业规划多么的重要!
所以,对于测试人员而言,个人觉得有2个发展方向:一是技术,二是管理。
先说一下管理
在大城市中,管理这个方向会逐渐的扁平化。高层管理会越来越少。一线管理会越来越多。
测试工程师的管理路线:初级测试工程师>测试组长>测试经理>项目经理/产品经理>产品总监
因此,你想去做管理,需要的很强的管理能力, 需要对产品测试全流程负责,需要在整个过程中,分配不同的测试任务,需要协调开发、维护、市场、服务人员,项目经理, 通过完成公司业务的目标,再次过程中,一定要懂得适当的去留!
另外在这个维度,你需要提高自己的执行力和沟通能力,所谓的执行力,说白了就是“领导要你做的事情你做到没有”,就这么简单。作中的执行力是第一位的,没有这个,其他的做得再好都是白搭,这是职场中的【1】,没有这个【1】,后面的【0】再多,也毫无意义,都是零而已。
对于沟通能力,一个良好的沟通能力,是管理中不可缺少的一个技能!
对于技术而言
在技术方面要能解决团队测试中遇到的困难、难题,不断提升团队的测试能力。
从刚开始的初级级测试工程师,手工功能测试,包括搭建测试环境、执行测试用例提交缺陷报告、编写测试文档 到现在的高级测试工程师,性能、接口、app等自动化测试、熟练编写测试脚本、编写测试框架,再到测试专家
因此,我觉得测试工程师对于技术而言,发展路线是:初级测试工程师>中级测试工程师>高级测试工程师>测试专家>测试总监
技术方向需要掌握测试开发技术栈,包括自动化测试、性能测试、安全测试、运维能力、开发能力、计算机基础知识等,需要精通某个领域。
自己职业发展时记住一定要细于精,要么你在这个岗位的某个领域或某些相关联的领域里深耕细作下去,成为某个领域的专家和权威;要么你就在这个岗位上先精通一个领域,再延伸拓展,去发展你的广度。
自动化测试,你需要做好一下几点
工具的使用
最初的学习只需要掌握几种常用的工具,比如ALM、禅宗、单元测试工具、
后面你需要学会更加强大的工具:
Fiddler、Charles:抓取接口请求数据包,协助定位问题及接口测试
禅道、Jira:管理测试用例和缺陷
Navicat:数据库连接客户端
Postman、JMete、Junit、Testng、Selenium、Appium等。
编程语言的选择
根据目前的市场来看,对于测试人员来说要想学习一门编程语言的话,建议选择Java或者Python。
在初级阶段,你需要学习 Python 的基本语法和常用库,掌握 Python 的基本编程思想和技能。以下是一些学习资源和技术栈,可以帮助你入门 Python。
Java语言有一定的难度,但是对于开发来说Java是市场体量最大的,所以学习Java方便实现对后台系统进行白盒测试和性能测试
针对一门编程语言的学习步骤如下,以Python语言为例:
1.学习Python的基础语法:变量、标识符、流程控制、数据序列、函数
2.学习面向对象编程:类、对象、封装、继承、多态
3.学习一些框架用来解决具体的问题
学习测试框架
一个真正的高级工程师,往往都掌握着高级的测试技能,一定要去需要掌握测试框架的,如基于Django框架接口开发、除此之外,还有几个不错的自动化测试框架
1、框架基于Python机器人框架Robot
2、基于Node.js的自动化测试框架,网络驱动(WebDriverIO)
3、自动化任何消息传递协议或数据格式的集成测试的开源框架Citrus
4、具有跨平台和跨浏览器,并且支持多种语言的开源框架Selenium
5、跨平台的行为驱动开发(BDD)工具Cucumber
此外,还有Gauge、Serenity、 Carina、ZTF
如果是希望在测试自动化工作中使用python测试自动化框架,Robot框架是最佳选择。
当然你也可以借助一些软件测试书籍,再结合自己的兴趣、爱好选择最适合自己的方法来
软件测试入门书籍推荐
需要学习的书籍
初级阶段
1.《软件测试的艺术》
2. 《软件测试导论》
3. 《软件测试之道》
4.《白盒测试》
5. 《黑盒测试与白盒测试》
高级阶段
《Google软件测试之道》
《Python编程:从入门到实践》
《鸟哥的Linux私房菜》
《Web安全测试》
《大话移动APP测试:Android与 iOS应用测试指南》
《接口自动化测试持续集成》
《全栈性能测试修炼宝典JMeter实战》
必须要掌握的数据库
目前大部分应用软件都离不开数据库,熟练掌握SQL Server、Oracle、DB2等一种或多种数据库系统的使用,熟悉使用SQL语言,也是一个测试工程师在技术上必备能力
另外,在技术上,你除了要掌握和熟练使用当前主流的功能、性能自动化测试工具以及测试管理工具,具备编写测试脚本、进行功能和性能测试自动化测试的能力,更重要的是要了解现在AICG对测试 的影响,AI大语言模型技术正在改变软件测试的点点滴滴。
总结
于哥觉得,测试是做管理还是技术,根本不用选择,毕竟小孩子才是去做选择题,毕竟管理和技术随着职业发展,是能相互转换的,一个人的经验来看,做了管理也不能放弃技术,做了技术也需要适当管理。两者并行存在~

回复 【idea激活】即可获得idea的激活方式
回复 【Java】获取java相关的视频教程和资料
回复 【SpringCloud】获取SpringCloud相关多的学习资料
回复 【python】获取全套0基础Python知识手册
回复 【2020】获取2020java相关面试题教程
回复 【加群】即可加入终端研发部相关的技术交流群
阅读更多
用 Spring 的 BeanUtils 前,建议你先了解这几个坑!
在华为鸿蒙 OS 上尝鲜,我的第一个“hello world”,起飞!
一款vue编写的功能强大的swagger-ui,有点秀(附开源地址)
相信自己,没有做不到的,只有想不到的
在这里获得的不仅仅是技术!


喜欢就给个“在看”
本文探讨了测试工程师的职业发展路径,分为技术方向(包括自动化测试、编程语言、测试框架)和管理方向,强调了执行力、沟通能力和技术专精的重要性。同时推荐了相关学习资源和书籍。
2618

被折叠的 条评论
为什么被折叠?



