50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

软件测试人员的职业发展

  • 2020-09-18
  • 本文字数:3268 字

    阅读完需:约 11 分钟

软件测试人员的职业发展

在《关于软件质量,大家都在关注什么》一文中,我们了解到软件测试领域新的关键趋势主要体现在以下几个方面:


  • AI 的发展与软件测试

  • 敏捷与 DevOps

  • 自动化测试

  • 环境和数据

  • 成本与效能



在这样的趋势下,测试人员的职业发展之路有什么变化呢?我们先来看看测试人员的技术发展方向有哪些。

技术方向

基于前面提到的新趋势,测试人员的职责由单一的测试软件系统是否工作、是否满足业务需求变得更加多样化,测试人员可以全流程参与软件开发,让测试活动贯穿软件开发整个生命周期。因此,测试人员的职业发展技术方向有:


  • 敏捷测试专家

  • 高级测试开发专家

  • 专项测试专家

  • QAOps 专家

1. 敏捷测试专家

敏捷测试强调的是尽早测试和频繁测试,测试人员需要能够从需求分析阶段开始介入,全流程参与,跟整个团队一起实现团队为质量负责。对敏捷测试专家的技能要求有:


领域测试能力: 测试人员需要丰富的业务知识、较强的业务敏感度和业务理解能力,熟悉各种不同类型的业务模式,包括新兴业务 IoT、智能服务、区块链等,能够制定相应的测试策略,有效协助团队做好质量内建,实现交付价值最大化。


自动化测试能力: 自动化测试是敏捷开展的必要条件,自动化测试技能是测试人员的必备技能。成为敏捷测试专家,要求测试人员了解不同的自动化测试框架的优缺点,能够指导项目自动化工具的选型;了解测试分层的思想,能够帮助团队制定合适的自动化测试策略;能够实现业务功能层的自动化测试,能够跟开发人员一起参与底层自动化测试(接口测试、单元测试等)的评审工作;了解持续集成工具,能够在持续集成流水线上配置和运行自动化测试。


沟通协调能力: 敏捷测试要求团队为质量负责,测试人员作为主力,需要承担起质量的分析者和协调者的角色,要求有很好的跟不同角色沟通和协调团队合作的能力。

2. 高级测试开发专家

高级测试开发专家的必备技能要求有高级自动化测试、白盒测试、开发和平台构建能力,要求有很强的测试代码编写能力,能够自行开发自动化测试工具、搭建自动化测试框架、构建自动化测试平台和服务。


同时,最好还有 AI 应用的基础算法应用能力和自然语言处理技能,需要了解和掌握 AI 相关知识,以及 AI 知识在测试中的应用,以帮助实现自动化测试的智能化。

3. 专项测试专家

专项测试技能集包括安全、性能等跨功能测试技能,需要有扎实的计算机基础知识,了解安全问题的类型、安全测试工具的优缺点,能够提供安全测试解决方案;熟悉性能影响因素、性能测试关注点以及提供性能调优方案等。


专项测试技能也包括测试数据和测试环境的管理,要求熟悉虚拟化、云计算技术、数据匿名化等数据处理技术,能够提供测试数据和环境管理的方案。

4. QAOps 专家

测试右移已经越来越被重视,这意味着测试活动需要右移到生产环境,需要测试人员跟 Ops 人员更紧密的合作,QAOps 专家也应运而生。QAOps 专家需要了解基础设施相关技术与实践,了解日志管理、日志监控以及日志分析技术,同时还要有用户行为分析能力,通过跟 Ops 的合作,充分利用生产环境的各种类型的信息来优化软件开发和测试流程,以实现最终优化业务价值的目标。


管理方向

管理岗位在新的趋势下有些将不复存在,一般在相对传统的组织架构下才会有,但是目前来看还是有相当的企业是适用的,在此也简单聊一下。根据每个公司的情况不同,测试人员直接相关的管理岗位也会有些不同,大体有如下这些:


  1. 测试组长

  2. 测试经理

  3. 项目测试负责人

  4. 测试总监

1. 测试组长

