软件开发和软件测试,到底学哪个好呢?

写在前面:买车没有最好,只有最适合。

类似这类“很难选择”的问题,在知乎上其实有很多。

比如:“该去年薪10w的国家电网,还是去年薪40w的互联网大厂”;

比如:“城里有房,剩下的100W是存银行还是回农村盖民宿”;

比如:“手握30W现金,是买倍有面子的奔驰宝马。还是买倍有里子的国产汽车”....

现在这个问题,“软件开发和软件测试,到底学哪个好呢?”其实也是如此。

面对这类选择的问题,往往会令人纠结,原因是每种选择都各有优缺点。

解决办法:不要将全部关注点落在“琢磨哪个选择面谁优谁劣”(心思花的越多,也可能没结果)。而应在了解两类选择优劣势的前提下,从自身出发,去看看哪个选择面更适合自己,那答案就出来了。

所以在汽车销售团队,有这么句话:没有最好的车,只有更适合自己的车。

所以,“软件开发和软件测试,到底学哪个好呢?”我们分三步走:

1、两个岗位谁优谁劣,值不值得纠结
2、从专业、年龄、性别、学历这四个维度去分析适合什么岗位
3、最后总结,什么人适合学开发,什么人适合学测试


一、软件开发与自动化测试PK,看各自优劣势分别在哪?

1、先比较薪资PK

哪个岗位好,普通人最关注的是薪资。薪资低的岗位,了解的兴趣都不会有。

所以我们先来比较大家最关注的薪资。

看到薪资,很多人可能认为是开发完胜测试。但是,现在与开发比较的不是软件测试,而是更具技术含量的自动化测试。实际情况如何呢?刚好黑马既有开发学科,又有软件测试学科(主要培养自动化测试),大家可通过“黑马各学科薪资汇总”这个视角,一窥两个岗位的平均薪资。

图片

黑马最近2年各学科平均薪资汇总,测试略高于开发学科

图片

季度和月份薪资PK,北京区域的自动化测试薪资依然高于开发学科

若想看到软件开发与软件测试更多维度的薪资PK,可狠戳下方链接:

《为什么软件测试相比软件开发薪酬待遇差别那么大?269 赞同 · 41 评论回答》
https://www.zhihu.com/question/56939189/answer/1850310934

上方文章给大家揭露一个非常有趣的现象:以10年工龄为界,10年之内,同等工龄的开发岗位平均薪资要超过测试;但10年之后,软件测试的平均薪资却要反超编程开发。
上方文章,也介绍了软件测试薪资,为何频频上涨的原因。

总结:可见,自动化测试的薪资总体虽然会微弱于开发。但,入行薪资和10年后薪资PK,软件测试薪资却略高于开发。

2、再比学习难度PK

看完薪资,接下来看入门门槛,也就是学习难度。

二者的学习难度,从黑马培训时间就可以看出来。

软件测试,只要3个半月,
而软件开发,无论javaee还是前端,都需要系统学习半年左右。

为什么软件开发的学习周期这么长呢?举例Java开发。小伙伴们听说过9大主流技术栈吗,我们来列一下:

1.Spring Framework是Java中最流行的应用程序框架之一,提供了依赖注入、面向切面编程、数据访问、Web开发等众多功能。
2.Hibernate是一个流行的对象关系映射(ORM)框架,使得Java应用程序可以轻松地访问和操作数据库。
3.Struts是一个用于构建基于Java的Web应用程序的MVC框架,提供了一个统一的架构来处理请求、响应和数据验证。
4.Apache Maven是一个流行的构建自动化工具,可以用来构建、测试和部署Java应用程序。
5.Apache Tomcat是一个流行的Web服务器和Servlet容器,用于运行Java Web应用程序。
6.JUnit是一个流行的Java单元测试框架,可以帮助开发人员编写和运行单元测试。
7.Log4j是一个Java日志框架,可以用来记录应用程序运行时产生的信息和错误。
8.JavaFX是一个用于构建丰富的、可交互的图形用户界面(GUI)的框架。
9.Apache Kafka是一个分布式流处理平台,可以用于构建高吞吐量、低延迟的消息传递系统,支持大规模数据流处理。

