东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

软件测试人员的职业发展

  • 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 洞见。


原文链接


软件测试人员的职业发展


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2020-09-18 14:002886

评论

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

Zookeeper选举机制

tunsuy

zookeeper 开源 源码分析 分布式协同

消息队列Kafka - Kafka中的选举

Java收录阁

kafka

1分钟就能学会的时间管理大法

小匚

时间分配 时间管理

你真的理解 Java 的基础数据类型吗

Rayjun

Java

Arthas安装及基本用法

编程随想曲

Java

idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD

虚拟世界的懒猫

spring mybatis ssm springmvc java8

利用Translate ToolKit 2.5.0 API构建Flask web app

虚拟世界的懒猫

Python nginx flask uwgsi translate

和邓小平、基辛格“谈笑风生”的世界第一女记者:奥琳亚娜·法拉奇

赵新龙

记者 编辑 采访 法拉奇

Hadoop集群搭建-04安装配置HDFS

虚拟世界的懒猫

hadoop

我愿沉迷于学习,无法自拔(一)

孙瑜

深度思考 个人成长

程序员陪娃漫画系列——喂药

孙苏勇

程序员 生活 陪伴 漫画

做好仓储控制系统(WCS)的关键

申扬科技

仓储控制系统 WCS

管理信息系统课程基础知识

小匚

安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错

虚拟世界的懒猫

Docker vmware vm hyper-v WSL2

如何写作一本书(2):前言与正文

英子编辑

技术 写作

跬步贴|5分钟搞定缓存击穿问题

架构师跬步营

下一代存储NVMe over Fabrics

HU

如何无缝的将Flutter引入现有应用?

稻子

flutter ios android 开源 移动应用

当 Redis 发生高延迟时,到底发生了什么

程序员历小冰

redis Linux 延迟

机器学习中常用的处理手段

子夜2104

学习

Hadoop集群搭建-02安装配置Zookeeper

虚拟世界的懒猫

hadoop zookeeper centos7

Hadoop集群搭建-05安装配置YARN

虚拟世界的懒猫

hadoop

【终于解决】ubuntu19安装nvidia驱动后屏幕亮度默认最亮不可调节

虚拟世界的懒猫

ubuntu 英伟达

Day 47|Week 07-5 曾国藩家书|问学篇-学问何处何时都可做

熊小北同学

centos6搭建NEXUSphp pt私人种子站

虚拟世界的懒猫

centos nexusphp pt bt

Hadoop集群搭建-01前期准备

虚拟世界的懒猫

hadoop hdfs mapreduce zookeeper centos

Hadoop集群搭建-03编译安装hadoop

虚拟世界的懒猫

hadoop centos7

配置微软Azure大数据HDInsight云集群

虚拟世界的懒猫

microsoft 大数据 微软 azure hdinsght

选赵敏还是选小昭,这可真是个问题 | Decision Tree

张利东

Python 学习 算法 决策树

从“成为作者”到“立即创作”:开启你的“写作极客”生活

岛乾坤

写作

“我代码写完了,QA可以测了。”

蔡建斌

Scrum 敏捷 质量管理 测试

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