测试人员未来的3条出路

大家好,我是Z哥。

前两天有个做测试的小伙伴加我微信问我测试相关的一些事情。

她自己是从学习毕业就开始进入到互联网行业做测试的,到现在三年工作经验。她现在都不太敢跳槽,因为觉得自己没有什么核心竞争力,平常就是点点鼠标,看看有没有报错、结果和需求是否相符这样。

其实很多测试人员的处境都是如此。

造成这个局面的原因可以找到很多,大家经常会说的借口是:工作太忙,没时间也没精力。其实你自己去看看手机记录的屏幕使用时间。你平时有花里面30%的时间用来提升自己吗?

测试相比开发的工作门槛和天花板都低一些,这也导致了一些想进入软件开发行业但是又对自己掌握开发能力没信心的人所做出的保守选择。

但是如果后续自己并没有找到发力点去提升自己,那么的确很容易在工作两三年后就达到“巅峰”,碰到天花板。

在聊我的建议之前,先来聊聊手工测试这个岗位的现状。从名字也能看出,这是一个体力活。一般手工测试也被称作黑盒测试,它是从产品交互的角度去检验软件是否符合预期。当然这里的预期除了是否符合需求原型之外,还有是否符合人的操作习惯。

不过,现实是,有不少黑盒测试的人员,对「是否符合人的操作习惯」并不敏感,或者说不太关注。这其实是在给自己挖坑,因为这是证明你比别人优秀很好的一个途径。相反,对比是否符合需求原型是一些机械式的活,谁都能干,如果未来用AI来替代测试的工作内容的话,这大概率是首先考虑的。

另一个现实是,不管多么牛、多么先进的公司都需要黑盒测试。因为它的前置成本比较低,无需过多的准备工作就可以开展。所以,在一些经常变动的功能或者新功能上运用比较普遍。

总结一下现在黑盒测试的处境就是,上手门槛和天花板低,运用面广,每个公司都需要

想在黑盒测试的范围内如果要做得优秀,我觉得有两个方向可以走,「业务」和「体验」。而且基于这两个方向你可以平滑地延展自己的职业发展道路。

/01 业务方向/

每个软件系统背后自然是有一个逻辑来支撑的,这就是业务。对业务的熟悉度越高,你越能发现一些长链路上的bug,以及间接的关联bug。这样一来,你的测试质量自然相比其他人会更高,别人更信任经过你测试的项目。

一旦你成为了大家眼中的业务专家,这就让你往「管理线」发展打下了很好的基础。因为对于管理线来说,业务>管理>技术,你说这是不是很大的优势。更加重要的一点是,由于工作性质的原因,测试在业务广度上的理解会比开发多。开发相对来说花了更多时间在业务的深度上。但是做管理,广度自然比深度更重要。

可能你会说根据身边的情况来看,升任管理的人还是开发偏多。在我看来,出现这个现象主要有两个原因:

  1. 对大多数公司来说,开发人员的数量比测试多(一般至少3:1吧),所以从人群基数上看,概率自然会大一些。

  2. 最重要的一点是,你看看有多少测试仅仅起到了对比需求原型的作用?如果是这样的作用,话语权自然比不过在业务深度上更深的开发。

/02 体验方向/

黑盒测试本身就是以用户视角在测试项目,而且是不断地反复。我认为这是一个非常好的契机去培养自己对用户体验的感觉。可以说,在公司内部,测试使用产品的频次并不亚于它的设计者产品经理,甚至还要高。

一旦你对用户体验的理解能力培养起来,那么后续你可以很自然地往产品经理转,毕竟产品经理的职业天花板可比黑盒测试高得多。

不过,能不能对用户体验有感觉,还是需要一定天赋的。比如,你得有足够的好奇心,会去关注新事物,会经常去深度体验那些新出的APP,并且能够通过自己的体验得出它设计好和不好的地方以及背后的目的。

另外,往产品经理这条路发展,相比通过业务走上管理少了对“坑位”的要求,完全凭能力说话,理论上道路更加宽广。但是说实话,要形成自己对用户体验的理解所需的独立思考能力,在这个时代还挺难的,因为到处都是别人投喂的加工好的信息。

除了以上两个方向外,如果对自己够狠,愿意跳脱出黑盒测试范畴来考虑。那么培养自己的代码能力,往测试开发方向发展,可能是更宽的一条路。这条路的市场接纳度相比前面两条更高,也就是说机会更多。

