【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了....

news2025/3/3 4:20:35

谈到现状,国内的软件测试行情目前呈现了两极分化的极端情况。

  • 一个是早期的手工测试人员吐槽工作不好做,即使有工作也是外包,而且薪资太低;
  • 一方面是很多互联网企业感叹自动化测试人才难找,有技术的自动化测试工程师,高薪难聘。

这两者其实并不矛盾。

手工测试工作难找也确实是目前真实的行情

早期从事功能测试的手工测试人员,在测试方面大多采用手动、人工执行的方式查找软件缺陷和BUG,用行业术语来描述就是“点点点”。这种测试方式耗费大量人力和资源,工作效率却十分低下。

在早期软件复杂和迭代程度不高的情况下,有资本的企业会“供养”一批这样的手工测试人员。但对测试员本身来讲,毫无技术难度的工作,和几乎没有保障的薪资水平,直接导致太多人选择了退出这个行业。

如果照这种情况发展下去,测试行业最终被彻底淘汰都有可能。但互联网的发展却不允许这种情况的发生。从14-16年开始至今,国内互联网的发展迅猛程度,一度让国内互联网进入了“洗牌阶段”。

从之前的BAT独占鳌头到如今的"BATJ+TDM"百花齐放。国内互联网在娱乐、生活服务、出行、芯片/半导体等领域都得到了十分不错的进步。这就导致各大企业对自动化软件测试工程师的需求瞬间增大了很多倍。注意,这里是“自动化软件测试工程师”,而并非普通的功能测试员。

之所以各大互联网企业开始自动化测试,最主要的原因就是互联网产品的迭代速度远不是手工测试能做得了的,这已经不是单纯的人力可以堆积的工作,而是需要通过自动化脚本技术批量、高效的完成。

自动化测试工程师需要掌握的技术体系,也远远不是手工测试能比拟的,在App自动化、WebUI自动化、接口自动化、性能测试、CI/CD/DevOps等领域的技术延申,已经不仅仅局限于找BUG和缺陷。

更多的在于整个产品项目的“质量管理”,注意这个词。质量管理,要求的是产品的稳定性、安全性、体验度和用户需求的满足情况,以及整个企业的产品质量管理体系的建设、持续集成、质量监控平台等等。

下面主要谈谈作为一名工作3年-5年左右的软件测试工程师该具备的一些技能以及个人的一些其他感悟:

1、入行阶段

这个阶段是大部分刚入行软件测试的新人会遇到的情况。这个阶段大家都在疑惑什么问题呢?大部分都是这个行业前景到底好不好?从事这个行业工作好不好找?工作累不累?想拿高薪要学习哪些测试技术等等。

可以告诉大家的是,这些都不重要。当我们选择了这行以后,应该考虑的事情,是如何才能在这个行业当中做到最拔尖的那批人才之一,努力提升自己的职业竞争力和技术沉淀。需要我们重点关注的:

软件测试工程师的职业发展方向:初步了解软件测试行业的发展方向,考虑自己今后可能会朝着哪个方向发展,该重点培养自己哪方面的能力,比如到底是技术岗还是管理岗;

软件测试工程师的技术体系:清楚自己如今的技术薄弱点,针对性的做技术训练和提升,了解哪些方面是自己必须要做提升的;

自我积累和沉淀:在当下这个阶段,自己应当静下心来重点锻炼哪方面的基础能力。就比如测试用例的撰写、测试报告的生成、缺陷管理和项目管理的介入,这些基础知识是任何高阶自动化测试工程师都应该深度了解和掌握的基层技术。

2、中级阶段

这个阶段的自动化测试人员,已经算的上是测试行业中的半个“专家”了。理论上从业3-5年自动化测试工程师,在自动化测试领域应该已经有不错的造诣。

这个阶段的工程师有个显著的特征,就是能够熟练运用市面上各类自动化测试工具。并且也有自己擅长的测试领域,App自动化、Web自动化、接口自动化等等。甚至专研性能同样也大有人在。

这个阶段的自动化测试工程师,能称得上合格的一般都是学习了一门编程语言的,像Python和Java,当然一般对编程语言没有基础的新手小白,大部分会选择Python语言。先不说开发这块,至少在Python语法、常用的第三方Python自动化脚本等方面都有相关涉猎。这一块儿一般就根据个人的偏好和从业之处自己的被动选择有关。不管是哪个方面,只要你用心钻研,持续提升,都能在该领域获得不错的发展。

3、高级阶段

所谓高级阶段,其实也是一个分水岭。这个阶段大部分测试人员的技术已经算的上行业拔尖水平。想往更高层次攀爬,就得考虑职业方向的发展问题。

喜欢钻研技术,可以考虑往更深层的技术指导、自动化平台建设等方面发展。这一块儿较为考研“测试开发”技术。简单来说,既懂开发,又清楚系统化的软件测试和质量管理。能够独自完成和整个测试及开发部门的分工、体系建设等等。是很多大型互联网企业非常热衷的全能型IT人才。

