内卷化时代,一名普通测试员的铁饭碗究竟是什么?

2023-11-14

内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐有了“万物皆可卷”的程度。究其来源,内卷这个词的出现,是伴随着996开始讨论的。很不幸,996、福报等等这些词的重灾区和源头就是计算机/互联网行业。那么作为行业中一个非常重要的分支,测试圈的情况怎么样呢?

  软件测试圈的内卷是怎样的?

  在谈起测试圈的内卷之前,我们必须先搞清楚我们常说的内卷是什么。

  内卷,网络流行词,本意是指人类社会在一个发展阶段达到某种确定的形式后,停滞不前或无法转化为另一种高级模式的现象。当社会资源无法满足所有人的需求时,人们通过竞争来获取更多资源。

  后经网络流传,用来指代非理性的内部竞争或“被自愿”竞争,现在指同行间竞相付出更多努力以争夺有限资源,从而导致个体“收益努力比”下降的现象。可以看作是努力的“通货膨胀”。

  在测试圈,随着基于敏捷甚至是Devops的架构,作为这些架构重要内容的自动化成为了热门,而测试行业也进入了推广自动化的“军备竞赛”。近些年来,不管是作为测试工程师,还是敏捷QA,甚至是其他角色,恐怕都对于自动化测试的汹涌之势都有所耳闻,而从公司角度,在诸多公司中,自动化测试借着敏捷转型的要求也都几乎成为了测试工作的标配,各大公司对于测试的招聘要求也纷纷升级成为自动化测试,彷佛只要有了自动化测试,一切问题就迎刃而解。事实真的是这样吗?

  有一个“电影院困境”,很形象地说明了“内卷”的表现和身处其中的人们的感受:一个电影院里正在播放电影,观众席中黑压压地坐满了观众,这时,前面有人为了看得更清楚,站起来看电影,于是后面的人为了不被挡住,于是也站了起来……终于电影院里所有人都站着看完了电影。而本来他们是可以很舒服地看完这部电影的。

  在这个环境下,每个人都付出了极高的时间成本和精力,但是获得的收益却十分有限。同样的,在测试领域中,按照测试分层测试金字塔进行组合的架构遭到了一定的冲击和破坏。由内卷化而形成的行业内“纳什均衡”所带来的35岁现象等等,成为附着在这个行业上的伤痕和毒瘤。这个问题以后专门会提到,这次只谈一下测试技术本身的内卷。

  测试技术本身的内卷

  敏捷测试中,有一个分层测试策略,一般来测试分为三个层次,分别是UI层、Service层以及Unit层。具体结构如下图:

  UI层是负责界面展示和用户交互的那一层,也是测试工程师最常接触到的部分,大量的测试是在这一层完成的,也是涉及方面最广的测试层。Service层提供接口和服务,UI层可以从Service层获取数据,也可以通过Service层将数据保存于数据库或其他存储空间里。Unit层的测试对象是函数或方法;Service层的测试对象是模块和接口;UI层的主要测试对象是展示和交互。

  这是一个非常完整且工作效率极高的分层机制,它将不同功能和类别的内容进行了归类化,使得针对每一层的测试,都有相应的手段和途径进行相应的测试。这是基于敏捷框架或者模型下,测试作为适应模型的基础进行的改变。针对不同层级,测试工程师用不同侧重点的测试工具或测试方法,来进行搭配组合,获得最高效和最全覆盖的测试。

  当前,自动化测试成为了一个热点,所有的测试工作都开始向自动化转型,而本身只是测试工作一个重要组成部分的自动化测试,瞬间仿佛成为了测试工作升级更新转型的唯一内容,而其简单高效的衡量方式,也使得自动化测试成为了KPI和OKR的青睐对象。

  最明显的是,按照自动化测试金字塔理论,大量的基础工作是在单元测试阶段进行的,而接口测试是基于单元测试完成,然后最终通过UI测试进行界面化的验证。这个三角形是自动化测试的策略结构。

  单元测试

  单元测试要求在开发中对每个功能模块(函数、类方法)进行测试,如检测其中某一项功能是否按预期要求正常运行。单元测试中通常采用白盒测试,主要对代码内部逻辑结构进行测试。

  接口测试

  接口测试要求对数据传输、数据库性能等进行测试,从而保证数据传输以及处理的完整性。接口功能的完整运作对整个项目功能扩展、升级与维护有着重要的作用,接口测试通常使用黑盒测试和白盒测试相结合的方式进行。

  UI测试

  UI测试以用户体验为主,软件的所有功能都是通过这一层展示给用户的,因此UI测试的工作也很重要。

  单元测试由于大量涉及白盒测试,更基础的方面则是由人员进行代码走查或代码review来完成,而Service则是部分采用人工进行,而UI界面以最终的用户体验为主,因此在UI测试中并不是100%地使用自动化测试,其中需要人工操作来确定UI界面的易用程度。由此可见,这样的金字塔策略,依然不能完全舍弃手动测试在整个测试工作中的重要作用。

  需要注意的是,很多鼓吹测试全面自动化的管理人员,甚至没有细细区分这两个图例的差异,就简单地将二者合一,将自动化测试策略和分层测试策略进行了混淆。

  在开发人员陷入针对框架和前端机制无休止地更新追求下,内卷也逐渐向测试圈进行扩展,但是和开发中单纯求新求快的情况又略有不同。当决策层的好大喜功和自动化测试的特点结合起来的时候,简单粗暴地大干快上成了唯一的选择,于是,测试技术的内卷就这样轰轰烈烈地开始了。

  测试员如何在内卷中走出来?

  测试工程师不得不花费大量的精力,进行自动化测试的改造和框架搭建,而这样的“大干快上”又忽略了自动化测试本身的一些要求。例如:需求相对稳定,有充足的用例库,交付时间允许项目进行自动化改造等等。造成的一大结果就是,行业中大量的测试工程师变成了以写测试代码为主要工作的工作人员,甚至在职业认知上,将自己有意无意地同开发人员进行了混淆。

  这样的结果对于测试行业和测试工程师的职业生涯有着重大影响:

  ·首先,手工测试作为整个测试行业的基础,地位和重要性被大大弱化,很多测试人员的基本能力被大大削弱,而后期的很多能力提升和拓展,都是需要从基于手工测试的分析和操作开始的。

  ·其次,很多测试项目并不适宜进行自动化改造,削足适履的最终结果就是对项目的测试效率等有了极大的限制,本末倒置。

  ·最后,当所有的测试聚焦在自动化上时,会陷入对于技术栈本身的更新和迭代。对于代码能力的提升,显然是一个相对更容易出成果的路径。这样无法将焦点集中在业务本身,这对于测试人员本身能力的发展是极为不利的。

  在测试工作中,原本起到规范和框架作用的敏捷架构,就不可避免地受到内卷的影响,其中对于测试质量和测试覆盖率具有极强规范和限制能力的测试用例,会被大大弱化,大量的测试工程师会主动或被动地向测试开发工程师转型,由原本聚焦在基于业务的测试用例等方面,转向对于自动化测试架构与脚本的打磨和迭代。当聚焦点从业务移开时,测试工作本身的压舱石——质量,就会不可避免地受到影响。

  另外,测试工程师的职业要求,在多方面都有体现,但这样的内卷会使得整个行业的从业人员将注意力向代码能力集中,从而陷入盲目追求代码能力,而不重视测试能力提升基础的怪圈里。当形成这样的恶性循环之后,测试圈的发展会受到极大冲击,而对于圈中的测试工程师来说,测试技能和测试理念的更新会受到极大的干扰。

  不忘初心,方得始终。在技术浪潮不断更新迭代的今天,测试工程师也应该做到“不忘初心”,所谓形而上者谓之“道”,在意识方面,始终将业务需求作为工作的基准,把握住质量核心,需求基准;形而下者谓之“器”,不管是手工测试,还是自动化测试,抑或是探索性测试,都是要基于“道”这个初心,围绕着测试工作服务的。只有这样,测试工程师才能在测试圈不断内生或外压的内卷中,走出属于自己的职业道路。

  IT工作固然是辛苦的,软件测试当然也不例外。 每天执行用例、跟踪Bug,还要与开发、产品同学争吵PK,与人斗其乐无穷~但正是因为这些默默的付出,才让一场本该在用户面前发生的灾难,提前在自己面前发生了,是否有一种救世主的感觉?

  我们拯救了用户,也拯救了这一软件,避免了她被抛弃、卸载的命运。既然选择了测试这一行,那不如不忘初心地好好的坚持下去~~

