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

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

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

软件测试的困境和迷局

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

微服务保护——Sentinel【实战篇】

一、限流规则🍉 1.簇点链路🥝 簇点链路:就是项目内的调用链路,链路中被监控的每个接口就是一个资源。默认情况下sentinel会监控SpringMVC的每一个端点(Endpoint),因此SpringMVC的每一个端点&a…

excel文件导入或导出Java代码示例

1、excel文件导入 controller层接口内容 service层代码 serviceImpl内代码内容 OverrideTransactional(rollbackFor Exception.class)public void importCheckItemExcel(MultipartFile file, Long checkPkgId) throws Exception {if (file.isEmpty()){throw new IOException(…

使用matlab里的神经网络进行数据回归预测

在MATLAB中使用神经网络进行数据回归预测,你可以按照以下步骤进行: Step 1: 准备数据 首先,准备用于训练和测试神经网络的数据集。将数据集分为输入特征和相应的目标值。确保数据已经进行了适当的预处理和标准化。 Step 2: 创建并训练神经…

Java 中 synchronized 的优化操作:锁升级、锁消除、锁粗化

由 并发编程中常见的锁策略 总结可知,synchronized 具有以下几个特性: 开始时是乐观锁,如果锁冲突频繁,就转换为悲观锁。开始是轻量级锁实现,如果锁被持有的时间较长,就转换成重量级锁。实现轻量级锁时&am…

docker安装觅思文档(mrdoc)

mrdoc文档地址:https://mrdoc.fun/doc/18/ mrdoc项目地址:GitHub - zmister2016/MrDoc: mrdoc,online document system developed based on python. It is suitable for individuals and small teams to manage documents, wiki, knowledge and notes. …

如何分析判断一篇文章是不是chatgpt写的

判断一篇文章是否由ChatGPT写成并不是一件容易的事情,因为ChatGPT的文本生成能力已经非常接近人类水平。然而,可以通过以下几个方面来进行初步分析和判断: 内容的连贯性:ChatGPT由大量的训练数据驱动,它在生成文本时可…

Spring Cloud Alibaba【Nacos配置动态刷新、Nacos集群架构介绍 、Nacos的数据持久化、认识分布式流量防护 】(五)

目录 分布式配置中心_Nacos配置动态刷新 分布式配置中心_Dubbo服务对接分布式配置中心 分布式配置中心_Nacos集群架构介绍 分布式配置中心_Nacos的数据持久化 分布式配置中心_Nacos集群配置 分布式流量防护_认识分布式流量防护 分布式流量防护_认识Sentinel 分布式配置…

pycharm里debug时torch数组显示不全

pycharm里查看torch数组全部值 一、在Pycharm运行torch数组时,通常只能看到数组的一部分二、解决办法1、debug后,鼠标右键想要查看完整的数组,选择Evaluate Expression2、输入np.array(x0.data),x0为想要查看的数组名,…

在Linux下做性能分析1:基本模型

介绍 本Blog开始介绍一下在Linux分析性能瓶颈的基本方法。主要围绕一个基本的分析模型,介绍perf和ftrace的使用技巧,然后东一扒子,西一扒子,逮到什么说什么,也不一定会严谨。主要是把这个领域的一些思路和技巧串起来。…

Flutter悬浮UI的设计Overlay组件

文章目录 APP开发经常要遇到的开发场景Overlay 的介绍Overlay的使用规则举例说明源码例子报错报错No Overlay widget found报错原因解决方法 修改后的源码 例子效果 APP开发经常要遇到的开发场景 有时候我们在开发APP的时候会遇到下面这些需求: 在现有页面上添加浮…

make: *** /lib/modules/3.10.0-957.el7.x86_64/build: No such file or directory.

内核版本是3.10.0-957.el7,出错之后发现: yum list|grep kernel-devel kernel-devel.x86_64 3.10.0-1160.92.1.el7 update 并且发现 yum install kernel-devel-$(uname -r) 不行,没有安装包。 按照某个博…

代码随想录算法训练营第十九天 | 动态规划系列5,6,7,8

动态规划系列5,6,7,8 377 组合总和 Ⅳ未看解答自己编写的青春版重点代码随想录的代码我的代码(当天晚上理解后自己编写)求排列数的题,用二维DP过不了?自己捋逻辑的话,也是可以觉得有漏洞,但是怎么修改,一下子还没思路&…

JVM之内存与垃圾回收篇2

文章目录 3 运行时区域3.1 本地方法栈3.2 程序计数器3.3 方法区3.3.1 Hotspot中方法区的演进3.3.2 设置方法区内存大小3.3.3 运行时常量池3.3.4 方法区使用举例3.3.5 方法区的演进3.3.5 方法区的垃圾回收 3.4 栈3.4.1 几个面试题 3.5 堆3.5.1 Minor GC、Major GC和Full GC3.5.2…

适配器模式-不兼容结构的协调

去英语国家旅游时,我们只会说中文,为了与当地人交流,我们需要购买个翻译器,将中文翻译成英文,而这运用了适配器模式。 1 概述 适配器模式(Adapter Pattern),将一个接口转换成客户喜…

为什么使用线程池?解释下线程池参数?

使用线程池的原因 (1)降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗。 (2)提高响应速度:任务来了,直接有线程可用可执行,而不是线创建线程再执行。 &#xff0…

LLMs和GPT的相关概念

1.prompt、instruction、input和response在LLMs中的作用和区别 在LLMs中,prompt、instruction、input和response是四个重要的概念,它们各自有不同的作用和区别。 (1). Prompt(提示):Prompt是L…

idea-控制台输出乱码问题

idea-控制台输出乱码问题 现象描述: 今天在进行IDEA开发WEB工程调式的时候控制台日志输出了乱码,如下截图 其实开发者大多都知道乱码是 编码不一致导致的,但是有时候就是不知到哪些地方不一致,今天我碰到的情况可能和你的不相同…

Scala集合常用函数 - 高级计算函数

水善利万物而不争,处众人之所恶,故几于道💦 目录 1. 过滤 - filter 2. 转换/映射 - map 3. 扁平化 - flatten 4. 扁平化映射 - flatMap 5. 分组 - groupBy 6. 简化(规约) - reduce 7. 折叠 - fold 8. 函数小练习 1. 过…

APACHE KAFKA本机Hello World教程

目标 最近想要简单了解一下Apache Kafka,故需要在本机简单打个Kafka弄一弄Hello World级别的步骤。 高手Kafka大佬们,请忽略这里的内容。 步骤 Apacha Kafka要求按照Javak8以上版本的环境。从官网下载kafka并解压。 启动 # 生产kafka集群随机ID KA…

【MySQL】 如何在MySQL中获取表中的某个字段为最大值和倒数第二条的整条数据?

文章目录 前言一、查询倒数第二个记录1.1、使用排名1.2、子查询1.3、嵌套查询 二、下面为大家提供一个测试案例三、查询某个字段为最大值的整条数据3.1、使用max3.2、使用连接3.3、前n个最大(最小)值 四、使用组合查询,先查询到最小的价格是多…