但是,我见过了太多人在这条路上半途而废了。原因就是前面提到的「行动力不足」。

很多人会觉得测试开发太难,因为每次参加开发人员的分享会完全听不懂他们在说什么。这其实是提前给自己的内心打了退堂鼓。

其实测试开发对代码能力的要求没有常规开发那么高。因为测试开发大多数是在做一些标准化的工具型项目,这些项目一般规模都不大,哪怕没有什么架构设计也能做出来。并且,没有常规项目开发在做业务迭代时的时间压力,只要利用好搜索引擎,完成工作是完全没问题的。有些工作内容实在不行,自己上手工测试也能应付。

只不过,如果选择走测试开发这条路,你的目标(不管是中级目标还是终极目标)都必须要进到开发流程规范的企业(一般也就是大企业了),只有在这样的企业里测试开发才会受到重视。毕竟对大多数还处于温饱甚至还没温饱的企业来说,测试只是一个支撑型岗位而已,黑盒测试就足够了。

当你成为了测试开发之后,如果对代码感兴趣,有意愿更加深入的话,还可以考虑转做常规的项目开发,只要将对应语言的类库弄熟了,然后学习一些架构设计知识,并在日常工作里用起来。这样你所具备的能力就和大部分开发人员无异了。

除了这3条路还有吗?有,但是路都很窄。比如安全测试、性能测试。首先对这些方面有需求的企业几乎都是大企业,小企业几乎都不太考虑这些问题。这就导致了这些技能的实践机会变很少,掌握它的人自然也不多。但是他们的薪资水平不亚于开发,毕竟物以稀为贵嘛。如果能顺利成为测试开发的话,可以考虑一下这些方向。

说实话,每次招人的时候,给黑盒测试开的工资并不高,但是收到的简历却明显比开发更多。我觉得这是一个“后浪”特别汹涌的岗位,所以,如果你正好是一位黑盒测试,请正视自己的未来,除非你打算几年之后转行。

好了总结一下,这篇是Z哥和一位测试小伙伴聊完后的一些感想。主要是给测试工作两三年后觉得比较迷茫的人一些建议。

我的建议是三条路。

首先两条路是平滑的:

  1. 往业务发展可以走管理路线。但是比较看机遇,毕竟需要有管理坑位给你。

  2. 往体验发展可以走产品经理路线。但是比较看天赋,还需要培养独立的思考能力。

还有一条路需要你咬咬牙跨越一下的:学习代码,尝试着用代码去编写工具完成你的一部分日常工作,转做测试开发。

希望对你有所启发。

推荐阅读:

  • 人在职场,表达似水

  • 知识更新越来越快,但是学习起来越来越困

原创不易,如果你觉得这篇文章还不错,就「在看」或者「分享」一下吧。鼓励我的创作 :)

如果你有关于软件架构、分布式系统、产品、运营的困惑

可以试试点击「阅读原文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[JavaWeb-MySQL]DQL_查询表中记录,语句

DQL:查询表中的记录 * select * from 表名;1. 语法:select字段列表from表名列表where条件列表group by分组字段having分组之后的条件order by排序limit分页限定2. 基础查询1. 多个字段的查询select 字段名1,字段名2... from 表名&#xff1b…

团体程序设计天梯赛-练习集L1-025 正整数A+B (15分)(getline输入)

题目: 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求…

自定义值类型一定不要忘了重写Equals,否则性能和空间双双堪忧

一:背景1. 讲故事曾今在项目中发现有同事自定义结构体的时候,居然没有重写Equals方法,比如下面这段代码:static void Main(string[] args){var list Enumerable.Range(0, 1000).Select(m > new Point(m, m)).ToList();var ite…

[JavaWeb-MySQL]DDL_操作数据库,表

DDL:操作数据库、表 1. 操作数据库:CRUD1. C(Create):创建* 创建数据库:* create database 数据库名称;* 创建数据库,判断不存在,再创建:* create database if not exists 数据库名称;* 创建数据库,并指定…

Division CodeForces - 1445C(数论因子相关)

题意: 找一个最大的数X,使p%x0且x%q!0,题目保证至少有一个答案满足题意。 题目: Oleg’s favorite subjects are History and Math, and his favorite branch of mathematics is division. To improve his division skills, O…

使用 Windows Terminal 连接远程主机

使用 Windows Terminal 连接远程主机IntroWindows Terminal 是微软新推出来的一个全新的、流行的、功能强大的命令行终端工具。包含很多来社区呼声很高的特性,例如:多 Tab 支持、富文本、多语言支持、可配置、主题和样式,支持 emoji 和基于 G…

[JavaWeb-MySQL]DML_操作表

DML:增删改表中数据 1. 添加数据:* 语法:* insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);* 注意:1. 列名和值要一一对应。2. 如果表名后,不定义列名,则默认给所有列添加值insert into …

