【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

软件测试人员的职业发展

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


原文链接


软件测试人员的职业发展


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-09-18 14:002895

评论

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

文心一言 VS 讯飞星火 VS chatgpt (198)-- 算法导论14.3 6题

福大大架构师每日一题

福大大架构师每日一题

田螺

fliter

docker部署ELK8.8.1集群logstash报错PKIX path building failed

百度搜索:蓝易云

Linux 运维 Logstash ELK 云服务器

听 GPT 讲 Deno 源代码 (10)

fliter

2023年总结

wood

git生成change-id的解决方法

百度搜索:蓝易云

git 云计算 Linux 运维 云服务器

低代码与MES系统相结合

万界星空科技

低代码 低代码开发 低代码平台 mes 万界星空科技

如何在Linux中设置SSH无密码登录

百度搜索:蓝易云

云计算 Linux 运维 SSH 云服务器

【Linux】DNS系统,ICMP协议,NAPT技术详解

百度搜索:蓝易云

云计算 Linux 运维 DNS ICMP

汽车零部件MES系统实施方案

万界星空科技

汽车 mes 万界星空科技 汽车零部件

听GPT 讲Deno源代码(4)

fliter

SpringBoot中最常用的5个内置对象

百度搜索:蓝易云

云计算 Linux 运维 Spring Boot 云服务器

MySQL之优化SELECT语句

百度搜索:蓝易云

MySQL Linux 运维 云服务器 select

Go项目中的Labels

fliter

记忆承载

玄兴梦影

Ubuntu 20.04通过udev规则修改网卡名称(例如eth0)

百度搜索:蓝易云

Linux ubuntu 运维 云服务器 udev

阿里云-负载均衡(ALB)

智慧源点

ALB

认识mysql命令

百度搜索:蓝易云

MySQL 云计算 Linux 运维 云服务器

用 Go 语言实现刘谦 2024 春晚魔术,还原尼格买提汗流浃背的尴尬瞬间!

江湖十年

golang 算法

归乡

fliter

听GPT 讲Deno源代码(5)

fliter

vben Admin 01- 安装,初始设置

麦兜

听GPT 讲Deno源代码(7)

fliter

java环境搭建Ubuntu Linux教程

百度搜索:蓝易云

Java Linux ubuntu 运维 云服务器

听GPT 讲Deno源代码(8)

fliter

听 GPT 讲 Deno 源代码 (9)

fliter

Parallels Desktop 19 for Mac(PD19虚拟机)无需关闭sipv19.1.0一键激活版

iMac小白

数据所在,计算随行:Databend 的 2023 年度总结

Databend

php作业1

大肚皮狒狒

听GPT 讲Deno源代码(6)

fliter

汽车零部件MES系统解决方案

万界星空科技

汽车 制造业 mes 万界星空科技 汽车零部件

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