最近,我们讨论了软件测试工程的的分级,大家都贡献了自己的想法。
对于大家来说,软件测试人的分级其实也代表了我们的进阶方向,职业发展。总体来说,测试工程师未来发展有三个方向:
技术精英
行业专家
管理大师
根据自己的兴趣爱好,测试工程师可以从以下几个方向进行选择,今天我们先来讲技术路线。
如果你对测试技术很感兴趣,可以选择技术精英方向:初级测试工程师--中级测试工程师--高级测试工程师(测试架构师)--测试专家(资深测试架构师)。
晋升方法
如果你在大厂或中型企业,企业有相关晋升制度,与人事沟通好,如果满足晋升条件(各企业晋升制度略有差异),向领导表达自己的意愿,得到领导肯定后,提出申请,走企业内部的晋升流程。
如果你在小企业,且没有完善的晋升制度,根据招聘要求提前准备,然后跳槽实现晋升路线。
晋升思路
明白了晋升路线,我们就来讲讲,从初级测试工程师到测试专家,分别要掌握哪些技能,还有什么技巧吧~
初级测试工程师
测试基础
学习内容
①职业介绍:IT公司和互联网公司各岗位的工作职责,如开发、测试、产品、设计、项目经理等;
②软件流程:研发模型、研发流程、版本迭代、项目需求、需求文档、测试流程、上线流程等;
③测试设计:测试计划、测试方法、测试用例、测试管理工具;
④BUG:定义、分类、生命周期。
学习程度
能够理解并说出这些概念,能自己组织语言并讲清楚。
学习方法
网络搜索为主。
测试类型
功能测试
亦称黑盒测试,分app测试(手机上的应用程序)、web测试(浏览器访问的网页)、接口测试(后端服务器的测试)三种,根据公司要求,会其中一种,对另外两种了解,会根据需求文档编写测试用例,会简单的接口测试。
性能测试
了解常用性能测试工具,比如JMeter、LoadRunner等,会简单的操作。
自动化测试
具备编码能力(以开发app自动化、web自动化、接口自动化、PC自动化、数据自动化、各类自动化平台项目为主),至少了解一门编程语言,了解常用的自动化框架。
其它硬技能
编码能力
了解基本编程语法,非科班专业的建议学python。
数据库
能设置数据库配置并访问数据库,常用的增删查改sql语句。
其他技术
如多线程、Docker、k8s、中间件mq、nginx等,对初级测试工程师无要求。
软技能
测试技能决定了我们的测试职业发展,而软技能决定我们的整个职业生涯。
项目相关
干好本职测试工作,不要有太多想法,不断学习,努力进步。
职场相关
个人能力:以完成领导安排的任务为主,处于能力不断提升阶段;
解决问题能力:有解决问题思维,但独立解决问题能力弱;
做事风格:因为会的东西不多,比较谦逊,努力完成领导安排的任务。
中级测试工程师
测试基础
学习内容
①职业介绍:IT公司和互联网公司各岗位的工作职责,如开发、测试、产品、设计、项目经理等;
②软件流程:研发模型、研发流程、版本迭代、项目需求、需求文档、测试流程、上线流程等;
③测试设计:测试计划、测试方法、测试用例、测试管理工具;
④BUG:分类、生命周期。
学习程度
完全理解,能够在工作中实践基础,明确概念的真正意义,有自己的反思和总结。
学习方法
阅读测试书籍或参加测试培训课程。
测试类型
功能测试
亦称黑盒测试,分app测试(手机上的应用程序)、web测试(浏览器访问的网页)、接口测试(后端服务器的测试)三种都会;熟悉系统的业务和复杂接口测试,熟悉移动端应用测试的崩溃场景。
性能测试
熟练使用主流的性能测试工具,如JMeter、LoadRunner等,有相关性能压测经验;
了解服务架构设计;
熟练编写压测脚本,执行性能脚本,进行性能分析,并协助开发调优。
自动化测试
具备编码能力(以开发app自动化、web自动化、接口自动化、PC自动化、数据自动化、各类自动化平台项目为主),掌握一种或两种编程语言;
根据测试用例熟练编写自动化脚本,能够深入到自动化测试框架的方法层。
其它硬技能
编码能力
独立或部分独立实现项目的自动化编码。
数据库
子查询、分表查询、存储过程、索引、redis。
其他技术
如多线程、Docker、k8s、中间件mq、nginx等,能够根据公司要求,懂一些测试方法,对于出现的相关bug,了解问题所在。
软技能
测试技能决定了我们的测试职业发展,而软技能决定我们的整个职业生涯。
项目相关
熟悉测试业务,如果一直待在某行业,对该行业有了解和认识;除正常工作,开始思考如何提升自己,如提升工作效率、提升文档写作能力和个人总结(比如,线上事故引发的验收测试总结),学会边提bug边思考。
职场相关
个人能力:能够独立思考,对领导安排的任务游刃有余,能够持续学习。
解决问题能力:可以独立解决难点不大的问题、稍微有些风险意识。
做事风格:具备一定的的分析能力、执行力强。
高级测试工程师
测试基础
学习内容
①职业介绍:IT公司和互联网公司各岗位的工作职责,如开发、测试、产品、设计、项目经理等;
②软件流程:研发模型、研发流程、版本迭代、项目需求、需求文档、测试流程、上线流程等;
③测试设计:测试计划、测试方法、测试用例、测试管理工具;
④BUG:生命周期。
学习程度
吃透,随着思维和技能的提升,起于基础,又归于基础,以解决问题为导向。
学习方法
阅读相关书籍或浏览测试行业网站,学习最新测试技术。
测试类型
功能测试
亦称黑盒测试,分app测试(手机上的应用程序)、web测试(浏览器访问的网页)、接口测试(后端服务器的测试)三种都精通;
业务精英或者业务专家,可对产品提出需求漏洞,并给出解决方案;
有全局意识,风险意识和主人翁意识,保证需求文档的正确性;
能逆向思维,破坏性思维,减少线上需求缺陷。
性能测试
能分析性能瓶颈,善于分析和解决技术问题,具备良好的故障排除能力,能够处理性能测试过程中遇到的各种技术难题。熟悉常见数据库管理系统(如MySQL等)和性能调优方法。
自动化测试
具备编码能力(以开发app自动化、web自动化、接口自动化、PC自动化、数据自动化、各类自动化平台项目为主),掌握各类开发技术,充分了解各编码语言、各自动化框架的优缺点,能够选择适合项目的自动化框架,深入到自动化测试的架构层,具备框架开发能力;能独立承担中大型自动化测试项目。
其它硬技能
编码能力
独立完成多个复杂项目的自动化框架搭建;熟悉常见架构和分布式系统,能实现后端服务,具备全栈开发能力。
数据库
搭建数据库服务,批量造测试数据,优化sql,与数据库相关的问题排查。
其他技术
如多线程、Docker、k8s、中间件mq、nginx等,熟练掌握各类技术,知道其原理,上手测试得心应手。
软技能
测试技能决定了我们的测试职业发展,而软技能决定我们的整个职业生涯。
项目相关
站在用户角度测试,吃透业务,吃透行业,吃透测试的本质,独当一面,输出并分享。
职场相关
个人能力:能够独立思考,逻辑思维能力强,持续学习。
解决问题能力:有解决问题思维、有风险意识。
做事风格:有较强的分析能力、执行力、沟通能力和团队协作能力。
测试专家
测试基础
学习内容
①职业介绍:IT公司和互联网公司各岗位的工作职责,如开发、测试、产品、设计、项目经理等;
②软件流程:研发模型、研发流程、版本迭代、项目需求、需求文档、测试流程、上线流程等;
③测试设计:测试计划、测试方法、测试用例、测试管理工具;
④BUG:生命周期。
学习程度
以不变应万变,已达”修仙”程度。
学习方法
浏览国内外专业网站、参与测试开发社团持续学习和进修。
测试类型
功能测试
亦称黑盒测试,分app测试(手机上的应用程序)、web测试(浏览器访问的网页)、接口测试(后端服务器的测试)三种。
测试专家参与业务、技术方向把控,决策项目发展方向。
性能测试
懂架构、会调优,具备压力测试和容量规划的知识和经验,能够根据系统需求和预期负载,评估系统的容量,并制定相应的扩展和优化方案。
把控性能测试策略、指导性能测试技术、制定性能优化方案等。
自动化测试
具备编码能力(以开发app自动化、web自动化、接口自动化、PC自动化、数据自动化、各类自动化平台项目为主),熟悉掌握各自动化框架的优缺点,能根据项目特点进行自动化技术选型,根据项目需求开发自动化测试平台、效能平台。
能带领自动化测试工程师完成大型自动化测试项目。
其它硬技能
编码能力
带领团队完成多个复杂项目的自动化搭建。对于他们而言,编程语言(跟汉语一样)只是一种语言,思路是一样的,只是存在语法的细微差异而已。
数据库
熟悉常见数据库的内部结构;能够根据项目特点和数据库系统特点,给出项目数据库选择的建设性意见。
其他技术
如多线程、Docker、k8s、中间件mq、nginx等,能够根据需要研发各种技术,提高测试工程师的工作效率和解决测试工程师的工作瓶颈。
软技能
测试技能决定了我们的测试职业发展,而软技能决定我们的整个职业生涯。
项目相关
把控项目进度、降低项目成本,提高项目绩效,挖掘更多项目、把握项目方向与盈亏责任等。
职场相关
个人能力:具有创新精神,乐于分享,带领测试团队完成测试技术难题攻克,逻辑思维能力强,持续学习。
解决问题能力:有解决问题能力强、有强烈的风险意识。
做事风格:有很强的分析能力、技术攻克能力和团队协作能力。
文末了:
可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。同时我邀请你进入我们的软件测试学习交流平台,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,了解测试行业的最新趋势,助你快速进阶Python自动化测试/测试开发,稳住当前职位同时走向高薪之路。