当前位置: 首页 > news >正文

从3千到3万,我的测试之路真的坎坷

其实测试行业未来发展之路是几乎所有关于软件测试工程师都会在意的话题,相信各位看官也很迷茫自己的发展路线。为了方便大家选择和比较,我也将我的经验和观点分享出来,以作参考。如果小伙伴们有更好的观点,欢迎分享和探讨,互相学习!

一、技术方向

就技术方向的职业发展之路,我非常赞同之前看过的一篇文章里说的,如果你打定主意就想往测试技术方向去发展,做一个技术型的牛人,那摆在你面前的就只有三条路:

√自动化测试工程/架构师
√性能测试工程师
√行业性测试专家

※特别提醒:你几乎没有其他选择,甭管你的领导怎么忽悠你,做手动测试大量需要劳动力也好,自动化测试现在还没有大规模发展起来也罢,如果你只会手动测试,并且你所测试的软件也没有什么特别值得深究的方面的话,那么可以告诉你你的测试生涯钱途堪忧,说白了也就是没有什么核心竞争力,哪天boss们想砍人了,那你就是第一个。

有些朋友可能会说了,这个不对吧,看咱项目里不是还是80%以上的人都是做手动的嘛,为什么你却说自动化/性能测试才更具有核心竞争力呢?

※假象剖析:先说自动化吧,确实,就目前中国测试业的现状来看,80%以上的IT公司里面80%以上的测试人员都在做着黑盒的手工测试,这个假象确实麻痹了一些人,使得大家以为既然大部分人都在做着手工测试,那我也不需要去学习自动化或者性能测试了。就算很多已经实施了自动化测试的公司,也在痛苦地摸索着如何提高自动化测试的效率,如何能够真正提高系统的性能。但不管现状如何,很多公司也必须重视自动化测试。

※为什么重视自动化?(原因有二)

√1. 商业上的需要。

很多公司,特别是测试外包公司,销售们在推销自己公司的团队和产品的时候,测试的自动化程度都是一个重要的指标,这年头说测试不说自动化都显得自己“out”了,所以自动化测试能不香吗?

√2. 项目需要。

很多管理职位的人,如果不是做测试技术出身,都会非常迷信自动化测试的神力,把自动化测试当成测试的银弹,战无不用,用无不胜,所以相对来说,会比较重视自动化测试的人。

对于性能测试和行业测试专家来说,那就是物以稀为贵了。真正能做好性能测试,并能够通过性能测试结果分析出性能瓶颈,提出性能改进方案的人,寥寥无几。

行业测试专家也一样,比如电信、医疗、ERP测试,能够精通业务,真正能够利用对业务的了解改进测试效率,也是数都能数出来的,你说他们的钱途用得着担心吗?呵呵。

好了,接下来再来说说这三个职位各需要什么样的具体技能吧。

1、自动化测试

自动化测试工程师/架构师

基本能力要求:

--熟悉自动化测试的理论及常用框架

--熟练使用常见的自动化测试工具并能够根据项目实际需要选择合适的工具或者开发相应的工具

--熟悉项目软件架构及层次结构,能够利用自动化测试工具或自定义的框架提高自动化测试的覆盖率和复用率

--熟悉脚本类及一到两种常用的编译型编程语言,网络协议及linux平台

2、性能测试

性能测试工程师

基本能力要求:

--熟悉性能测试过程模型和过程

--熟悉各种常见的应用协议

--熟悉性能测试工具的原理及使用

--能够根据实际项目配置测试环境,选择合适的性能测试工具或开发性能测试工具

--能够通过对被测系统的分析,对性能测试场景进行分析和选取

--执行性能测试并根据结果分析性能瓶颈,提出性能提升改进的建议

3、行业测试专家

行业测试专家

基本能力要求:

--精通某个业务性较强的行业的业务流程及关键技能,如医疗,通信,ERP等特征较明显的行业。(如果你是测一般的网站或者是手机系统之类的话,还是省省吧,这个不是这里指的行业专家)

--能够根据对本行业业务的了解和对软件测试的了解,对组织内的软件测试流程和方法做出优化,提高测试效率,节省测试成本

