写点什么

软件测试人员的职业发展

  • 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:003942

评论

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

时间戳,这样用就对了

Simon

MySQL timestamp

前端科普系列(1):前端简史

vivo互联网技术

大前端 Web

Linux-技术专题-buffer/cache理解

码界西柚

机器学习 | 卷积神经网络详解(二)——自己手写一个卷积神经网络

迈微AI研发社

Python 神经网络 学习 卷积神经网络 CNN

区块链最激动人心的未来是什么

CECBC

大数据 区块链技术

必看的数据库使用规范

Simon

MySQL 技术规范

天地玄黄,宇宙洪荒

zhoo299

随笔杂谈

Java基础知识篇(2020最新版)准备放进收藏夹吃灰的勿进

简爱W

Java

我一个普通程序员,光靠GitHub打赏就年入70万,要不你也试试

程序员生活志

MySQL常用函数介绍

Simon

MySQL mysql常用函数

机器学习算法之——卷积神经网络(CNN)原理讲解

迈微AI研发社

神经网络 学习 算法 CNN

从零开始的深度学习实用教程 | PyTorch官方推荐

迈微AI研发社

人工智能 学习 算法 教程 PyTorch

【杭州】阿里巴巴搜索推荐事业部开发岗位招聘

iSausage

Java 阿里巴巴 推荐 搜索

InnoDB 事务加锁分析

vivo互联网技术

MySQL 数据库 innodb

大数据平台架构设计探究

vivo互联网技术

大数据 架构设计 数据平台

200 行代码就能骗人的首个聊天机器人

程序员生活志

编程 机器人

机器学习算法之——逻辑回归(Logistic Regression)原理详解及Python实现

迈微AI研发社

学习 算法 逻辑回归 正则化 梯度下降

赋能云端管理 激发智能边缘 英特尔发布超能云终端解决方案

最新动态

带你认识MySQL sys schema

Simon

MySQL

机器学习算法之——隐马尔可夫模型原理详解及Python实现

迈微AI研发社

Python 学习 算法 隐马尔可夫模型 HMM

给路灯按上“电话卡”,从此不仅只照明还给管理员“打电话”

华为云开发者联盟

人工智能 物联网 物联网化 华为云 路灯

牧羊少年奇幻之旅

W

读书笔记 感悟

2020中国RPA指数测评报告|T研究

人称T客

如何优雅的备份账号相关信息

Simon

MySQL

vivo web service:亿万级规模web服务引擎架构

vivo互联网技术

架构 Web 浏览器

互联网公司建网站时最应该注意什么?

姜奋斗

互联网 网络安全 网站 网站搭建 互联网公司

浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎

Philips

三分钟看懂Python和Java的区别

程序员生活志

Java Python

拼多多员工小便池拉屎,网易智能马桶屏蔽信号,360、搜狐厕所被监控,互联网公司厕所那些事!

程序员生活志

互联网 职场

获奖公布丨程序员的七夕骚话该怎么讲?留下你爱的表白~

InfoQ写作社区官方

写作平台 话题讨论 七夕 热门活动

一个域名值百万, 现在不注册,未来价更高

华为云开发者联盟

备案 商标 DNS 域名配置 SSL证书

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