内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐到了“万物皆可卷”的程度。究其来源,内卷这个词的出现,是伴随着996的讨论开始的。

很不幸,996、福报这些词的重灾区和源头就是计算机/互联网行业,那么作为行业中一个非常重要的分支,测试圈的情况怎么样呢?

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

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

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

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

在测试圈,随着基于敏捷甚至是Devops的架构,作为这些架构重要内容的自动化成为了热门,而测试行业也进入了推广自动化的“军备竞赛”。

近些年来,不管是作为测试工程师,还是敏捷QA,甚至是其他角色,恐怕都对于自动化测试的汹涌之势有所耳闻。

而从公司角度,在诸多公司中,自动化测试借着敏捷转型的要求,也几乎成为了测试工作的标配。

各大公司对于测试的招聘要求也纷纷升级成为自动化测试,彷佛只要有了自动化测试,一切问题就迎刃而解。

事实真的是这样吗?

有一个“电影院困境”,很形象地说明了“内卷”的表现和身处其中的人们的感受:

一个电影院里正在播放电影,观众席中黑压压地坐满了观众,这时,前面有人为了看得更清楚,站起来看电影,于是后面的人为了不被挡住,于是也站了起来……

终于,电影院里所有人都站着看完了电影,而本来他们是可以很舒服地看完这部电影的。

在这个环境下,每个人都付出了极高的时间成本和精力,但是获得的收益却十分有限。

同样的,在测试领域中,按照测试分层测试金字塔进行组合的架构遭到了一定的冲击和破坏。

由内卷化而形成的行业内的35岁现象等等,成为附着在这个行业上的伤痕和毒瘤。

2、 测试技术本身的内卷

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

UI层是负责界面展示和用户交互的那一层,也是测试工程师最常接触到的部分,大量的测试是在这一层完成的,也是涉及方面最广的测试层。

Service层提供接口和服务,UI层可以从Service层获取数据,也可以通过Service层将数据保存于数据库或其他存储空间里。

Unit层的测试对象是函数或方法,Service层的测试对象是模块和接口,UI层的主要测试对象是展示和交互。

这是一个非常完整且工作效率极高的分层机制,它将不同功能和类别的内容进行了归类化,使得针对每一层,都有相应的手段和途径进行相应的测试。

这是基于敏捷框架或者模型下,测试作为适应模型的基础进行的改变。针对不同层级,测试工程师用不同侧重点的测试工具或方法,来进行搭配组合,获得最高效和最全覆盖的测试。

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

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

单元测试

单元测试要求在开发中对每个功能模块(函数、类方法)进行测试,如:检测其中某一项功能是否按预期要求正常运行。

单元测试中通常采用白盒测试,主要对代码内部逻辑结构进行测试。

接口测试

接口测试要求对数据传输、数据库性能等进行测试,从而保证数据传输以及处理的完整性。

接口功能的完整运作对整个项目功能扩展、升级与维护有着重要的作用,接口测试通常使用黑盒测试和白盒测试相结合的方式进行。

UI测试

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

单元测试由于大量涉及白盒测试,更基础的方面则是由人员进行代码走查或代码review来完成,而Service则是部分采用人工进行。

而UI界面以最终的用户体验为主,因此在UI测试中并不是100%的使用自动化测试,其中需要人工操作来确定UI界面的易用程度。

由此可见,这样的金字塔策略,依然不能完全舍弃手动测试在整个测试工作中的重要作用。

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

在开发人员陷入针对框架和前端机制无休止地更新追求下,内卷也逐渐向测试圈进行扩展,但是和开发中单纯求新求快的情况又略有不同。

当决策层的好大喜功和自动化测试的特点结合起来的时候,简单粗暴地大干快上成了唯一的选择,于是,测试技术的内卷就这样轰轰烈烈地开始了。

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

测试工程师不得不花费大量的精力,进行自动化测试的改造和框架搭建,而这样的“大干快上”又忽略了自动化测试本身的一些要求。

例如:需求相对稳定、有充足的用例库、交付时间允许项目进行自动化改造等等。

造成的一大结果就是,行业中大量的测试工程师变成了以写测试代码为主要工作的工作人员,甚至在职业认知上,将自己有意无意同开发人员进行了混淆。

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

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

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

最后,当所有的测试聚焦在自动化上时,会陷入对于技术栈本身的更新和迭代。

代码能力的提升,显然是一个相对更容易出成果的路径。这样无法将焦点集中在业务本身,这对于测试人员本身能力的发展是极为不利的。

在测试工作中,原本起到规范和框架作用的敏捷架构,就不可避免地受到内卷的影响。

其中对于测试质量和测试覆盖率具有极强规范和限制能力的测试用例,会被大大弱化,大量的测试工程师会主动或被动地向测试开发工程师转型。

原本聚焦在基于业务的测试用例等方面,转向对于自动化测试架构与脚本的打磨和迭代。当聚焦点从业务移开时,测试工作本身的压舱石——质量,就会不可避免地受到影响。

另外,测试工程师的职业要求,在多方面都有体现。但这样的内卷会使得整个行业的从业人员将注意力向代码能力集中,从而陷入盲目追求代码能力,而不重视测试能力提升基础的怪圈里。

当形成这样的恶性循环之后,测试圈的发展会受到极大冲击,而对于圈中的测试工程师来说,测试技能和测试理念的更新会受到极大的干扰。

不忘初心,方得始终。在技术浪潮不断更新迭代的今天,测试工程师也应该做到“不忘初心”,所谓形而上者谓之“道”,在意识方面,始终将业务需求作为工作的基准,把握住质量核心,需求基准。