正因为学的多,所以开发技术天花板是很高的。若想扎根IT技术,推荐学开发。

图片

3、三看技术更新程度

技术学会了,还得看看技术更新速度。

因为开源的流行,除了让开发技术变的廉价外,也让开发领域技术更新会非常快。

所谓开源,就是作者开放源代码,用户网上轻松获取。

举例Java,大家可以想一想自己参与的一些项目,用到了多少开源的东西。以一个典型的后端项目为例,可能涉及到了Redis、MySQL、ElasticSearch、Kafka、RabbitMQ、Nginx、MinIO、SprintBoot、Docker···程序员要做的就是根据业务需求,把上面那一堆组件堆在一起。一般就是Nginx负载均衡,Spring写后端业务,Redis做缓存,MySQL、ES、MinIO做数据存储,Kafka和RabbitMQ做一个消息队列,最后塞到docker里面部署运行。如果你觉得东西这么多,头都要炸了不想用,还不行,没有上面这一套开源东西,估计有一大批公司要倒下。

再举例前端,从最初的Javascript源码到jQuery,再到MVC框架,然后到 Angular.js 和 React.js ,再到最近非常流行的VUE框架,每个阶段的前端框架都经历了一段时间的发展,再到被广泛使用,再到被抛弃。前端技术也被戏称“学2年用1年”。

所以选择开发岗位的同学们,需要不断关注前沿的技术,需要不断的学习,压力不小。

图片

但年龄大了,就会有很多家庭琐事,学习时间变少了。再加上人的机能也下降了,学习效率也低了,而开发技术迭代却又非常快。你若学不动,就意味你会逐渐落伍,逐渐被淘汰。

所以开发常有35岁后找不到工作的说法。

而测试,经验更多在于“强业务经验、沟通协调能力”这种软实力的积累,而这种软实力,是没法开源、复制和迭代的。所以测试人员不需要像开发一样需要不断的学习新技术。

什么是强业务经验的积累呢?给大家稍微科普下。
虽然测试人员和开发一样,也需要按照《产品需求文档》,对软件进行规划、定义,但为尽量降低Bug,测试人员要比开发更关注业务细节、关注产品使用场景,要站在客户的维度设计用例。所以测试人员要比开发更深入业务。
当前项目所走过的每一个坑,都会成为测试下一个项目的经验和教训。经过长时间的历练后,测试人员的思维就有那么一点特殊,他设计的用例就是能发现BUG。所以测试随着工作时间,对业务深入逐渐积累的,反倒会越老越吃香。
尤其是一些2B类业务,举例金融行业,对金钱,对保密非常关注。随着测试人员对金融业务的深入了解,业将为测试人员树立一道职业护城河。

所以,软件测试不能说没有35岁危机(张雪峰灵魂发问:请告诉我,哪个岗位没有35岁危机?),只是处境会比开发好很多,职业生命也会更长。

4、四看工作强度pk

两个岗位,关于加班,有这么一种说法:

测试加班,开发一定要加班,比如项目快上线的时候。而开发加班,测试未必要加班。

这也就意味着测试工作要比开发轻松。

软件开发天天加班不假,但并不是加班写代码,主要是白天都被抓去开会,晚上和人撕逼需求,深夜才能写代码。老这么加班,年轻还可以顶着,年纪大了还真的顶不住。

更详细的【软件开发】真实工作场景介绍,可以狠戳下方链接:

《软件测试真的干到35就干不动了吗?2293 赞同 · 498 评论回答》
https://www.zhihu.com/question/61117238/answer/1540761285

所以开发领域,男生更受重视,因为开发工作强度大,所以开发需要的是抗压能力强,可以接受秃头的男生。

图片

而测试领域,却是男女比例均衡,甚至女士还会更多些,可见测试工作强度远比开发低。

5、五看行业切换PK

开发转行自动化测试,还是较为容易的。毕竟懂代码,学起自动化测试自然简单。所以在黑马,就有一些开发同学,选择转行测试。

图片

但测试转行开发比较难,因为入行门槛,工作强度,薪资吸引力...

了解了开发和测试的五大维度 PK后,应该很多同学就知道该选择哪个学科了。如果如果还限于纠结。那我们继续往下看:

