软件测试行业的困境和迷局

中国的软件测试虽然起点较高,但是软件测试的发展似乎没有想象中那么顺利。

其实每个行业除了有自身领域外,还有属于自己的“生态系统”。属于软件测试的生态系统主要包括后备软件测试人员、软件开发人员和软件管理决策者。后备软件测试人员是软件测试的生力军,为软件测试提供新鲜血液;软件开发人员是软件测试人员最紧密的合作者;软件测试并不是一个独立的行业,决定软件测试人员发展的并不仅仅是软件测试的管理者,软件管理决策者也参与其中。这构成了一条属于软件测试的生物链,如图1-1所示。 

软件测试的困境和迷局

在中国,这条软件测试生物链似乎存在一些困境。

1、后备软件测试人员对软件测试不了解

随着软件测试行业的发展,通过校园招聘,从计算机科学等相关学科的大学毕业生中招聘软件测试工程师成了招聘软件测试工程师的主要途径。但是国内能够提供专业的软件测试课程的高校并不多,大部分毕业生甚至从来没有听说过“软件测试”这个职位。在缺乏引导的情况下,学生们对软件测试的理解比较片面,他们甚至直接认为软件测试是不重要的。

根据我的了解,很多毕业生在校园招聘的时候,并不会主动选择软件测试岗位;一些同学在得知会被分配到测试部后,十分沮丧,有的还会为此毁约。

虽然也有一些毕业生会主动选择软件测试,但是也并非完全是出于对软件测试的了解,有的是因为性别(比如女性会被告知做软件测试比较合适,因为女性常常被认为不适合从事逻辑性强的编程工作,而且女性给人的感觉比较细心,细心确实是软件测试需要的品质);有的是因为编程能力不强,自觉无法胜任软件开发的职位,于是将软件测试作为“备胎”,先凑合着干。

抱有上述心态的“后备军”进入软件测试行业后,如果缺乏正确的引导,他们就很容易偏离软件测试本身的角色。他们中的一些软件测试工程师可能有很强的编码情节,认为只有写代码才是最有技术含量和最有前途的事情,但目前的测试工作可能不仅不需要编码,甚至连看代码的权限都没有。相比开发,他们会逐渐觉得自己从事的测试工作没有什么技术含量,没有前途。另一些软件测试工程师可能又会走向另外一个极端,将产品质量问题和编码的软件开发人员直接对应起来,总是觉得软件开发人员的水平很差,对软件开发人员抱着一种“哀其不幸、怒其不争”的态度,不能很好地和软件开发人员沟通合作,最后无法真正做好软件测试工作。

2、软件管理决策者对软件测试缺乏正确理解

同时管理着软件开发和软件测试的软件管理决策者,常常会在资源、晋升通道上偏向软件开发,而忽略软件测试。

这是因为,在市场驱动下,软件管理决策者往往会认为软件测试是一种“开销”,而并不是“价值创造者”,有时候软件测试甚至被认为是对产品按时发布有负面影响的障碍,不愿意给测试足够的资源。例如,在产品测试中,开发发布版本延迟,但是测试结束时间并没有顺延,而是压缩测试时间,来保证研发项目进度。

除此之外,很多管理决策者对“软件测试”的理解其实都不够深入,认为测试的价值就是在不断测试中找bug,认为bug发现得越多产品质量就会越好,不理解测试策略、测试设计、测试总结等测试活动对产品的作用和意义。软件测试人员并没有在正确的阶段做正确的事,软件测试人员更多的“价值”(如缺陷预防)无法体现,而是陷入过早测试或者盲目追求软件测试自动化率中,虽然整个项目组看起来很忙,但是效率低下,投入产出比很低。

3、“喜忧参半”:软件测试外包

托马斯·弗里德曼有一本著名的书叫《世界是平的》,书中将“外包”作为21世纪“铲平”世界的十大动力之一。外包的好处是显而易见的:站在运营的角度,外包可以让你更加关注核心业务,可以帮助你建立弹性的人力资源构成。

软件测试外包让软件测试“火”了起来。在很多网页上都可以看到软件测试外包公司或者培训机构打出“年薪10万”“进500强企业”等广告,诱惑力十足。

但是“外包”同样也暗示着,对很多公司来说,在公司发展策略上并没有将“软件测试”作为核心、重要的业务去发展。所以我认为软件测试外包对软件测试行业来说是“喜忧参半”。

“喜”的是软件测试外包扩大了软件测试队伍;“忧”的是公司在执行软件测试外包或软件测试执行外包策略后,极有可能削弱在软件测试方面的投入,减少对非外包软件测试员工的培训和职业发展方面的考虑。

对软件测试外包员工来说,他们虽然可以在软件外包公司得到较为专业、系统的测试技术方面的培训,但是“外包”行业本身的特点就决定了软件测试外包人员会较为频繁地更换测试产品,对产品实现的理解不会太深入。而对产品测试经验持续的积累、对产品实现不断深入的理解又正是深入软件测试的两大必要条件。加上“外包”行业本身存在着缺乏归属感、缺乏晋升空间等问题,软件测试外包人员就更难在软件测试领域深入发展了。

想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫-获取headers(报文头)关键参数实例小记

注意!!!!某XX网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!! 第一步:请求页面,得到响应。建议首次请求时headers内容都带着,调试…

linux开机启动输入法且设置英文状态

debian,gnome桌面。fcitx5框架,四叶草输入法。 首先把fcitx5加到开机启动项,方法很多,gnome的插件“优化”里面可以添加开机启动项。 这样开机就能启动输入法,而不用再手动输入shell命令fcitx5了。 但是启动时是中…

【分布式应用】Ceph的实战应用