二、管理方向

谈完了技术,当然就该谈谈被无数人所追崇的管理职位了。当然了,能管别人,发号施令,谁不喜欢呢?古人云:学而优则仕,就是这个道理。可职业发展这个金字塔上,能最终站上管理职位的那个塔尖的人又有多少呢?管理职位虽然看似很爽,很诱人,但绝不是每个人都适合做这个岗位的。

也不是说你做了若干年的技术,成了技术大牛,你就一定能去管项目管人,毕竟管理主要是跟人打交道的活,你虽然能把电脑弄得服服帖帖,但不一定你去管人的时候,人就会服你,所以其实谈到做管理,最关键的就不是技术了,用两个比较时髦的词来说,关键就是“沟通”和“协调”,你得会跟客户去做沟通,你得会跟其他人去做协调,这是做管理的先决条件。

如果你觉得自己不善言谈,不想时时面对众人,那兄弟你还是跳过这一节,继续看看其他部分吧。

那么就从做管理来说又可以有什么样的职位选择呢?撇开高层管理什么CXO的不谈,就一般的管理而言,可以选择的管理职位有两类:

1、项目经理

基本能力要求:

--较高的沟通和协调能力。一方面你要能把客户哄好了,另一方面你得牢牢取得团队的支持,你要没点沟通能力和协调能力,能行吗?

--熟悉项目管理的相关知识,如果能够取得PMP证书(项目管理师认证)是最好的,因为那至少可以证明你从理论上非常专业地学习了项目管理的基本概念,熟悉了项目管理的五大过程组及九大知识领域(详细内容请参考相关PMP书籍),有一定的项目管理经验,理论上是没问题的了。

--技术方面呢,不需要你太精通技术,但作为IT行业的项目经理,我一直都认为没有任何的技术背景其实是很难胜任这个行业的管理职位的,因为技术性确实太强,人家谈论实现的时候,你啥都听不懂,是不是挺尴尬的?关键是你还得做出决策。如果打个比喻来说明究竟项目经理需要掌握技术到什么程度的话,可以用两个词:一平方公里和一米。你的知识面必须得有一平方公里宽,但这些知识的深度只有一米。什么都知道一点,什么都不精,或许对做技术的人来说不是什么好事,但如果你是做管理的,那恭喜你,兄弟,继续干吧。

2、测试经理

基本能力要求:

--参照项目经理的第一条,必须滴~~

--你不需要有特别多项目管理理论基础及经验,但你必须精通软件测试的方方面面,从流程、方法、工具、框架、组织等等,你都必须了解,并最好有实际的项目经验,能够随时指导测试团队的工作,对团队里面的问题提出一定的参考意见和解决方案,对团队的测试流程和方法做出改进。

三、我的选择对吗?

剔除上述所列条件,当然最重要的还是个人的兴趣爱好。你有再强的逻辑思维能力,再强的抗压能力,但是对代码不感兴趣;就算你文档写的再好,但是对测试不感兴趣,那么就不要逼自己干自己不喜欢的事情了,只有对自己想要进入的职业感兴趣了,才能真正的尽自己的全力去努力学习这个职业的知识,所以选择一个自己感兴趣的职业尤为重要。

所以在选择方向的时候,不要人云亦云,别人说技术岗好,我就去干技术,别人说管理岗好我就去干管理,这样容易哪个都干不成。我们应该分析自身的特点,根据实际情况选择适合自己的职位。并且做出选择后,不要因为外界因素动摇自己的选择,也不要因为在学习的过程终于到了难点就放弃,这样不管干什么都会无法深入。

既然确定好了方向,那该如何学习和提升技术呢?

√我的学习路径和方式

如果你已经选择好了测试方向,想要在测试行业站住脚,想要从功能测试进阶自动化测试,可以参考一下我的学习路径,因为我也是一步一步走过来的,我的经验更值得大家借鉴。

1、自动化测试必会Python编程技术

2、Web自动化测试技术内容

3、APP自动化测试技术内容

4、Postman测试工具专题