【整整200集】超超超详细的python自动化测试进阶教程合集,真实模拟企业项目实战

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内卷化时代,一名普通测试员的铁饭碗究竟是什么? 的相关文章

  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 微信小程序的自动化测试框架

    微信发布了小程序的自动化测试框架Minium 提供了多种运行验证方式 其特点 支持一套脚本 iOS Android 模拟器 三端运行 提供丰富的页面跳转方式 看不到也能去得到 可以获取和设置小程序页面数据 让测试不止点点点 可以直接触发小程
  • 软件测试|Pydantic详细介绍与基础入门

    简介 Pydantic 是一个强大的 Python 库 用于数据验证和解析 特别是用于处理 JSON 数据 它的主要目标是使数据验证和解析变得简单 直观和可维护 本文将介绍 Pydantic 的基础知识 包括如何定义模型 验证数据以及处理错
  • 软件测试|使用Python轻松裁剪视频

    简介 裁剪视频是在视频编辑和处理中常见的任务之一 Python提供了多种库和工具 可以用来裁剪视频 在本文中 我们将详细讨论如何使用Python来裁剪视频 并提供示例代码 步骤1 环境准备 首先 我们要安装必要的Python库 我们将使用
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 开眼了,自动化测试还能这样用?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 探索自动化测试断言:提升测试效率与质量的关键!

    前言 断言在自动化测试中起着关键的作用 它是验证测试结果是否符合预期的重要手段 如果在自动化测试过程中忽视了断言 那么这个测试就失去了其本质的意义 因为我们无法得知测试结果是否达到了预期的效果 因此 断言在自动化测试中的重要性不言而喻 那么
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结