二、从专业、年龄、性别、学历这四个维度去分析适合什么岗位

对于第一部分看完后还纠结的同学,接下来,我们再从专业、年龄、性别、学历这四个维度去分析这两类岗位。

Boss招聘的几张招聘截图镇楼:

图片

图片

图片

通过认证分析boss直聘对这三个岗位的要求,我们可以得到以下的结论:

1、学历:

开发岗,对于学历要求就是本科。
而软件测试,对学历却有一定的包容,大专学历也可以。

2、专业:

不管是前端开发还是后端开发,绝大多数的开发岗,对专业都要求计算机及相关专业。
而软件测试,对专业要求就低很多,很多公司的测试岗,对专业甚至没要求。

3、年龄:

大多数开发的岗位需要三年以上工作经验,这就意味对于24岁以下的同学而言,找工作会比较困难。
而测试在这方面相对宽容,哪怕是应届毕业生,仅21岁,不少公司的软件测试岗也会给你机会。

4、性别:

岗位招聘上,不管是测试和开发对于性别都是没有要求的。
但到软件公司去,就会发现,做开发的绝大部分是男生,很少女生。
相反,在软件测试岗位中,女生比例和男生却差不多,女生还多那么一丢丢。

三、最后总结,怎么人适合学开发,什么人适合干测试

总结1:什么人更适合学开发

1)本科学历
2) 且计算机相关专业。
3)且男生。
4)且聪明好学。
5)且愿意与计算机打交道,想扎根IT技术。
6)且30以下。30+的人学开发,企业对你的【技术期望】会非常高,压力会不小。
7)且只要工资高,加班无所谓。

总结2:什么人更适合学测试

1)大专及以上。如果只是大专学历,更建议选择软件测试。
2)性别不限。如果是女生,最好是选择软件测试。如果是男生怕秃头,可以选测试。
3)非IT相关专业。比如文科生,学开发压力会很大,建议测试方向
4)年龄20+,30+均可。年龄30+同学更建议学测试,测试职业生命会更长些,企业的对于测试岗位【技术预期】也能抗住。
5)更喜欢研究产品,研究业务,不太愿意敲代码。
6)不太喜欢频繁加班。

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

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

相关文章

Sentinel规则

一、服务熔断测试 例子: application.properties配置文件 server.port8083spring.application.nameorder#spring.cloud.nacos.discovery.server-addrhttp://192.168.44.64:80spring.cloud.nacos.discovery.server-addrlocalhost:8848spring.cloud.sentinel.transport.port999…

C++之map和set模拟实现

前言 在map和set的使用文章中提到了CSTL中的map和set的底层其实就是用的红黑树来实现的,所以可以用红黑树来简单模拟实现一下STL中的map和set. STL源码中map和set的实现 map: 我们看到它的底层这个成员变量其实就是一棵红黑树, 之前说过map其实就对应搜索树的KV模型&#x…

面向企业的人脸属性检测技术方案

人脸识别技术已经成为企业提升服务质量、优化用户体验的重要工具。美摄科技,作为领先的人工智能技术提供商,我们致力于为企业提供最先进、最全面的人脸属性检测技术解决方案。 我们的AI人脸检测与属性分析技术,能够快速准确地检测人脸并返回…

安全狗云安全体系为高校提升立体化纵深防御能力

客户情况 某高校有服务器500台,对外站点200个,核心交换流量20G。 客户痛点 校园网系统分类较多,并且每类网站中安全级重要程度又各不相同,同时有多个网络出口(如:教育网、电信网、移动网等),二级学院存在…

物联网网关在工业行业的应用案例

物联网网关在工业行业的应用案例 随着物联网技术的不断发展,物联网网关在工业行业的应用越来越广泛。本文将介绍一个物联网网关在工业行业的应用案例,以期为相关领域的研究和实践提供借鉴和启示。 一、案例背景 某大型制造企业是一家全球知名的汽车制…

vscode中git拉取、提交代码、解决冲突,以及合并代码的操作

vscode中git拉取、提交代码、解决冲突,以及合并代码的操作 场景:本地有修改代码,远程仓库没有更新,这时本地想要提交代码。 步骤:本地修改了testA文件内容->本地先暂存提交->拉取->推送; 本地修改…