5、接口自动化测试技术内容

6、自动化测试框架搭建能力

7、持续集成

8、Jmeter 性能测试

9、APP性能测试

10、Fiddler 抓包工具的使用

11、TCP/IP协议

12、Linux 系统操作

13、MySQL 数据库

14、RobotFramework 自动化测试框架

15、跨平台的自动化测试框架Airtest

​上面就是我整理出来的一份全栈测试工程师技术进阶路径图。完成这样一个技术栈的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的职业生涯就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

相关文章:

从3千到3万,我的测试之路真的坎坷

其实测试行业未来发展之路是几乎所有关于软件测试工程师都会在意的话题,相信各位看官也很迷茫自己的发展路线。为了方便大家选择和比较,我也将我的经验和观点分享出来,以作参考。如果小伙伴们有更好的观点,欢迎分享和探讨&#xf…...

linux下使用system函数在程序中运行linux的shell命令

一、功能 linux下在程序中调用shell命令实现某个功能&#xff0c;比如拷贝命令cp 二、使用 添加头文件 #include <stdlib.h> 函数原型 int system(const char *command); 描述说明是system的调用过程&#xff1a; 使用fork创建一个子进程&#xff0c;子进程使用 execl 执…...

银行数字化转型导师坚鹏:银行业发展趋势及对人才的需求分析

数字化转型背景下银行业发展趋势及对人才的需求分析 ——洞察先机&#xff0c;重塑人才核心竞争力 课程背景&#xff1a; 数字化转型背景下&#xff0c;很多银行存在以下问题&#xff1a;不知道银行整体发展现状与发展趋势&#xff1f;不清楚金融科技对银行发展有什么影响&…...

NFS挂载

0、创建 mkdir /nfsdata mkfs.xfs /dev/vdb mount /dev/vdb /nfsdata 1、两边主机启动nfs服务 service nfs start 2、被挂载主机查看&#xff0c;文件系统是否可挂载 showmount -e 3、将被挂载主机&#xff0c;设置任何主机可挂载文件系统 vi /etc/exports /nfsdata (in…...

IDEA使用技巧

IntelliJ IDEA是一款流行的Java集成开发环境&#xff08;IDE&#xff09;&#xff0c;它为开发者提供了许多有用的功能和工具来提高他们的工作效率和开发质量。直接使用IntelliJ IDEA就相当于节省了自己的时间&#xff0c;如果先使用其他编译器后来在使用IntelliJ IDEA会觉得非…...

自动化测试之一【接口测试总结】

本文主要分为两个部分&#xff1a;第一部分&#xff1a;主要从问题出发&#xff0c;引入接口测试的相关内容并与前端测试进行简单对比&#xff0c;总结两者之前的区别与联系。但该部分只交代了怎么做和如何做&#xff1f;并没有解释为什么要做&#xff1f;第二部分&#xff1a;…...

科大奥瑞物理实验——傅里叶光学

实验名称&#xff1a;傅里叶光学 1. 实验目的&#xff1a; 加深对傅里叶光学中的一些基本概念和基本理论的理解&#xff0c;如空间频率空间频谱和空间滤波和卷积等。通过实验验证阿贝成像理论&#xff0c;理解透镜成像的物理过程&#xff0c;进而掌握光学信息处理实质。通过阿…...

mysql count(*)的性能如何?

文章目录 为什么会出现这种情况呢?如何优化count(*)性能?增加redis缓存加二级缓存多线程执行减少join的表改成ClickHousecount的各种用法性能对比为什么会出现这种情况呢? 在Mysql中,count(*)的作用是统计表中记录的总行数。 而count()的性能跟存储引擎有直接关系,并非所…...

gan实战(基础GAN、DCGAN)

一、基础Gan 1.1 参数 &#xff08;1&#xff09;输入&#xff1a;会被放缩到6464 &#xff08;2&#xff09;输出&#xff1a;6464 &#xff08;3&#xff09;数据集&#xff1a;https://pan.baidu.com/s/1RY1e9suUlk5FLYF5z7DfAw 提取码&#xff1a;8n89 1.2 实现 import t…...

