软件测试工程师的进阶之旅

news2025/1/20 6:03:19

很多人对测试工程师都有一些刻板印象,比如觉得测试“入门门槛低,没有技术含量”、“对公司不重要”、“操作简单工作枯燥”“一百个开发,一个测试”等等。

会产生这种负面评论,是因为很多人对测试的了解,还停留在几年前,那时对测试的要求确实相对较低。但随着技术发展,企业对测试人员的要求已经逐步从低端的功能性测试,转变为更高级的自动化测试了。

尤其是近两年,越来越多大厂喊着要“ QE”。QE 即 Quality Engineer,也就是软件测试工程师,“去 QE”,不再需要测试工程师,本质上指的是测试工作不再专职的测试工程师来做,而是由开发工程师自己来完成

软件测试领域大佬茹炳晟,专门写过一篇文章探讨这个问题,他的观点就很一针见血:

“去QE”通常会遵循“谁开发、谁测试、谁上线、谁On Call” 的 “一条龙” 原则。显然,如果软件开发流程按照这个模式运作,原本的QE,也就是测试工程师和测试开发工程师在项目中就会很尴尬,如果不能找到突破点并为项目或公司带来价值,极端情况下就会面临被淘汰的窘境,现实是很残酷,在一些推行“去QE”的互联网巨头公司,已经有很多活生生的例子了,一些原本做功能测试以及自动化测试的工程师已经被迫离开了原本的岗位,甚至是离开了公司。”

所以,面对势不可挡的“去QE”趋势,测试工程师怎么才能积极面对并拥抱变化,在“去QE”的时代背景下破茧重生呢?

首先要做的,当然是提升自己的技术能力。但我却发现,身边很多测试工程师,仍在做重复性工作。想探索点新技术,发现公司的业务场景和用户体量根本用不着。长久下去,某天跟同行交流才发现自己仿佛被时代抛弃,什么自动化测试、性能测试、API 测试、高可用高性能之类的流行名词和行业趋势,明明身在其中却不知所云。就比如:

进阶Python接口自动化测试必备教程(23年全网最详细)

  • 如何才能快速了解和学习那些时髦的测试技术?

  • 对于一个测试人员,如何构建自己的能力堡垒?

  • 成为软件测试工程师的高效学习路径是什么?

  • 怎样找到最适合自己项目的测试框架和工具?

其实,之前这些问题也常充斥在我心里,后来随着工作年限的变长和经验的积累,我才慢慢领悟。尤其后来看到茹炳晟老师的观点,更是深觉自己应该抓紧时间夯实基础,提高技术水平。

测试工程师的必备技能: 

  1. 软件测试基础篇,系统讲解软件测试的基本概念、主流的测试方法和测试理念,为后续技术知识的学习打好基础。

  2. 软件测试技术篇,理论结合实例,讲述包括 GUI 自动化测试、API 自动化测试、代码级测试和性能测试技术,这 4 种测试技术的核心知识、设计思想以及最佳实践。

  3. 测试架构篇,讲述测试数据准备与测试基础架构的内容,既有解决测试数据准备痛点的方案,又有大型互联网企业测试基础架构设计的最佳实践。

  4. 测试新技术篇,选取当下比较热门的探索式测试、测试驱动开发、精准测试、渗透测试技术和基于模型的测试,分别讲述它们解决的问题和具体的实现方法。

  5. 测试人员的互联网架构核心知识篇,从高性能、高可用、伸缩性和可扩展性四个维度。对大型网站架构进行深度剖析,弥补测试工程师相比较与开发工程师以及测试架构师之间的鸿沟。

目录

测试是一个软件上线的「最后一道屏障」,测试人员的职责就是要尽可能多地找到潜在的缺陷。但不论能力多强的测试工程师,都不可能保证上线百分百没有 bug 

所以,只有“知其然知其所以然”,深入理解当下主流的测试技术,才能高效完成高质量的测试,交付合格的软件。

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

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

相关文章

Lesson12 udptcp协议

netstat命令->查看网络状态 n 拒绝显示别名,能显示数字的全部转化成数字l 仅列出有在 Listen (监听) 的服務状态p 显示建立相关链接的程序名t (tcp)仅显示tcp相关选项u (udp)仅显示udp相关选项a (all)显示所有选项,默认不显示LISTEN相关 pidof命令-&…

SQL select详解(基于选课系统)

表详情: 学生表: 学院表: 学生选课记录表: 课程表: 教师表: 查询: 1. 查全表 -- 01. 查询所有学生的所有信息 -- 方法一:会更复杂,进行了两次查询,第一…

机器学习笔记之正则化(六)批标准化(BatchNormalization)