2023.11.14 hivesql的容器,数组与映射

目录 https://blog.csdn.net/m0_49956154/article/details/134365327?spm1001.2014.3001.5501https://blog.csdn.net/m0_49956154/article/details/134365327?spm1001.2014.3001.5501 8.hive的复杂类型 9.array类型: 又叫数组类型,存储同类型的单数据的集合 10.struct类型…

SpringNative遇到的问题

问题1 org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component 用不了反射,所以需要这个文件去 package org.wxy.example.sqlite.config;import java.lang.reflect.Constructor; import java.lan…

【机器学习基础】多元线性回归(适合初学者的保姆级文章)

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏:机器学习 欢迎订阅!后面的内容会越来越有意思~ 💡往期推荐: 【机器学习基础】机器学习入门(1) 【机器学习基…

BI智能财务分析真的神,财务人都来用

不用等,真的不用等!这边接入数据,那边就能把利润表、资产负债表、现金流量表等财务数据分析报表送到眼前,不用开发,直接就看分析结果。 奥威BI财务方案真能把我要的指标、分析都做出来? 能,可…

在win10环境下安装python,配置python环境,执行python脚本

1.安装python 去python官网下载: https://www.python.org/ 这里采用 Python 3.10.8 版本 选择windows 64位 双击安装: 安装这里有两个选项: 1.默认安装直接选Install Now 2.勾选install launcher for all users(recommend&a…

Github小彩蛋显示自己的README,git 个人首页的 README,readme基本语法

先上效果👇 代码在下面,流程我放最下面了,思路就是创建一个和自己同名的仓库,要公开,创建的时候会提示小彩蛋你的reademe会展示在你的首页,或许你在这个readme里面的修改都会在你的主页上看到了&#x1f44…

TEMU平台要求电子产品提供的UL测试报告如何办理?

平台销售的电子产品,要符合指定的标准,如果不合格很容易发生起火,等危及消费者生命财产的安全,因此很多客户因为缺少UL报告,导致产品被下架。 带电的产品上架亚马逊或相关的跨境电商平台都需要相关的UL报告/UL标准&…

vue-router配置

1、路由安装 npm install vue-router4 2、创建router目录 3、编辑文件且引入router包 4、main.js引入

申明式管理方式与配置清单文件

目录 申明式管理方式 1、使用申明式管理方式相关操作 1)获取资源配置清单 2)更改获取的yaml配置清单,并进行修改然后创建或更新资源 3)在线修改或编辑资源配置 4)删除资源 2、如何获取资源配置清单文件模板&…

spark性能调优 | 默认并行度

Spark Sql默认并行度 看官网,默认并行度200 https://spark.apache.org/docs/2.4.5/sql-performance-tuning.html#other-configuration-options 优化 在数仓中 task最好是cpu的两倍或者3倍(最好是倍数,不要使基数) 拓展 在本地 task需要自己设置&a…

客户管理系统升级,助力企业快速增长——API线索对接功能

在数字化时代,企业需要迅速适应不断变化的市场需求,实现高效的客户管理,以便迅速发现商机并提供更好的客户体验。为了助力企业取得成功,客户管理系统的API线索对接功能应运而生,带来更多机会、更高效率以及更全面的客户…

怎么把ogg转mp3格式?

音频声音小怎么增强?现在对于音频文件的使用越来越频繁,自媒体从业者会使用到音频素材,还有很多人会从网上下载很多的学习音频文件,有时候下载的音频文件播放之后会发现声音很小,此时大家会调大音频播放器的音量或者电…

JavaWeb-CSS

一、什么是CSS CSS(Cascading Style Sheets,层叠样式表)能够对网页中元素的位置排版进行精确的控制,拥有对网页对象和模型样式的编辑能力,简单来说就是页面美化。 CSS样式代码中的注释需要使用/**/。 二、CSS的引入方…

Notion汉化

Notion真无语,汉化版都没有。真的无力吐槽。 2023.11.7汉化经历 教程链接:github Reamd7/notion-zh_CN at 2.4.20-handmade (github.com) 网页版: 油猴下载插件。 Notion中文汉化 浏览器插件下载 windows: github realse 这…
最新文章