使用C语言实现服务器/客户端的TCP通信

本文力求使用简单的描述说明一个服务器/客户端TCP通信的基本程序框架,文中给出了服务器端和客户端的实例源程序,本文的程序在ubuntu 20.04中编译运行成功,gcc版本号为:9.4.0 1. 前言 当两台主机间需要通信时,TCP和UDP是两种最常用的传输层协议,TCP是一种面向连接的传输协…...

AI模型训练推理一定要知道的事情

AI训练的算力要求 算力 模型训练需要大量计算资源&#xff0c;包括CPU( Central Processing Unit)、GPU(Graphical Processing Unit)、TPU(Tensor Processing Unit)等&#xff0c;其中GPU是最为常见的硬件加速器。另外还可以通过算法优化提高模型训练效率。例如分布式训练技术…...

SPSS27破解安装后,出现应用程序无法正常启动(0xc000007b)

破解完SPSS 27软件后&#xff0c;点击图标出现下图错误 可以尝试以下方法&#xff1a; 1. 在安装目录下找到VC开头的文件夹 2. 点击此软件进行修复 若修复完成&#xff0c;重新启动SPSS软件即可。 3. 若提示错误&#xff0c;显示如下界面&#xff0c;进行下面的方法j 4. 下…...

央企程序员写了重大bug,会造成用户个人信息泄露,领导已经知道了,需要赶紧跑路吗?...

开发过程中出现bug是很正常的事情&#xff0c;小bug无关紧要&#xff0c;可如果是重大bug该怎么办&#xff1f;一位央企程序员就陷入了这样的困境&#xff1a;因为自己没有考虑周全&#xff0c;不小心写了个重大bug&#xff0c;会造成用户个人信息泄露&#xff08;用爬虫可以攻…...

day14—选择题