如果本身对管理方向较为青睐。也可以考虑从事项目经理、测试总监等岗位。不过涉及到管理岗位,除了对人员的测试技术方面有一定的要求,更考验管理人员的上下级协调和部门协调能力。既要掌握产品的客户需求、项目需求、市场跟踪、迭代管理以及各部门之间的磨合、统筹运维工作。

那么,作为一名软件测试工程师,该怎样努力才能快速成为一名优秀的测试开发大佬,或者性能测试大佬,或者说作为一名软件测试工程师需要掌握哪些知识体系。这不仅是一个刚刚踏入职场的软件测试工程师,也是工作三五年之后开始迷茫的工程师,都必须要面对和想明白的问题。

一、Linux必备知识

linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。

二、Shell脚本

掌握shell脚本,包括shell基础与应用、shell逻辑控制、shell逻辑函数等。

三、互联网程序原理

自动化必由之路:前端开发基础知识以及互联网网络必备知识。

四、Mysql数据库

软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。

五、抓包工具

Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。

六、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。

七、Web自动化测试Java&Pyhton

了解自动化的目的,熟练掌握testng&unittest自动化框架,以及断言与日志处理。

八、接口自动化与手机自动化

专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用。

九、敏捷测试&TestOps构建

揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。

十、性能测试&安全测试

软件测试的彼岸:性能测试和安全测试,选对方向,努力爬坑吧!


上面就是我为大家整理出来的一份Python自动化测试工程师发展方向知识架构体系图。希望大家能照着这个体系在1-2年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

​这些资料,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助!

在这里插入图片描述

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

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

相关文章

Linux中执行命令

目录 一、命令格式 二、查看命令帮助 三、date命令 四、timedatectl命令 五、查看目录下的文件:ls(list) 一、命令格式 命令格式:主命令 选项 参数(操作对象) 命令分为两类: 内置命…

要刹车?生成式AI迎新规、行业连发ChatGPT“警报”、多国考虑严监管

4月13日消息,据中国移动通信联合会元宇宙产业工作委员会网站,中国移动通信联合会元宇宙产业工作委员会、中国通信工业协会区块链专业委员会等,共同发布“关于元宇宙生成式人工智能(类 ChatGPT)应用的行业提示”。提示内…

wmv格式的视频怎么转成mp4,4种方法简单易学

你知道wmv格式的视频怎么转成mp4吗?wmv和mp4都是视频文件格式,wmv格式是由微软开发的一种数字容器格式,它主要适用于电脑客户端。但由于其兼容性不佳,可能导致无法播放或出现错误。相比之下,mp4格式具有更广泛的兼容性…

Maven项目的JDK版本不一致引发的问题

1.运行提示java: 错误: 不支持发行版本 5&#xff08;改成JDK8&#xff09; 2.运行提示java&#xff1a;-source 8 中不支持 instanceof 中的模式匹配(改成JDK17) 解决方案&#xff08;以JDK8为例&#xff09; 1.普通Maven项目 通过指定Maven插件的JDK版本解决 <build>…

使用CentOS8实现Nginx负载均衡反向代理与安装MySQL数据库(涉及CentOS8、Nginx、MySQL、Flask)

文章目录1. 安装并配置CentOS8虚拟机1.1 安装1.2 设置静态IP(看需求不一定要设置)1.3 开启SSH\开启关闭端口\关闭开启防火墙1.4 虚拟机与本机互相复制粘贴、传输文件2. 如何在CentOS 8安装Python3. 解决错误&#xff1a;为 repo appstream 下载元数据失败4. 安装Nginx4.1 [关于…

Shader Graph8-输入Vector

一、三个向量 Vector叫做矢量或者向量&#xff0c;向量更偏向于数学&#xff0c;矢量更偏向于图形。下面三种Vector我们用的最多&#xff0c;红色叫Camera Vector相机向量、蓝色叫Surface Normal表面法线、黄色叫Light Vector光向量。 每个面都有法线&#xff0c;法线向量是这…

七大排序算法

文章目录1. 冒泡排序2. 插入排序3. 希尔排序4. 选择排序5. 堆排序6. 快速排序7. 归并排序1. 冒泡排序 从 0 号下标开始遍历&#xff0c;相邻两个数相互比较&#xff0c;如果左边的数大于右边的数&#xff0c;执行交换操作&#xff0c;最终每一趟冒泡都会将一个最大的数移到最右…

matplotlib使用

文章目录基本语法导入库plt 和ax.区别ax. 用法子图创建-展示不同的分区区域设置刻度范围&#xff1a;显示刻度设置刻度标签tick_params()函数添加轴坐标标签&#xff0c;表头&#xff0c;图例plt.用法普通折线图plt.plot(x,y,format_string,**kwargs)函数说明&#xff1a;中文显…