目录 一、创建 CephFS 文件系统 MDS 接口1.1服务端操作1)在管理节点创建 mds 服务2)查看各个节点的 mds 服务3)创建存储池,启用 ceph 文件系统4)查看mds状态,一个up,其余两个待命,目…

禁止浏览器自动填充密码功能,设置自动填充背景色。

禁止浏览器自动填充密码功能,设置自动填充背景色 1、禁止浏览器自动填充密码功能2、设置自动填充背景色(阴影效果) 1、禁止浏览器自动填充密码功能 text设置autocomplete“off” password设置 autocomplete“new-password” 两个一起设置&am…

MySQL数据库 【增删改查】

目录 一、新增 指定列插入 一次插入多个数据 二、查询 1、全列查询 2、指定列查询 3、查询字段为表达式 4、查询的时候给列名/表达式 指定别名 5、查询时去重 6、排序查询 7、条件查询 8、模糊查询 9、空值查询 10、分页查询 三、修改 四、删除 SQL 最核心…

Spring底层

配置文件 配置优先级 之前讲解过,可以用这三种方式进行配置 那如果这三种都进行了配置,那到底哪一份生效呢? 结论 优先级从大到小 properties>yml>yaml然后就是现在一般都用yml文件进行配置 其他配置方式 除了配置文件外 还有不同…

stm32读取DHT11温湿度传感器

stm32读取DHT11温湿度传感器 一.序言二.DHT11响应数据格式三.DHT11通讯过程3.1 产生起始信号3.2 读取数据03.3 读取数据1DHT11停止信号 四.代码实例4.1读取DHT11源文件4.2 读取DHT11头文件 五.结语5.1 总结整体思路5.2 对读者的期望 一.序言 我们知道DHT11是单总线协议&#x…

基于Java+SpringBoot+Vue前后端分离仓库管理系统详细设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

kubernetes中特定域名使用自定义DNS服务器出现的解析异常

故障发生背景: 租户反馈生产业务服务连接到中间件的时候,偶尔会有连接失败的情况,然后我们查看对应组件服务正常,手动请求组件服务也显示正常,让租户查看业务服务日志发现报错无法解析对应的域名,我们手动是…

Spring Batch之读数据库—JdbcPagingItemReader(四十一)

一、JdbcPagingItemReader Spring Batch框架提供了对JDBC分页读取支持的组件JdbcPagingItemReader。JdbcPaginItemReader实现ItemReader接口,核心作用是将数据库中记录通过分页的方式转换为Java对象。在JdbcPagingItemReader将数据库记录转换为Java对象是主要有两步…

C 知识积累 回车与换行 Linux C 语法分析

目录 回车与换行一.知其然二.知其所以然 关键字,操作符和函数区别1:关键字2:操作符3:函数 命令行参数argv原码补码补码加法 Linux C 语法分析结构体指针类型函数宏定义其他 const语法整理 回车与换行 一.知其然 \n是换行&#x…

【矩阵的创建与基本运算】——matlab基础

目录索引 创建矩阵:zeros():ones:eye():magic():引号创建序列矩阵:linspace(): 加减与数乘:其他运算:指数运算:*exp():* 点式运算: 创…

SpringBoot 整合 RabbitMQ demo

Rabbit Windows安装教程 本文只做Demo案例的分享,具体只是需自行百度 一、生产者 1.application.properties 配置Rabbit的基本信息 #rabbit 主机IP spring.rabbitmq.host127.0.0.1 #rabbit 端口 spring.rabbitmq.port5672 #rabbit 账号 可自行创建 这里是默认的 …

springboot与rabbitmq的整合【演示5种基本交换机】

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:后端专栏 📧如果文章知识点有错误的地方,…

Makefile:6: *** missing separator. Stop.

Makefile:2: *** missing separator. Stop. Windows下用VS CODE编写makefile文件,编译报出这个错误 可以查看一下VS CODE左下角,如果是下图“空格:4”这样,需要更改一下。 在“空格:4”上左键单击一下,在…

涂鸦智能打造专业家庭智能生活助手,实现人机交互升级

近年来,智能家居设备的品类不断拓展,同时,人们对AI与智能家居的联动愈发憧憬。自然语言交互是未来人机交互的主要趋势之一,其关键在于使AI具备主动理解信息的能力,让用户的交互更轻松。如何将智能场景的交互变得更“善…

【动手学深度学习】--15.含并行连结的网络GoogLeNet

文章目录 含并行连结的网络GoogLeNet1.Inception块2.GoogLeNet模型3.训练模型 含并行连结的网络GoogLeNet 学习视频:含并行连结的网络 GoogLeNet / Inception V3【动手学深度学习v2】 官方笔记:含并行连结的网络(GoogLeNet) 1.…

基于Web API drap事件的简单拖拽功能

基于Web API drap事件的简单拖拽功能 效果示例图代码示例 效果示例图 代码示例 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css">* {padding: 0px;margin: 0px;box-s…

单例模式、指令重排序、锁、有序性

今天在回顾单例模式时&#xff0c;我们都知道懒汉式单例中有一种叫做双重检查锁的单例模式。 我们来看下下面的代码有没有问题&#xff1a; 这段代码我们可以看到&#xff0c;即优化了性能&#xff0c;在多线程情况下&#xff0c;如果实例不为空了&#xff0c;则直接返回了。…

Vue成绩案例实现添加、删除、显示无数据、添加日期、总分均分以及数据本地化等功能

一、成绩案例 ✅✅✅通过本次案例实现添加、删除、显示无数据、添加日期、总分均分以及数据本地化等功能。 准备成绩案例模板&#xff0c;我们需要在这些模板上面进行功能操作。 <template><div class"score-case"><div class"table">…
最新文章