测试组长一般带几个测试工程师, 负责任务分派和人员管理等工作。除了必备的测试技能外,测试组长需要的管理技能有:


任务优先级识别能力: 需要能够识别任务的优先级,并根据当前工作合理分配给不同的人去完成。


培养团队成员的能力: 带领团队需要对团队成员进行培养和发展相应的能力,需要能够识别不同人员的自身特点,有针对性的培养相应的技能。


沟通协调能力: 要带领好团队,较强的沟通协调能力必定能事半功倍,让团队工作更顺畅。

2. 测试经理

测试经理一般是管理一个测试部门,下面可能有多个测试小组。测试经理除了需要关注技术外,还需要关注部门的发展、绩效等。需要的相应技能有:


技术洞察力: 测试经理需要对技术趋势和先进测试工具有较多了解,需要能够帮助团队确定测试技术和测试工具的研究和使用,以提高团队的工作效能。


风险识别能力: 测试经理需要能够很好的理解业务需求、识别项目风险,负责制定测试策略和具体的实施方案,并能进行总结、报告,及时反馈项目质量状态。


培养团队成员的能力: 团队成员的能力培养非常重要,测试经理跟测试组长一样需要这个技能。


沟通协调能力: 测试经理不仅需要协调测试部门内部的各种情况,还需要横向跟公司其他部门进行沟通协调,沟通协调能力更加重要。

3. 项目测试负责人

项目测试负责人主要负责一个项目的质量保障工作,需要有跟测试经理相似的技能: 技术洞察力、风险识别能力和沟通协调能力

4. 测试总监

测试总监是测试经理的延伸,属于质量部门的最高负责人,需要负责公司所有项目的质量活动,所要求的的技能跟测试经理类似。


易转型方向

除了测试直接相关的管理岗位外,根据测试人员的职业特点,以下两个岗位是比较适合转型的方向:


  • 项目经理

  • 产品经理

1. 项目经理

测试人员,尤其是敏捷团队的测试人员,涉及到项目质量相关的方方面面,自然有着能纵观大局的机会,成功转型项目经理的例子非常常见。相应的技能要求有:


团队管理能力: 管理团队,包括人员风险识别、协调沟通等方面,需要掌握一定的人际关系相关的软技能。


客户关系管理能力: 项目经理除了要搞定团队,还有最为关键的是要处理好跟客户的关系,客户关系管理技能特别重要。


决策能力: 决策能力是一种综合的判断能力,即面对几个方案或错综复杂的情况,能够做出正确的判断并采取行动。

2. 产品经理

软件测试人员都需要能够很好的理解业务需求,一般都有很强的业务能力,转型当产品经理是一个不错的方向。产品经理相应的技能要求有:


用户需求挖掘能力: 产品经理需要有包括挖掘潜在用户需求、确定需求优先级、构建用户画像的能力。


多维度思考能力: 产品经理需要能够从基本维度、外在维度、核心维度和商业价值维度思考的能力。


抽象能力: 产品经理不仅要能从事物本身进行抽象,还需要能够考虑不同层次的抽象;抽象完后,还需要把抽象的对象回归到展示层面,需要有抽象回归具象的能力。


三个转变

测试人员要培养前面介绍的技能,首先需要实现下面三个转变:


1. 对测试的认知


测试活动不仅是验证系统功能,可以更加的多样化。比如,测试左移就包括对需要的澄清和验证,测试右移则包括生产环境的监控和信息收集等。


测试人员不是质量的把关者,好的质量意味着要交付更多的价值,而不是没有缺陷那么简单,测试人员不再是发现缺陷越多越有成就,而是要想着如何跟不同角色高效合作,使得交付的产品能够优化业务价值。


2. 对技术的关注


由于测试活动的多样性,不能只关心测试相关技术,要把视野扩展到软件开发过程中各个环节接触到的领域知识和不同类型的技术,不同业务类型、技术架构和基础设施等都会对测试有不同的影响和要求。


3. 测试不可以独立存在