.Net Core实现区块链初探

区块链这么火,咱也跟个风。一、前言最近,银行总行关于数字货币即将推出的消息频传,把BTC也带得来了一波反弹。借着这个风,我们也研究一下区块链。通常大家说到区块链,实际包括两部分概念:第一个概念&#x…

Divide and Sum CodeForces - 1445D(排列组合+逆元)

题意: 给定一个长度为2n的数组,将数组分成两个长度为n的数组p,q,将p从小到大排序,将q从大到小排序,对于每种分法,f(p,q)∑i1n\sum_{i1}^{n}∑i1n​|xi−yi|.求总和 题目: You are given an a…

[Java基础]自定义注解之属性定义

代码如下: package AnnoDemo01;public enum Person {p1,p2; }package AnnoDemo01;public interface MyAnno2 {}package AnnoDemo01;public interface MyAnno {int show1();String show2();Person per();MyAnno2 ann02();String[] strs(); }定义了属性,在使用时需要…

微软开源 Tye 项目,可简化微服务开发

微软近期开源了一款开发人员工具 Tye,能够用于简化微服务以及分布式应用程序的开发、测试以及部署过程。项目地址:https://github.com/dotnet/tye。该项目负责人 Amiee 表示,在构建由多个项目组成的应用程序时,开发者通常希望能够…

Subset POJ - 3977(折半枚举+二分+二进制枚举)

题意&#xff1a; 给你一个集合N&#xff08;N<35&#xff09;,问集合的子集&#xff0c;除了空集&#xff0c;使得自己中所有元素和的绝对值最小&#xff0c;若存在多个值&#xff0c;那么选择子集中元素最少的那个。 题目&#xff1a; Given a list of N integers with…

.NET内存管理五大基础知识

1.小对象怎么处理的&#xff1f;小型.NET对象被分配到小型对象堆&#xff08;SOH&#xff09;上。其中有3种&#xff1a;第0代&#xff0c;第1代和第2代。对象根据其寿命向上移动。将新对象放在Gen 0上。当Gen 0充满时&#xff0c;.NET垃圾收集器&#xff08;GC&#xff09;运行…

L1-046 整除光棍 (20分)(模拟除法竖式求商的位运算)

题目&#xff1a; 这里所谓的“光棍”&#xff0c;并不是指单身汪啦~ 说的是全部由1组成的数字&#xff0c;比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如&#xff0c;111111就可以被13整除。 现在&#xff0c;你的程序要读入一个整数x&#…

Sql Server之旅——第十站 简单说说sqlserver的执行计划

我们知道sql在底层的执行给我们上层人员开了一个窗口&#xff0c;那就是执行计划&#xff0c;有了执行计划之后&#xff0c;我们就清楚了那些烂sql是怎么执行的&#xff0c;这样 就可以方便的找到sql的缺陷和优化点。一&#xff1a;执行计划生成过程说到执行计划&#xff0c;首…

【半译】扩展shutdown超时设置以保证IHostedService正常关闭

我最近发现一个问题&#xff0c;当应用程序关闭时&#xff0c;我们的应用程序没有正确执行在IHostedService中的StopAsync方法。经过反复验证发现&#xff0c;这是由于某些服务对关闭信号做出响应所需的时间太长导致的。在这篇文章中&#xff0c;我将展示出现这个问题的一个示例…

java基础知识——基础语法

java的基本语法格式 [修饰符] class 类名{程序代码 }方法的定义 一般情况下&#xff0c;定义一个方法包含以下语法&#xff1a; 修饰符 返回值类型 方法名(参数类型 参数名){...方法体...return 返回值; }JAVA标识符规范&#xff1a; 1.标识符可以由任意顺序的大小写字母、…