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

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

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

比如:“该去年薪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.hqwc.cn/news/185750.html

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

相关文章

【教3妹学编程-算法题】最大和查询

3妹:2哥,你有没有看到新闻“18岁父亲为4岁儿子落户现身亲子鉴定” 2哥 : 啥?18岁就当爹啦? 3妹:确切的说是14岁好吧。 2哥 : 哎,想我30了, 还是个单身狗。 3妹:别急啊, 2…

Vue数据绑定

在我们Vue当中有两种数据绑定的方法 1.单向绑定 2.双向绑定 让我为大家介绍一下吧&#xff01; 1、单向绑定(v-bind) 数据只能从data流向页面 举个例子&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"…

异行星平台--CRM系统搭建

使用异行行低代码平台搭建的CRM系统。CRM系统中&#xff0c;包括“客户”、“商机”、“合同”、“回款”、“开票”、“营销”、“回访”、“产品”、“联络人”、“销售订单”、“线索”。 “管理后台”可能是指一个用于管理后台系统的应用&#xff0c;可能包括对各种功能和数…

VUE指令、computed计算属性和watch 侦听器(附带详细案例)

文章目录 前言一、指令补充1. 指令修饰符2. v-bind对于样式操作的增强 - class3. 案例 - 京东秒杀 tab 导航高亮4. v-bind对于样式操作的增强 - style5. v-model应用于其他表单元素 二、computed计算属性1. 基础语法2. 计算属性 vS method 方法3. 完整写法4. 成绩案例 三、watc…

【2021集创赛】基于arm Cortex-M3处理器与深度学习加速器的实时人脸口罩检测 SoC

团队介绍 参赛单位&#xff1a;深圳大学 队伍名称&#xff1a;光之巨人队 指导老师&#xff1a;钟世达、袁涛 参赛队员&#xff1a;冯昊港、潘家豪、慕镐泽 图1 团队风采 1. 项目简介 新冠疫情席卷全球&#xff0c;有效佩戴口罩可以极大程度地减小病毒感染的风险。本项目开发…

深入探讨TensorFlow:张量与矩阵

在机器学习和深度学习领域中&#xff0c;TensorFlow作为一款强大且受欢迎的开源机器学习框架&#xff0c;为研究人员和开发者提供了丰富的工具和资源。在TensorFlow中&#xff0c;张量&#xff08;tensor&#xff09;和矩阵&#xff08;matrix&#xff09;是核心概念&#xff0…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 2》(6)

《Linux操作系统原理分析之Linux 进程管理 2》&#xff08;6&#xff09; 4 Linux 进程管理4.2 Linux 进程的状态和标识4.2.1 Linux 进程的状态及转换4.2.2 Linux 进程的标识4.2.3 进程标识哈希表 4 Linux 进程管理 4.2 Linux 进程的状态和标识 4.2.1 Linux 进程的状态及转换…

2023年中国冲击波治疗仪市场发展趋势分析:未来市场增长空间更大[图]

冲击波在临床医学领域最早应用于体外冲击波碎石&#xff0c;在二十世纪八十年代末期&#xff0c;体外冲击波碎石技术开始被运用到骨科及康复理疗领域&#xff0c;经过十余年的临床研究&#xff0c;冲击波疗法日益完善&#xff0c;应用范围也日益扩大。冲击波作为一种介于保守疗…

员工电脑管理软件,企业电脑管理软件是什么

员工电脑管理软件&#xff0c;企业电脑管理软件是什么 企业电脑管理软件是指用于管理和监控企业员工工作电脑的软件。这些软件通常提供多种功能&#xff0c;旨在帮助企业管理员工电脑的使用、监控和维护&#xff0c;同时确保信息安全、提高生产力并确保合规性。推荐一款功能强…

有Mac或无Mac电脑通用的获取安卓公钥的方案

从2023年9月开始&#xff0c;所有上架应用市场的app都需要进行APP备案。 其中后端服务器在阿里云的可以在阿里云备案&#xff0c;后端服务器在腾讯云的可以在腾讯云备案。但无论你是在什么云厂商里做备案&#xff0c;无一例外的是&#xff0c;无论是上架安卓应用还是上架IOS应…

动态规划c++

1. 什么是动态规划动态规划 &#xff08;英语&#xff1a;Dynamic programming&#xff0c;简称 DP&#xff09;&#xff0c;是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的&#xff0c;通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规…