测试不能再以独立部门自居,需要跟不同的角色更多的沟通和合作。比如,需求分析阶段需要跟需求人员有密切的沟通,实现自动化测试过程中可以跟开发人员结对或其他方式的深度合作,生产环境下的测试需要跟 Ops 人员紧密合作等。


同时,测试人员对于系统所采用的技术架构、技术方案的设计思路都需要有所了解,从而更好的理解开发的工作、理解架构演进对于测试的影响,更好的开展测试工作。

最后

了解了发展方向,如何才能让自己的职业生涯更圆满呢?更多的学习建议可以参考我去年在BQConf的演讲《BQConf演讲:软件测试人员该何去何从》里提到的那几个方面:


  1. 确定方向,目标驱动

  2. 持续学习,把知识变成技能

  3. 勇于突破,系统思考


愿各位测试同仁的职业发展之路更加顺畅!


作者介绍


林冰玉,ThoughtWorks 高级软件质量分析师,QA Lead。13 年多的质量保障相关工作经验积累了丰富的企业级应用和大型产品应用的测试和管理经验,尤其擅长敏捷开发过程中的质量分析和保证工作。


本文转载自 ThoughtWorks 洞见。


原文链接


软件测试人员的职业发展


2020-09-18 14:003676

评论

发布
暂无评论
发现更多内容

百度文心大模型开发者斩获CCF BDCI大赛唯一『最佳算法能力奖』

百度开发者中心

人工智能 数字经济 文心一言

量化api现货合约跟单软件开发源代码

开发微hkkf5566

12306系统架构:抢票引起的对大型高并发系统架构的思考

安全防火墙软件:Little Snitch 5 激活版

真大的脸盆

Mac 防火墙 Mac 软件 防火墙工具

太厉害了!这是我见过最好的SpringMVC源码分析

Java 源码 Spring MVC

GPT-4 重磅发布,用户直呼:强得离谱

引迈信息

GPT-3 ChatGPT GPT-4

软件测试/测试开发丨聊聊后端Web开发框架(Python)的简单使用

测试人

软件测试 自动化测试 测试开发

软件测试常用的工具都有哪些-测试常用工具

测吧(北京)科技有限公司

测试

云原生安全,会有一个较大的潜在市场丨统信软件孟杰

统信软件

云原生 安全 数字化

软件测试/测试开发丨测试右移之logstash完整配置实例

测试人

软件测试 自动化测试 测试开发

【网易易盾】网易易盾性能测试自动化建设

网易云信

自动化测试 自动化运维

阿里云弹性计算张献涛:计算巢,助力软件公司向软件服务公司转型

云布道师

云计算 阿里云

首战字节被算法惨虐,复盘一个月再战字节成功拿下T3-1,

Java 数据结构 面试 算法

软件测试/测试开发丨测试左移之Sonarqube maven项目分析

测试人

软件测试 自动化测试 测试开发 SonarQube 测试左移

API接口自动化测试框架搭建之需求整理、详细设计和框架设计

自动化测试 unittest 接口测试 API 测试框架

强大的字体设计工具:Glyphs 3激活版

真大的脸盆

Mac 字体 字体设计 设计字体 字体管理工具

软件测试 | 黑盒测试方法—场景法

测吧(北京)科技有限公司

测试

浙商银行升鑫赢B-1号人民币理财产品

andy

OPPO StarFire全新升级,异构计算突破算力瓶颈

安第斯智能云

人工智能 机器学习 云存储 智能云 端云协同

自动化测试是什么?

测吧(北京)科技有限公司

测试

加速发展的低代码市场

力软低代码开发平台

百度阳泉智算中心全面升级 支持文心一言大规模智能算力需求

极客天地

【网易易盾】网易易盾性能测试自动化建设

网易智企

自动化测试 自动化运维

2023年会声会影最新版本六大新功能

茶色酒

会声会影2023

什么是软件测试?

测吧(北京)科技有限公司

测试

OPPO大数据诊断平台设计与实践

安第斯智能云

大数据 诊断

软件测试人员的职业发展_软件工程_张凯峰_InfoQ精选文章