机器学习笔记之正则化——批标准化[Batch Normalization] 引言引子:梯度消失梯度消失的处理方式批标准化 ( Batch Normalization ) (\text{Batch Normalization}) (Batch Normalization)场景构建梯度信息比例不平衡批标准化对于梯度比例不平衡的处理方式 ICS \text{…

《抄送列表》:过滤次要文件,优先处理重要文件

目录 一、题目 二、思路 1、查找字符/字符串方法:str1.indexOf( ) 2、字符串截取方法:str1.substring( ) 三、代码 详细注释版: 简化注释版: 一、题目 题目:抄送列表 题目链接:抄送列表 …

Java[集合] Map 和 Set

哈喽,大家好~ 我是保护小周ღ,本期为大家带来的是 Java Map 和 Set 集合详细介绍了两个集合的概念及其常用方法,感兴趣的朋友可以来学习一下。更多精彩敬请期待:保护小周ღ *★,*:.☆( ̄▽ ̄)/$:*.★* ‘ 一、…

JVM知识汇总

1、JVM架构图 2、Java编译器 Java编译器做的事情很简单,其实就是就是将Java的源文件转换为字节码文件。 1. 源文件存储的是高级语言的命令,JVM只认识"机器码"; 2. 因此将源文件转换为字节码文件,即是JVM看得懂的"…

Node.js—Buffer(缓冲器)

文章目录 1、概念2.、特点3、创建Buffer3.1 Buffer.alloc3.2 Buffer.allocUnsafe3.3 Buffer.from 4、操作Buffer4.1 Buffer 与字符串的转化4.2 Buffer 的读写 参考 1、概念 Buffer 是一个类似于数组的对象 ,用于表示固定长度的字节序列。Buffer 本质是一段内存空间…

视觉学习(四) --- 基于yolov5进行数据集制作和模型训练

环境信息 Jetson Xavier NX:Jetpack 4.4.1 Ubuntu:18.04 CUDA: 10.2.89 OpenCV: 4.5.1 cuDNN:8.0.0.180一.yolov5 项目代码整体架构介绍 1. yolov5官网下载地址: GitHub: https://github.com/ultralytics/yolov5/tree/v5.0 2. …

单元测试中的独立运行

单元测试中的独立运行 单元测试是针对代码单元的独立测试。要测试代码单元,首先要其使能够独立运行。项目中的代码具有依赖关系,例如,一个源文件可能直接或间接包含大量头文件,并调用众多其他源文件的代码,抽取其中的一…

论文阅读:Unsupervised Manifold Linearizing and Clustering

Author: Tianjiao Ding, Shengbang Tong, Kwan Ho Ryan Chan, Xili Dai, Yi Ma, Benjamin D. Haeffele Abstract 在本文中,我们建议同时执行聚类并通过最大编码率降低来学习子空间联合表示。 对合成和现实数据集的实验表明,所提出的方法实现了与最先进的…

limit、排序、分组单表查询(三)MySQL数据库(头歌实践教学平台)

文章目的初衷是希望学习笔记分享给更多的伙伴,并无盈利目的,尊重版权,如有侵犯,请官方工作人员联系博主谢谢。 目录 第1关:对查询结果进行排序 任务描述 相关知识 对查询结果排序 指定排序方向 编程要求 第2关&a…

浏览器架构和事件循环

浏览器架构 早期浏览器【单进程多线程】 Page Thread 页面渲染,负责执行js,plugin,drawNetWork Thread 网络请求其余线程 file, storage缺点:只要其中一个线程崩溃,页面就会崩溃。 现代浏览器架构 多进程的浏览器,浏览器的每一个…

几种常见的激活函数

文章目录 常见的激活函数介绍Sigmoid函数ReLU函数LeakyReLU函数Tanh函数Softmax函数总结 常见的激活函数介绍 激活函数是神经网络中的重要组成部分,它决定了神经元的输出。在神经网络的前向传播中,输入数据被传递给神经元,经过加权和和激活函…

Unity自动化打包(1)

一 安装Jenkins https://www.jenkins.io/download/ 官网 1) 使用 brew 安装 2) 安装完成后一般都会遇到问题 我用的是jenkins-lts 稳定版 解决办法 删除掉对应的文件夹 1 rm -rf /usr/local/Homebrew/Library/Taps/homebrew/homebrew-services 2…

kafka延时队列内部应用简介

kafka延时队列_悠然予夏的博客-CSDN博客 两个follower副本都已经拉取到了leader副本的最新位置,此时又向leader副本发送拉取请求,而leader副本并没有新的消息写入,那么此时leader副本该如何处理呢?可以直接返回空的拉取结…

[ 高并发]Java高并发编程系列第二篇--线程同步

并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求,而且也能怎么你在整个项目中的一个处理逻辑的能力体现.那么,你真的知道什么…

ThreadLocal 内存泄露的原因及处理方式

1、ThreadLocal 使用原理 ThreadLocal的主要用途是实现线程间变量的隔离,表面上他们使用的是同一个ThreadLocal, 但是实际上使用的值value却是自己独有的一份。用一图直接表示threadlocal 的使用方式。 从图中我们可以当线程使用threadlocal 时&#xf…

CRC校验原理及其使用

目录 何为CRC 为什么需要校验 为什么是CRC CRC的缺点 目录 何为CRC 为什么需要校验 为什么是CRC CRC的缺点 如何进行CRC校验 校验标准式是什么玩意? 常见的CRC校验 CRC校验计算过程 CRC校验代码参考 代码解读 生成CRC8校验表的代码 CRC检验网站 如何…

GEE:使用 VCT(Vegetation Change Tracker)算法森林进行时序变化检测分析

作者: _养乐多_ 本文将介绍一段 Google Earth Engine 的代码,该代码用于进行时序变化检测分析,即使用 VCT(Vegetation Change Tracker)算法对某一地区的多年影像进行分析,得出每一年的变化程度,并输出一个 VCT 矩阵,同时还可根据矩阵得到每一年的变化遥感图。可以分析…

时下热门话题:ChatGPT能否取代人类?

时下热门话题:ChatGPT能否取代人类? 2022年11月底,人工智能对话聊天机器人ChatGPT推出,迅速在社交媒体上走红,短短5天,注册用户数就超过100万。2023年1月末,ChatGPT的月活用户已突破1亿&#x…