① 软件测试和软件开发,哪个工作有发展
测试和开发属于两个不同的职位!
对于开发而言,入门有一定的门槛,你得掌握一定的专业知识和编程技能,才能胜任工作。职业发展可分为初级程序员,中级程序员,高级程序员,架构师,开发经理,项目经理,技术Leader,技术总监,总载等。随着职位的上升,回报也会越大。喜欢专研技术的同学可以往技术方向走,成为技术大牛。擅长沟通的,又有一定技术功底的,可以往项目管理方向走。总之,一切靠自己,靠人脉,前途无量!
对于测试而言,入门相对简单,刚开始做一些简单的功能验证,如果想深入发展,提高自己,牛逼的测试也是要写代码的,写自动化测试脚本,压力测试,性能测试,对结果进行分析,总结,得出系统的各项临界指标等等。
如果是男孩子,建议选择开发,如果是女孩子,建议选测试!
测试不像开发,开发各种语言层出不穷,但不管用哪种语言开发出的产品,结果都需要测试。目前市场最稀缺的就是测试开发工程师,很多机构培养出来的测试人材也是往这个方向上发展的,可以说是这是一个可持续发展的职位(前期干技术,几年之后转管理,岁数大了还可以写书或者当讲师等),欢迎“入坑”,加油!
至于开发和测试, 到底哪一个好呢? 这是一个仁者见仁智者见智的问题。
首先, 我们先来看一下软件开发人员要求:
1)熟练使用某种或多种编程语言
2)熟练使用Oracle/MySql/SQL Server数据库开发及管理
3)对IT运维软件有一定掌握,可以进行项目场景分析、概要设计、详细设计、代码开发与测试;
我们再来看看软件测试的要求:
1)熟悉软件测试流程, 熟悉测试计划, 测试方案编写
2)熟练编写测试用例
3)熟悉缺陷的生命周期
4)熟悉Python或其它脚本语言, 熟练编写自动化测试用例
5)了解数据库, Linux
纵观以上的需求, 题主应该结合自身情况来做选择。
不管学习哪个,百战程序员是很好的选择!
传统意义上来讲,软件开发的发展空间相对大一些,但并不是说软件测试发展不好,因为我身边就有很多做软件测试的人,经过十年的职场磨砺,如今已经成为公司中高层,有的还创办了自己的软件公司。
从三个方面来比较一下软件开发与软件测试。
软件开发,要经历的必然阶段有:初级软件工程师 中级软件工程师 高级软件工程师 资深软件工程师 架构师/技术顾问 CTO...
当然,如果在中途转了管理岗位的话,那么路线也会有所变化:初级软件工程师 中级软件工程师 产品经理/项目经理 产品总监/项目总监 高级产品/项目总监 CIO/CEO...
而软件测试的话,基本上路线类似:初级测试工程师 中级测试工程师 高级测试工程师 测试架构师(或测试经理) 测试总监 高级测试总监...
这个比较没有好坏之分,只不过薪资方面,大概率事件是,测试的薪资比开发低不止一个档次,下面会详细说明。
同样年限的开发工程师与测试工程师的比较如下,我们拿北京、大连两个有代表性的城市来比较。
①初级职位
北京:开发 9.7-15.2万元/年,测试 7.8-11.2万元/年
大连:开发 5.2-7.9万元/年,测试 3.6-6.5万元/年
②中级职位
北京:开发 12.5-23.3万元/年,测试 10.7-21.8万元/年
大连:开发 7.5-15.0万元/年,测试 6.6-13.4万元/年
③高级职位
北京: 开发 24.9-48.7万元/年,测试 20.5-42.7万元/年
大连:开发 14.2-29.9万元/年,测试 13.1-26.4万元/年
需求方面来看,也要细分来看待。比如Java开发,在目前的形势下,需求就比较旺盛,而C/C++相比之下,需求就没那么旺盛,当然,这只是比较二者的需求量,并不是说C/C++不如Java。换做测试,那么传统的功能测试显得需求量(或者是竞争力)就不够旺盛,主要原因之一是门槛低,再就是因为测试类工作本来也少。但是,如果你做的是性能测试/自动化测试/安全测试等,那么就会显得需求旺盛了,因为稀缺。
软件开发是不是比软件测试更有前景?这两个岗位的工作内容不一样,这个最重要的是看自己的发展方向。软件开发的就业量大,其实软件测试的就业量也大,只是相对来说软件开发人员的需求量大些。待遇来说,软件开发的薪资普遍高一些,但在有些企业,软件测试的待遇也是不错的。
至于前景,还是主要自己愿意朝哪个方向发展。自己能做什么,想做什么。至于待遇方面,可以看看下面工作年限差不多的待遇比较。
北京软件测试开发工程师:薪资1-1.5万/月
要求:本科学历及必要的资格证书、技能以外,工作经验三年。
北京JAVA开发工程师:薪资1.5-2万/月
要求:必须的Java相关开发技能、本科学历以外,工作经验三年。
上面可以看出,相应的工作经验的前提下,软件开发工程师的薪资是要比软件测试工程师的薪资要高一些的。但技能要求更多,范围更广。软件开发技术性更强,测试工作技术性稍弱,但量也是比较大,工作比较繁杂,特别是如果是各种Case,各种数据都要自己写的情况下。
在软件项目团队中,开发人员是建设者,测试人员是质保者。常说工作不分贵贱,只是分工角色不同。实际上开发岗和测试岗还是有一定区别的,结合自己所在团队情况跟题主分析一下,以供参考。
从岗位数量来说 ,测试开发比例一般情况是1:3或者更少。更有甚者,有些团队没有测试人员。
从岗位技能来说 ,测试更偏重业务,开发更偏重技术。角色不同需要的技术树自然会不一样,时间长了思维方式也差异很大。比如开发人员从建设的角度去考虑问题,测试人员是审视的角度考虑问题。
从岗位前景来说 ,转测试的机会大,测试转开发的机会则很小。计算机专业童鞋去做测试的原因,很大程度上是认为开发有点小难。其他专业的则是想入行软件行业。由此得出,测试人员的基础或多或少的欠缺一点,再加上具体的工作任务繁重,想再学习比较难。
三百六十行,行行出状元。无论是选择开发还是测试,切记这山望着那山高,打好基础,钻研深度,都能取得成功。
测试/开发 不管是 管理/技术 方向都有做到高职位。
我们公司测试管理方向最高职位是VP(副总裁),测试技术方向见过principle(首席)。同样开发也有做到相应的职位。
看你喜欢测试还是开发了,只有在自己喜欢的方向上一直努力才会更有发展。
都很有发展,但在国内测试重视程度不高,所以给人的感觉不如开发好,Google的测试人员和开发人员是1:1的。
大家好,程序媛小姐姐【西瓜皮儿的皮儿】来给大家分享。
软件开发和软件测试都很有市场,潜力很大。下面针对这两块进行详细的说明。
软件开发:这个分支也很多,有java、php、python、go等高级编程语言,每个编程语言的市场也不一样,像java目前来说还是主流的,PHP现在市场占有率也大,但是势头相对来说没有前几年那么火爆了,又比如python语言随着人工智能的发展这两年才火起来,所以每个语言的发展势头也是不一样的,但是有一点毋庸置疑的是编程思维都是大同小异的,就好像写作文一样会有思路和逻辑,所以软件开发也有很大的市场。
软件测试:测试也有分支,比如功能性测试、自动化测试等,如果纯功能测试没有什么大的发展前途的,自动化测试还是可以的,但是自动化测试就需要有软件开发写脚本的能力了,软件开发为软件测试做了一些铺垫,目前来说软件测试的市场需求量还是挺大的。
综上所述,软件开发和软件测试各有好处。
软件测试和软件开发都很有前途的,这两个专业发展前景都很大的,很适合考虑选择的,可以了解一下的,现在选择工作和选择专业一定要选择自己喜欢的,适合自己的,现在选择专业不能盲目选择,一定要认真选择,多选择,多对比,多考虑,多了解,选择一个适合自己的专业,自己感兴趣的专业。
② 运维、测试、程序员,这些技术岗位哪个更有前景
在一个初具规模的互联网公司,从业务方面出发,有很多岗位类型,比如运营、客服、市场、产品、设计、技术等等。
在这些大类下面,还要细分各种小类,以技术为例,可分为前端(客户端)、后端、测试、运维、DBA等等,这些都是技术类岗位。
那么如果想从事这些技术岗位,该如何选择,哪一个更有前途呢?
这五个岗位,可以做一个分类,前端和后端、运维和DBA、测试
前端和后端属程序类,也就是通常大家知道的程序员,主要是根据产品的需求开发出软件,属于公司的技术核心,非常重要。没有程序员的软件公司,也不好意思称为软件公司。
运维和DBA,这两个岗位的主要工作是管理服务器程序运行的环境和依赖的数据。运维可以看成是服务器管理员,所有跟服务器相关工作都是由他处理,比如服务器程序运行环境CPU、内存、磁盘资源监控、网络是否稳定监控,服务器程序依赖的软件安装等等。DBA就是数据库管理员,专门管理生产环境的数据库如MySQL、Redis。这两个岗位的工资不一定比程序员低,但是市场需求没有程序员旺盛。一家软件公司可以没有运维和DBA,但是不能没有程序。运维和DBA一般只有上规模的企业配备,小公司都由程序员兼任,毕竟如果公司只有个位数的服务器,完全没有必要专门配备一个运维,老板也不愿意花这个钱。
测试,虽然也是技术岗位,但是我个人感觉他们的工作不和技术挂钩,他们的工作就是不断使用程序员开发出来的软件,找出其中的BUG和漏洞。与此同时,他们的另一项工作就是督促程序员干活,修BUG。
论这些岗位的技术含量,我觉得测试是最低的,低端的测试几乎没有技术门槛,只要有软件使用经验,基本上都能干干测试的活,毕竟只是用用软件找找BUG嘛,而程序和运维则不行,必须掌握基础的技术技能才能上岗。当然高端的测试另当别论,他们也可以牛逼到天上。
其次是运维,当然并不是说运维这个岗位没有技术含量,同样运维的技术含量也很高,只是通常情况下,程序员都会点运维的工作,装装环境,监控下服务器运行情况,都没什么问题。反过来,运维却不一定会程序员的工作。我觉得运维应该是脱胎与程序员,然后随着行业的发展,独立成为一个岗位,本质上还是依附与程序员。
最后则是程序,一个合格的程序员,不但要掌握程序员本职的技术,还需要会服务器运维的技术,比如自己搭建一个测试环境,这样的技能是必须的,所以对服务器必然要有较为深入的了解。同时需要会DBA的技术,通常DBA是在数据量巨大的情况下才会配备,大多数时候一家公司不需要DBA,DBA的工作的都由运维或者程序员兼职的。与此同时,程序员还需要测试技能,当程序员写出来一个程序时,免不了要进行自测,写测试用例等等,只有经过自己测试,才可以将功能提交给专门的测试人员进一步测试。
所以,对于这三类岗位,我觉得程序员的技术含量是最高的。
我们再来说说这些岗位的发展前景。
对于一个大公司来说,会有专门的研发部门、运维部门、测试部门,然后设有研发总监、运维总监、测试总监,这些领导在公司的身价不相上下,不存在谁压谁一头的情况。但是在小公司通常只有一个技术部,这个部门管辖所有技术类员工,包括程序、运维、测试,甚至有的公司还会包含设计人员。而技术部门的领导十有八九是程序员出身,几乎不太会是运维或测试出身。因为一个软件公司的技术部门,没有运维和测试,照样可以运转,虽然有可能转的不顺溜,但是一定可以转,但是没有程序员,即便运维和测试配备的多么强大,这个部门也转不起来。其次一个技术部门程序员的数量绝对是压制运维和测试人员数量的。因此在程序员中出技术部门领导的概率远大于在运维和测试中出领导,除非真的遇到难得一见的人才。
所以,如果你想从事互联网软件行业的技术岗位,要想选其中比较有前途的技术类岗位,那么首选程序员,当然,更多的机会也意味着有更大的竞争,同时也有更大的难度,你选择程序员不见得一定会成为技术部门的领导,选择测试和运维也不意味着职业生涯会默默无闻,只是相对来说程序员的情景更加明朗。
与此同时,关于35岁程序员会被淘汰的观点,其实运维和测试的危险性更大,仔细想想难道不是吗,运维和测试并没有比程序员更有优势,反而劣势一大堆,那么肯定比程序员先一步面对淘汰,这是市场规则。
③ 软件开发和软件测试学习哪个更合适。
在讲这个问题之前,我们先来看一个网友提的一个问题。
25对了大专学历,人比较内向,之前做前端工作过许多家公司,都没转正,大多试用期过了不是辞职就是不通过。不知道未来怎么走了,做软件测试还是坚持做前端呢?
针对这个问题,我来做一下分析和解答。
首先你得先分析下做前端为什么会多次转出失败呢!
一般核心有两个原因:
1、自己的技术能力太差,代码思维很一般,无法任务现在日新月异变革的技术
2、软件工作能力太差,比如很难理解领导的旨意,很难get到别人的点,说话情商太低,和你配合的相关人员体验太差等待
但是,对于大多数转行前端的人群来说,大部分之前没有代码基础的人来说,往往是第一方面原因导致的,因为之前我一直在强调,转行开发,不管是前端开发还是后端开发,都需要极强的代码逻辑力、代码思维能力和代码创造性!
所以很多人是培训或者自学了前端知识,但是流于表面的几行代码,缺少的更多是前端开发的思维和逻辑能力,加之,培训或者自学市场上大部分学到的还是皮毛的缺乏企业实战的模式,所以导致到了企业无法胜任!
但是如果说你是第二方面原因的情况,我建议你还是要正确审视下自己,
审视下每次要辞退你的原因,是有给你哪些建议,有没有告诉你应该怎么去改变。
毕竟情商低的人,自己都很难知道自己的一些做法是有问题的。
最后,再来说下如果是因为第一方面技术原因的话,那我可以很肯定的告诉你学习软件测试,转行软件测试是没有任何问题的。
对于软件测试来说,本身是偏应用型的,如果你通过大量的实战,大量的练习,大量的做项目,大量的做技术去不断提升自己的技能,最终你做软件测试就没有任何问题的。
它的门槛是相对低于前端开发的。
那么软件测试行业到底怎么样呢?
软件测试职业的特点:
1、入门来说相对简单,薪资水平高 2、学历门槛相对较低 3、市场需求大,人才缺口大、就业竞争小 4、职业生涯寿命长,发展方向广 5、无性别歧视,男女皆宜
软件测试未来的路线发展分为管理路线和技术路线
管理:测试工程师--测试主管--测试经理 --测试总监
技术:功能测试--自动化测试--测试开发--测试架构师/测试专家
所以整个软件测试的行业发展是非常不错的,它的薪资基本也是和开发同薪同酬的!
那么学习软件测试要学哪些内容呢?【青云叔叔】根据企业多年的实战经验,以及在企业培养的上千人的经验总结打造的技术学习体系可以供大家进行参考:
④ 做程序员与做测试员的选择
1、学历问题:大公司对于学历还是有一定的要求的,学历高的起薪也高,但是学历不能代表所有,也有学历高,但是技术垃圾的人,所以不要因为学历的问题来妄自菲薄,学历只是入门和之后评职称的时候有用,学历可以以后慢慢考。所以学历不是问题。
2、方向问题:如果是培训出来的话,那的基础知识一定不会非常的好,一定要注意基础部分,不要总是因为学习了多少框架而感到骄傲并且否定基础的东西,其实无论是框架还是什么都是基础的延续,只要打下了扎实的基础,那么学习起框架那些东西。培训出来的人大都做开发,而测试一般都是逼不得已而为之!
3、测试和开发哪个好:都是比较枯燥的工作,测试久了想转开发,开发久了想转行。就像围城。测试,没有做过,但是听说过一些,测试枯燥、乏味、而且经常熬夜,(开发也一样),但是从薪方面看,开发的优势就远远大于测试了,不是说测试比开发低级,用共产党的话就是:革命没有贵贱之分,只有分工的不同而已。
(4)学程序员和学软件测试哪个好扩展阅读:
做好一名测试工程师的方法:
1、沟通能力。
一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。
2、技术能力。
一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。
3、很强的记忆力。
一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。
4、幽默感。在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。
⑤ 0基础小白学软件开发好,还是学软件测试好
不能说哪一个要求更高,或者哪一个更好。只能说软件测试的入行门槛相对于软件开发要低一些,但并不是指软件测试的要求就比开发低。就好比,你能说教语文的就比教数学的要求低么?
软件测试刚在国内发展时,大多数从业人员是做一些基础的功能性测试执行工作,这让很多外行人都误以为软件测试就是点点点。但随着互联网行业的发展,用户对产品的质量要求越来越高,未来单纯只是做功能性软件测试的人不再满足于企业的招聘要求而懂得一定开发知识的综合性技术人才才是发展趋势。
今年,很多研发企业中测试工程师的职能已经开始慢慢转移到开发工程师身上,并且由项目经理做引导,使两个开发团队去测试对方团队开发的软件。这样就能够有效的避免思维误区,同时也能增强软件开发工程师的沟通协调、风险意识、挖掘需求、分析总结等能力。
这两年的自动化测试比重明显增加,一些简单的极限操作测试将会由接口程序来完成,比如测试软件图片从重复加载多少次会造成软件卡顿、游戏软件里撞墙多少次竟然能够穿墙,这些简单无聊的测试以前会耗费测试人员大量的时间,并且可能花了大量时间后也无法测试到真正问题的原因。但如果使用接口程序来解决,就可以大量的节省测试时间以及测试的全面性,这样的效率对于手工测试而言,是完全无法达到的。
未来3-5年内,一些低端的测试人员会被行业所淘汰。软件的性能测试、需求测试等方面的需求仍然无比巨大,因为这些需要主观分析总结,用经验和逻辑分析得出的问题,是算法无法实现无法取代的,正如AI永远取代不了程序员一样。
简单的测试技术已成为软件开发工程师的必备技能,开发人员将自己打造成复合型人才,具备综合技能与专精技能;而软件测试也将慢慢发展为测试开发型复合人才,只有真正有能力的程序员,才能与行业同行,不被市场所淘汰。
⑥ 测试和编程哪个更稳定
编程师的工作相对来说更稳定些。
因为普遍编程的工作挺容易的,IT这个行业需要的技术类人才太多了,相对而言java工程师比python工程师好找一些,但是像python人工智能,数据分析,大数据这些方面需要的多点,看你自己具体的实际情况!
从目前看来,JAVA的前景看好,但未来可能会有更先进的技术出现,JAVA未必能够引领未来,但在未来的10年之内,JAVA可能仍然会是主流。无论何时,有软件开发的地方,就需要软件测试员,这是一份无法取消的工作,但是,随着软件技术的发展,软件测试可能会步入自动化,减少了人的劳动,软件测试员的工作地位可能会被取代。与此同时,JAVA程序员总会接触前沿技术,工作中会有很多乐趣,软件测试员的工作则没有什么新鲜可言,会很枯燥,很单调,当然,二者的薪资都不会低~不过相对而言,JAVA程序员的工作会更吸引人。