文章目录1.定义学生、教师和课程的关系模式 S (S#,Sn,Sd,Dc,SA &#xff09;&#xff08;其属性分别为学号、姓名、所在系、所在系的系主任、年龄&#xff09;&#xff1b; C &#xff08; C#,Cn,P# &#xff09;&#xff08;其属性分别为课程号、课程名、先修课&#xff09;&a…...

翻转链表(力扣刷题)

给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例 3&#xff1a; 输入…...

JavaEE——锁相关

在开发过程中&#xff0c;如果需要开发者自主实现一把锁&#xff0c;就必须了解锁策略和锁的实现原理。 目录 锁策略 乐观锁和悲观锁 互斥锁和读写锁 轻量级锁和重量级锁 自旋锁和挂起等待锁 公平锁和非公平锁 可重入锁和不可重入锁 死锁 发生死锁的必要条件 synchr…...

C语言指针与数组 进阶

本章主要是补充 指针和数组方面的指示&#xff0c;把前面指针的知识补充下。参考前面的C语言基础—指针 C语言指针与数组 进阶用一级指针访问二维数组❗易错点: 不能直接指针变量数组名指向数组的指针1. 指向指针的指针2. 指向一维数组的指针 (*P)[4]—行指针二维数组名指针数组…...

Java连接SqlServer错误

Java连接SqlServer错误 &#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目…...

Elastic 可观察性 - 适用于当今 “永远在线” 世界的解决方案

作者&#xff1a;Bahubali Shetti 当今世界&#xff0c;我们的生活很大程度上由应用程序控制。 无论是用于商业用途还是个人用途&#xff0c;我们都希望这些应用程序 “始终在线” 并能够立即做出响应。 这些高期望对开发人员和运营人员提出了巨大的要求。 管理这些应用程序需…...

Temu病毒式营销,如何在大红利时期快人一步?

从去年9月开始&#xff0c;拼多多推出海外版Temu&#xff0c;大手笔烧钱买量、大手笔补贴消费者&#xff0c;通过令人难以置信的超低价&#xff08;比如一件卫衣2.44美元&#xff0c;且包邮&#xff09;&#xff0c;在北美市场迅速打开局面&#xff0c;并引发海外网友“人传人”…...

AI编程工具的内卷:Copilot、Cursor、通义灵码,谁能笑到最后?

当“内卷”的风吹到AI编程工具2026年&#xff0c;AI编程工具已不再是新鲜事物&#xff0c;而是开发者工具箱中的标配。从最初的代码补全&#xff0c;到如今的全栈智能体&#xff0c;这个赛道正经历着一场前所未有的“内卷”。GitHub Copilot、Cursor、通义灵码三足鼎立&#xf…...

零基础避坑指南什么工具可以录音转待办

还在手动把面试录音扒成文字再摘待办&#xff1f;做HR的谁没踩过这个坑&#xff1a;整理一小时&#xff0c;漏了候选人关键信息&#xff0c;还把待办记错&#xff0c;今天直接讲能直接上手的方法&#xff0c;零基础也不会踩坑。我做HR那几年&#xff0c;光整理录音待办就熬了无…...

5分钟Git指南

Git——一个版本控制系统 了解Git当你建立了一个Git版本库&#xff0c;那么存放.git&#xff08;也就是版本库&#xff09;的文件夹就被称为工作区&#xff0c;.git内部有一个暂存区&#xff0c;一个叫做master的分支&#xff0c;一个HEAD指针能够指向分支中不同版本的文件&…...

HDiffPatch实际应用案例:APK文件差异化和Android应用商店优化

HDiffPatch实际应用案例&#xff1a;APK文件差异化和Android应用商店优化 【免费下载链接】HDiffPatch a C\C library and command-line tools for Diff & Patch between binary files or directories(folder); cross-platform; runs fast; create small delta/differentia…...

从特斯拉事故看自动驾驶数据存储与系统安全设计

1. 事故背景与NTSB调查报告的核心价值2016年发生的那起特斯拉Model S与白色半挂卡车相撞的致命事故&#xff0c;相信很多关注汽车技术发展的朋友都还记得。当时这起事故引发了业界对自动驾驶辅助系统安全性的第一轮大规模公开讨论。一年多后&#xff0c;美国国家运输安全委员会…...

ImageTrans插件生态:用Python扩展图片OCR与翻译工作流

1. 项目概述&#xff1a;一个为ImageTrans量身定制的插件生态如果你经常需要处理图像中的文字&#xff0c;比如翻译漫画、本地化游戏截图或者处理带文字的UI设计稿&#xff0c;那你很可能听说过或者用过ImageTrans这款工具。它是一款专注于图片文字识别&#xff08;OCR&#xf…...

ngx_http_create_request

1 定义 ngx_http_create_request 函数 定义在 ./nginx-1.24.0/src/http/ngx_http_request.cngx_http_request_t * ngx_http_create_request(ngx_connection_t *c) {ngx_http_request_t *r;ngx_http_log_ctx_t *ctx;ngx_http_core_loc_conf_t *clcf;r ngx_http_…...

开关电源EMC设计:从原理到实践的关键技术

1. 开关电源EMC设计基础 开关电源因其高效率和小型化优势&#xff0c;在现代电子设备中广泛应用。然而&#xff0c;高频开关动作带来的电磁干扰(EMI)问题不容忽视。作为一名电源工程师&#xff0c;我经常需要面对各种EMC挑战。记得有一次&#xff0c;我们团队设计的工业电源模块…...

自然语言脚本编程:用humanscript实现意图驱动的自动化

1. 项目概述&#xff1a;当代码遇上自然语言最近在折腾一些自动化脚本时&#xff0c;我总在想&#xff0c;有没有一种方式&#xff0c;能让写脚本这件事变得像写待办事项清单一样简单&#xff1f;比如&#xff0c;我想让电脑“把今天下载的图片都压缩一下&#xff0c;然后传到网…...

数字信号处理中的统计与概率基础解析

1. 数字信号处理中的统计与概率基础 在数字信号处理&#xff08;DSP&#xff09;领域&#xff0c;统计和概率理论构成了分析和处理信号的核心数学工具。信号在采集、传输和处理过程中不可避免地会受到各种干扰和噪声的影响&#xff0c;这些干扰可能来自测量系统本身&#xff0c…...