随机推荐

  • Linux初识之Kali Linux 系统安装详细教程(虚拟机)

    文章出自个人博客https knightyun github io 2018 04 15 kali linux install 转载请申明 目录 一 Kali Linux 介绍 1 Linux 2 Kali 二 虚拟机安装与配置 1 下载
  • 数据开放共享的重要性_为什么今天开放数据很重要

    数据开放共享的重要性 任何变化的主要因素首先是观察 我们收集的数据使我们能够分析复杂的人类模式和行为 没有数据 什么也观察不到 一段时间以来 政府一直在收集大量数据 但是现在 他们正式使公民可以访问这些数据 奥巴马总统最近宣布启动 机会项目
  • AVPlayer视频播放

    AVFoundation中的元数据 Apple环境下的媒体类型主要有四种 QuickTime mov MPEG 4 video mp4和m4v MPEG 4 audio m4a MPEG Layer III audio mp3 使用元数据
  • PostgreSQL和mysql语法区别详解通俗易懂

    目录 0 PostgreSQL的数据类型 0 1 数值数据类型 0 2 字符串数据类型 0 3 日期 时间数据类型 0 4 布尔类型 0 5 货币类型 0 6 几何类型 1 PostgreSQL创建表 1 1 建表之前 创建自增序列 1 2
  • 数据结构(1)—— 程序性能分析

    目录 1 什么是程序性能 2 空间复杂度 2 1 空间复杂度的组成 3 时间复杂度 3 1 时间复杂度的组成 1 什么是程序性能 所谓程序性能 performance of a program 是指运行这个程序所需要的内存和时间的多少 一个
  • Linux常见命令

    ifconfig 查看ip vi filename 打开或新建文件 并将光标置于第一行首 mkdir dir1 创建一个叫做 dir1 的目录 mkdir dir1 dir2 同时创建两个目录 rm f file1 删除一个叫做 file1
  • 两个二维数组合并

  • 重磅发布

    导语 后疫情时代 随着各行业线下业务与线上业务的深度结合转型 流量思维的增量导向逐渐转向降本增效 虚假流量已经成为互联网时代信息化数字资产最大的威胁之一 据极验最新行业数据统计 各个行业都有较高比例的虚假流量存在 机器流量最为泛滥的区块链行
  • Flutter实现类似Android中的PopupWindow控件

    最近在网上看到一段话 产品有三宝 弹窗 浮层加引导 设计有三宝 透明 阴影加圆角 运营有三宝 短信 push加红包 在日常开发中经常会遇到弹窗 浮层之类的效果 这些在Android中实现很简单 可以用PopupWindow完成 但是在flu
  • 静态映射和动态映射

    1 为什么需要映射 在内核启动过程中会开启MMU 建立虚拟映射表 以后内核使用的都是虚拟地址 但是我们查询数据手册得到I O寄存器地址都是物理地址 于是需要将物理地址转换到虚拟地址 这样才能在内核空间去访问I O寄存器 物理地址转换到虚拟地
  • Linux下配置pptp协议之拨号上网

    首先安装pptp sodo apt get install pptp linux y 创建连接 sudo pptpsetup create nodeName server yourServerAddr username xxx passwo
  • zookeeper的安装部署

    1安装zookeeper集群 上传安装包 移动到指定文件夹 mv zookeeper 3 4 6 tar gz opt apps 3 解压 tar zxvf zookeeper 3 4 6 tar gz 4 修改配置文件 1 进入到conf
  • Git介绍及常用命令

    Git介绍及常用命令 在软件开发过程中 团队协作基本上都会使用到git git可以使得团队开发效率变高 因此 我们接下来介绍git的使用方法 国内一般使用gitee 当然 也可以使用github github是国外的 所以加载慢 甚至加载不
  • SQL知识整理三:变量、全局变量、视图、事务、异常

    SQL知识整理三 变量 全局变量 视图 事务 异常 参考文章 1 SQL知识整理三 变量 全局变量 视图 事务 异常 2 https www cnblogs com chengxingliang p 3333277 html 备忘一下
  • 【马普所2008】机器学习中的核方法(上)

    Hofmann T Sch Lkopf B Smola A J Kernel methods in machine learning J Annals of Stats 2008 36 3 1 Integrating structured
  • Spring的事务隔离级别

    Spring的事务隔离级别是用于控制事务并发访问数据库时的行为 Spring框架提供了五个事务隔离级别 分别是 1 DEFAULT 默认 使用数据库默认的事务隔离级别 在大多数情况下 这等同于使用READ COMMITTED级别 2 REA
  • 使用纯java ssh方式连接linux服务器,并用此方式部署war到linux的tomcat下

    b 纯java代码使用ssh方式登录linux服务 实际应用中 可以使用这种方式上传部署web工程war包 并且部署启动tomcat 一个自动化完成所有工作 起到节省时间作用 1 去 url http www jcraft com jsch
  • QIIME2-DADA2&Deblur

    Deblur使用序列错误配置文件将错误的序列与从其来源的真实生物序列相关联 从而得到高质量的序列变异数据 主要为两个步骤 DADA2 质控 汇总版 qiime dada2 denoise single i demultiplexed seq
  • notepad 自动换行 分屏 快捷键

    一 自动换行 视图 gt 自动换行 二 分屏 Tab标签 上方文件名 右键 gt 移动到另一视图 三 快捷键 快速复制 Ctrl D 区块注释 Ctrl Shift Q 保存所有打开文件 Ctrl Shift S 行注释 Ctrl K 取消
  • 内卷化时代,一名普通测试员的铁饭碗究竟是什么?

    内卷 是现在热度非常高的一个词汇 随着热度不断攀升 隐隐有了 万物皆可卷 的程度 究其来源 内卷这个词的出现 是伴随着996开始讨论的 很不幸 996 福报等等这些词的重灾区和源头就是计算机 互联网行业 那么作为行业中一个非常重要的分支 测