形而下者谓之“器”,不管是手工测试,还是自动化测试,抑或是探索性测试,都是要基于“道”这个初心,围绕着测试工作服务。

只有这样,测试工程师才能在测试圈不断内生或外压的内卷中,走出属于自己的职业道路。

IT工作固然是辛苦的,软件测试当然也不例外。 每天执行用例、跟踪Bug,还要与开发、产品同学争吵PK,与人斗其乐无穷~

但正是因为这些默默的付出,才让一场本该在用户面前发生的灾难,提前在自己面前发生了,是否有一种救世主的感觉?

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

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

内卷时代,普通测试员的铁饭碗究竟是什么?相关推荐

  1. 告别“大小周”、回到二三线,程序员“内卷”时代终结?

    作者 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 相信许多人都有这样一种感觉:工作之后,对于时间的概念似乎减弱了,只会在恍惚间瞄到日历,才惊觉:一年竟又已临近尾声. 这一年,我们见证了许 ...

  2. 知乎热议:告别“大小周”、程序员“内卷”时代终结?程序员最想学习的语言原来是这?

    相信许多人都有这样一种感觉:工作之后,对于时间的概念似乎减弱了,只会在恍惚间瞄到日历,才惊觉:一年竟又已临近尾声. 这一年,我们见证了许多科技行业的变化:小米宣布造车.Chrome OS 超越 mac ...

  3. Java太内卷了_程序员内卷已成常态?java开发该何去何从

    前言 内卷一个词最近一直很火,什么是内卷?百度了一下,上面是这么解释的: 是不是感觉有点听不懂,举个例子,某个事业单位招一个保安,本来随便一个小学文化的人都能胜任,但是因为这个单位福利好,想来当保安的 ...

  4. 《升职,凭什么是你:内卷时代快速升职法则》读书笔记

    @Bing 提炼<升职,凭什么是你:内卷时代快速升职法则 >尼亚姆·奥基夫,这本书的主要内容 您好,这是Bing.根据网上的信息,这本书的主要内容是: <升职,凭什么是你:内卷时代快 ...

  5. 福利内卷时代来临!腾讯为 3300 名员工发 11 亿红包

    整理 | 王晓曼 出品 | 程序人生(ID:coder _life) 7月15日,腾讯控股发布公告称,为嘉许奖励部分员工作出的贡献,并吸引及挽留本集团持续经营及发展所需的人才,董事会已决议向不少于33 ...

  6. 代码质量在「内卷时代」的重要性

    这里是Z哥的个人公众号 每周五11:45 按时送达 当然了,也会时不时加个餐- 我的第「173」篇原创敬上 大家好,我是Z哥. 提到代码质量,不知道你的脑海中浮现出的第一个词是什么?规范?可读性?优雅 ...

  7. 内卷时代,文章排版当然要快人一步(附公文排版插件)

    本文1783字,预计阅读时间5分钟 Hello,大家好,我是似最初! 一名非著名PPTer,对于word的使用你是如何应用的? 是每日打开按部就班的选择录入排版?还是略懂一些邮件合并做出批量文档? 如 ...

  8. 塔望食品品牌策划:内卷时代,食品品牌如何命名?

    品牌名是品牌中可以用语言称呼的部分,可以读出声音的部分,是品牌的核心要素.品牌名作为品牌资产中极其重要的组成部分,是消费者认知品牌的第一站.对消费者而言,品牌名是引起其心理活动的刺激信号,帮助消费者识 ...

  9. 2023年自动化测试真有那么重要吗?内卷严重,测试技能水涨船高......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

最新文章

  1. 小程序客服自动回复图片,云开发的实现
  2. YUV视频格式到RGB32格式转换的速度优化 上篇(转)
  3. 【MM模块】 Blanket Purchase Orders 框架订单
  4. 剑指offer 回溯法 面试题12 矩阵中的路径 面试题13 机器人的运动范围
  5. jooq 分页排序_将jOOQ与Spring结合使用:排序和分页
  6. 5W-Lora电台的远距离传输优势
  7. FTP常用的73个基本用法:
  8. 学好JAVA保终身_JAVA IO 学习
  9. hive 查询是否包含字符串_oracle判断一个字符串中是否包含另外一个字符串
  10. 连设计图都不会画,你还想做“系统架构师”?
  11. 蓝桥杯比赛常考算法_蓝桥杯比赛要求
  12. android 系统框架 dx
  13. C语言数据结构与算法--------图论全面总结(附有详细动态图解)
  14. 6678-GPIO基础(1)
  15. android中自定义 toast,Android自定义Toast
  16. OSChina 愚人节乱弹 ——我们组建个程序员国度吧
  17. 手绘机器学习全流程,教你如何实现模型训练
  18. 修复 ,Ubuntu无法开机:ACPI:Error:[_SB_.PCIO.PR05.PXSX] …………
  19. 关注物联网、关注NB-IoT
  20. GNN:A Gentle Introduction to Graph Neural Networks

热门文章

  1. 90.根据指令修改发往上游的请求
  2. 基于asp.net sql社区物业管理系统毕业设计网站
  3. python图片顶端_用python进行图片整理
  4. 机器视觉:光源专业词汇中英文详解
  5. Visual C++学习总结——进程或线程与指定CPU绑定
  6. Oracle 12C 新特性之扩展数据类型(extended data type)
  7. 14、DNS正反向解析、主从复制、子域授权、区域转发 学习笔记
  8. 使用篇-基于Laravel开发博客应用系列 —— 联系我们 发送邮件 队列使用(基于数据库)...
  9. CloudStack 4.4+KVM之通过ISO文件创建CentOS虚拟机
  10. Android 通过Socket 和服务器通讯