chapter-1数据管理技术的发展

以下课程来源于MOOC学习—原课程请见&#xff1a;数据库原理与应用 数据管理技术的发展 发展三阶段 人工管理【1950前】 采用批处理&#xff1b;主要用于科学计算&#xff1b;外部设备只有磁带&#xff0c;卡片&#xff0c;纸带等 特点&#xff1a;1.数据面向应用2.数据不保…

python注释方式

计算机语言的注释基本都是一样的作用 一个是 我这段代码可能之后还要用 但现在没用 我先注释在这里 他不会参与运行 但我想用了 直接打开注释 他就正常运行了 还要就是 用 注释 解释你代码的作用 方法呢 单行注释 以警号开头 右侧内容即为注释 print(666) print(130.33) #pr…

STM32之增量式编码器电机测速

STM32之增量式编码器电机测速编码器编码器种类按监测原理分类光电编码器霍尔编码器按输出信号分类增量式编码器绝对式编码器编码器参数分辨率精度最大响应频率信号输出形式编码器倍频STM32的编码器模式编码器模式编码器的计数方向仅在TI1计数电机正转&#xff0c;向上计数。电机…

卷麻了,00后测试用例写的比我还好,简直无地自容.....

前言 作为一个测试新人&#xff0c;刚开始接触测试&#xff0c;对于怎么写测试用例很头疼&#xff0c;无法接触需求&#xff0c;只能根据站在用户的角度去做测试&#xff0c;但是这样情况会导致不能全方位的测试APP&#xff0c;这种情况就需要一份测试用例了&#xff0c;但是不…

服务(第五篇)Nginx!!!

Nginx和Apache的差异? Nginx是一个基于事件的Web服务器&#xff0c;Apache是一个基于流程的Web服务器; Nginx所有请求都由一个线程处理&#xff0c;Apache单个线程处理单个请求; Nginx异步非阻塞的&#xff0c;Apache是阻塞的; Nginx在内存消耗和连接方面更好&#xff0c;Apa…

【JAVA】#详细介绍!!! synchronized 加锁 详解(2)

本篇主要是针对 synchronized锁的优化过程来介绍&#xff0c;针对synchronized的加锁优化过程来了解上篇所提到的synchronized的锁特性。 目录 1. synchronized锁的特性 2.synchronized 锁的升级过程 2.1 总过程&#xff1a; 2.2 偏向锁 2.3 轻量级锁 2.3.1自旋锁vs自适应…

网络安全之认识勒索病毒

一、什么是勒索病毒 勒索病毒&#xff0c;是一种新型电脑病毒&#xff0c;伴随数字货币兴起&#xff0c;主要以邮件、程序木马、网页挂马、服务器入侵、捆绑软件等多种形式进行传播&#xff0c;一旦感染将给用户带来无法估量的损失。如果遭受勒索病毒攻击&#xff0c;将会使绝…

Flink任务提交流程

抽象流程 抽象级别&#xff1a;不管是什么模式&#xff0c;大体上就是上面这个流程。 任务提交给分发器分发器把任务提交给JobManager上的JobMaster组件JobMaster收到任务之后&#xff0c;就会想JobManager上的ResourceManager去请求SlotJobManager上的ResourceManager会提供给…

3.1.2栈的顺序存储实现

&#xff08;1&#xff09;初始化一个顺序栈/栈的判空操作 与顺序表的声明类似 就是要加上一个栈顶指针top 然后把别名SqList改为SqStack 我们发现top指针的大小就是数组下标。 当空栈时&#xff0c;top指针为-1. &#xff08;2&#xff09;进栈操作 ep&#xff1a;插入一…

版本控制:git的基本使用

1.git基本介绍及安装 学习网址&#xff1a;Git - Book 安装步骤: Git - 安装 Git 安装完可以在本地电脑上查看&#xff1a; cmd为windows环境 bash为linux的环境 2. Git常用命令 牛客网项目——前置技术&#xff08;五&#xff09;&#xff1a;版本控制_平什么阿的博客-C…

ffmpeg关于视频前几秒黑屏的问题解决

关于音频播放器视频前两秒黑屏的解决&#xff0c;及QtAV和ffmpeg的环境搭建&#xff08;软件包可以找李青璠提供&#xff0c;也可以自己下&#xff09;首先我们可以参考下面两个博客进行ffmpeg的搭建&#xff0c;第一个博客的问题可以在第二个博客里寻求方法解决。其中第一个博…

服务器上后台运行python程序

Linux中将代码nohup后台执行、查看正在运行代码、结束进程写在最前面环境代码示例nohup指令& 后台运行2>&1 错误内容重定向到标准输出查看当前python相关进程结束进程nohup后台pip下载安装写在最前面 一直是pycharm运行服务器上代码&#xff0c;但存在问题&#xf…