软件测试还有明天吗?

前言:

最近有很多考虑转行做测试的朋友问我一些软件测试的问题,虽然问法五花八门,我仔细梳理了下,问题呢过大同小异,也就1.2.3.4.5.6种,比如什么是软件测试?软件测试的发展前景如何?软件测试行业有什么样的特点?软件测试人员的薪资收入怎么样?软件测试的职业发展方向是怎样?软件测试的工作内容主要有哪些?软件开发是不是比软件测试更好?测试是不是比开发要求更低一些?软件测试岗位会不会被开发取代?软件开发比软件测试更有前景,是真的吗?一个优秀的软件测试工程师要具备哪些能力?

在这里插入图片描述

正文:

一.概念问题:什么是软件测试?

顾名思义,就是在规定的条件下对一个产品或程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。通俗来讲,软件测试是保障软件质量全过程的集合。

软件质量会根据产品、行业、阶段不同而有所变化,所以测试应该覆盖软件的整个生命周期,比如调研、需求、设计、研发、测试、上线、运维等。

敲黑板,软件测试要贯穿产品整个生命周期,而非大家浅显理解的开发完后简单测试的那一段小过程。

另外,所有为了保障软件质量的工作,测试人员都应该积极主动的参与,比如前期的市场调研、竞品分析、用户画像;后期的线上运维配置、环境配置、业务监控等等。

测试早就不再是大家认知的功能性测试,而是需要具备更多的专业技能,比如自动化测试、性能测试、手工测试等等。

二.纠结问题:软件测试的发展前景是怎么样的?

扫描二维码关注公众号,回复: 12419967 查看本文章

软件测试伴随着软件产品应运而生,早期的开发规模比较小、产品也较为简单,所以测试的含义也很狭窄,开发人员将测试统称为“调试”,目的是纠正软件中已知错误。在国内市场,很多软件企业都存在着重开发、轻测试的现象,甚至有很多互联网和软件企业都没有专门的测试岗位,而是在产品上线前要求开发和非专业人士的内部测试,这就造成软件产品的质量问题频出,上线后出现各种问题。

近两年来,随着互联网的快速发展,软件系统变得越来越复杂,一个软件产品不再是由1-2个开发人员单独编写,而是团队配 合,可能每个人只负责一个单模块,对于产品全局没有全据了解,所以这些软件在运行时就非常容易错误,行业内将此称之为Bug。

并且每一个软件工程师都会有思维死角,不容易发现自己编写出来的错误,所以这时就需要专门的软件测试工程师用专业的测试方式来检查产品了。并且,因为我国企业对软件测试技术的认知较晚,所以这方面的专业技术人才在国内还很稀缺。据调查显示,目前国内软件测试人才缺口已达到30万,中国软件业每年新增约20万测试岗位就业机会,但是企业、学校培养出的软件测试人才不足需求量的1/10,并且需求与供给间的差距仍在进一步拉大。随着用户对产品要求逐渐提升,测试人员在企业内部的分量只会越来越重,北上广深等一线城市将会带动其他城市一起发展。因此,软件测试的前景只会是越来越好。

三.基础问题:软件测试行业有什么样的特点?

1、职业发展更多元化。

由于工作的特殊性,测试人员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后等领域都要涉及。在这过程中,测试人员不仅提升了专业的软件测试技能,还能接触到各行各业,进而在项目管理、沟通协调、市场需求分析等能力上得到很好的锻炼,从而进一步为自己的多元化发展奠定基础。

2、通用性人才,有无限机会。

软件测试人员是通用性人才,其不受地域、行业发展的限制,而且也不受年龄和体力的影响,职位经验越丰富越吃香,因为工作的时间越长积累的项目经验越多,在测试中会更加敏锐的发现软件中的Bug。

并且相对于一些其他传统行业,在互联网公司里,内部政治、勾心斗角一般是比较少有的,上下级关系也较为简单,更重要的是只要你技术出众、有实力,你就可以获得无限的机会。

3、缺口大,薪资高。

从需求分析到产品开发再到产品维护,都离不开软件测试。并且,由于软件测试的重要性近两年才在国内被重视,所以高校教育和企业培养都还没有跟上,致使软件测试人才供不应求,薪资也随之走高,优秀的软件测试人才年薪可达十万,甚至二三十万或更高。

2020年-2025年,我国将利用国际产业转移的重大机遇,聚集各种资源,突破核心技术制约,在软件、计算机与信息处理、现代移动通信、信息安全、信息服务和系统集成等技术领域加强创新,促进IT产品更新换代,推动我国由IT大国向IT强国的转变,进而推动国民经济信息化进程,以信息化带动工业化,走出一条新型工业化道路。

因此,IT行业的人才需求也会进一步加大,对软件测试人员而言,这是一个机遇,也是一次挑战,更是一个弯道超车的好机会。

四.你非常关心的问题:做软件测试工资到底咋样?

我从国家统计局发布的2018年国人平均工资数据上发现,薪资最高的是信息传输、软件和信息技术服务行业,平均工资高达141962元,计算下来人均月薪为11830元。

在这里插入图片描述

我从职友网截图获取了全国软件测试人员以及成都地区软件测试人员的工资收入水平,据调查,两者之间相差一千六百元左右元,最大影响因素是各城市地区的互联行业发展环境的不同。
在这里插入图片描述

虽然软件测试程序员常被人调侃“钱多、人土、爱加班”,但也不得不承认,这个一个高回报率的行业,只要你努力付出,你要相信你一定是会有收获的。
在这里插入图片描述

很多人都认为,测试的薪资比开发要低很多,实际上现在测试岗位早就不是以往那种普通的功能性测试了,虽然软件测试依然是IT行业中最适宜转行、练级的新手区,但对于每个从业者而言,随着从业年限、处理问题能力的提升速度、发展方向的不同等,测试人员的薪资也在大幅提升,和开发有并驾齐驱甚至有超过它的意思。

目前自动化测试、测试开发等从业者薪资都不比开发低。以下是软件测试职业成长路径以及与之对应的薪资,大家可以看看吧简单了解以下。
在这里插入图片描述

五.你特别关心的问题:软件测试的职业发展方向是怎样?

对于技术人员而言,职业发展规划一般分两个方向,一个就是做技术、另一个就是做管理。

一般而言,对于刚刚进入软件测试行业的新人都会从最基础的执行开始做,接下来呢用例设计,相当于基本的功能测试。随后大家会根据个人职业发展来进一步细化,有的走管理路线,成为了主管,经理,项目负责人等;有的深入测试用例设计,继续高级的功能测试;有的发展技术,专研性能测试,安全测试,自动化测试,测试架构设计等。

如果你想往技术领域深耕,一般又可以细化为两类:一类是功能测试,也就是大家相对熟悉的点点点测试、黑盒测试,这类工作不需要太多的编程经验,只要看得懂代码就可以;另一类是自动化测试,包括功能自动化、性能自动化、接口自动化等,这一类工作对代码能力要求就比较高了,也就是大家常说的测试开发工程师。

所以说软件测试可以发展的方向还是蛮多的,我想总有一款会适合你。

六.必须知道的问题,不知道做啥那你做啥:软件测试的工作内容主要有哪些?

测试人员的首要职责在我们平常人看来就是“找Bug”,跟踪Bug ,修复Bug等等,似乎就是只和Bug做朋友,那你就错了。在这个过程当中呢,测试工程师是需要使用各种测试技术和工具来测试和发现软件中存在的缺陷,从而让开发者更好的优化产品,让用户更加安全顺畅的使用。那么具体点就包括以下这些了:

1、根据软件设计需求制定测试计划,测试数据和测试用例。

通过测试计划来确定测试产品所需资源,确定测试策略、测试系统、测试任务,评估和确定测试工作量。测试数据和用例是对产品进行任务描述,通过测试需求分析、业务流程分析、测试用例设计、测试用例评审以及测试用例更新及完善这几个步骤完成测试用例的设计。

2、搭建测试环境、执行测试用例。

测试用例执行的第一步就是要先搭建软件测试环境,要给出软件的安装指导书、运行的软硬件环境、以及相关的配置等等。测试执行中,要全方位观察软件产品的问题,以及确认是否和预期测试用例结果是一致的。

3、提交测试报告。

在测试完成后,测试人员需要根据测试结果对发现的问题和缺陷进行分析,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。测试报告是测试阶段最后的文档产出物。优秀的测试经理或测试人员应该具备良好的文档编写能力,一份详细的测试报告包含足够的信息,包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终的测试结果分析。

4、跟踪Bug修改情况,不断测试完善产品。

5、产品的其他方面测试。

在单元测试基础上,将测试模块组装成系统,完成对产品的集成测试。以及对整个产品进行系统测试,找出需求规格等问题。可以过程中利用测试工具TestWriter对产品进行功能测试、还有一些性能及其它方面的测试,也可以选择正确的工具进行选择。软件测试是贯穿于整个软件生命周期的,所以还需要对线上功能检查、当前版本问题反馈以及改进建议等,这样才算是比较完整的一个最终结束。
在这里插入图片描述

七.你经常怀疑的问题1:软件开发是不是比软件测试更好?

首先,这种问法的前提就是错误的,或者说这个问题问得比较外行。软件测试和开发是产品开发中同样重要的两个板块,无论在哪个领域发展都可以给你实现价值的空间。而且从目前的行业发展情况来看,测试人员必须要懂一些开发,而开发人员也必须要会一些基本的测试,并且在软件测试领域中的“测试开发“岗已经变得越来越重要,所以它们之间并无太大区分。

所谓的好与不好,与行业无关,与你个人有关。做不好软件测试,你也不一定就能做好开发。

当然,大家有这种疑问也并非没有道理。
在这里插入图片描述
在这里推荐一个软件测试交流群,QQ:642830685,群中可以不定的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术问题哦。虽然测试人员的需求量少于开发,虽然软件测试入门相对简单,但是,相对简单,并不代表普通人就能做好,需求量少,也不代表就没有钱途,所以并无哪一个的更好这种说法。

当然,很多人在转行做技术前,都会纠结是选开发,还是选测试。那开发是不是就真的比测试薪资高、比测试更有发展前景、比测试更好呢,并不一定:

1、IT行业都需要经常加班的,所以软件测试和软件开发其实都一样。如果你真正做过软件测试,会发现测试人员比开发人员头发更多一些(轻松一些),并且测试人员不会被产品气到吐血;

2、目前国内软件测试的待遇相比软件开发不相上下,如果你能做测试开发或者是性能测试、自动化测试,那么测试的工资甚至比开发的还要高;

3、软件测试的发展比软件开发更广一些,开发大多与产品经理打交道,但测试因为需要把控整个产品,则需要跟很多岗位的同事沟通,包括产品、开发、运维、售前、售后、客服等等,后期可发展成全面型人才;

4、软件测试的岗位需求越来越多,而且高校还没有普及相关的专业和课程,所以竞争压力想多而言,也会更小一些。

当然,无所谓哪个好哪个不好,适合自己的才是好的,你也可以先做开发,然后有兴趣了在转行测试,这样提升也会快点,未来纯粹的功能性测试人员迟早会被淘汰,所以即便要做测试,也一定要做一名懂开发的测试。

八.你经常怀疑的问题2:测试是不是比开发要求更低一些?

不能说哪一个要求更高,或者哪一个更好。只能说软件测试的入行门槛相对于软件开发要低一些,但并不是指软件测试的要求就比开发低。就好比,你能说教语文的就比教数学的要求低么?

软件测试刚在国内发展时,大多数从业人员是做一些基础的功能性测试执行工作,这让很多外行人都误以为软件测试就是点点点。但随着互联网行业的发展,用户对产品的质量要求越来越高,未来单纯只是做功能性软件测试的人不再满足于企业的招聘要求,而懂得一定开发知识的综合性技术人才才是发展趋势。

今年,很多研发企业中测试工程师的职能已经开始慢慢转移到开发工程师身上,并且由项目经理做引导,使两个开发团队去测试对方团队开发的软件。这样就能够有效的避免思维误区,同时也能增强软件开发工程师的沟通协调、风险意识、挖掘需求、分析总结等能力。

这两年的自动化测试比重明显增加,一些简单的极限操作测试将会由接口程序来完成,比如测试软件图片从重复加载多少次会造成软件卡顿、游戏软件里撞墙多少次竟然能够穿墙,这些简单无聊的测试以前会耗费测试人员大量的时间,并且可能花了大量时间后也无法测试到真正问题的原因。但如果使用接口程序来解决,就可以大量的节省测试时间以及测试的全面性,这样的效率对于手工测试而言,是完全无法达到的。

未来3-5年内,一些低端的测试人员会被行业所淘汰。软件的性能测试、需求测试等方面的需求仍然无比巨大,因为这些需要主观分析总结,用经验和逻辑分析得出的问题,是算法无法实现无法取代的,正如AI永远取代不了程序员一样。

简单的测试技术已成为软件开发工程师的必备技能,开发人员将自己打造成复合型人才,具备综合技能与专精技能;而软件测试也将慢慢发展为测试开发型复合人才,只有真正有能力的程序员,才能与行业同行,不被市场所淘汰。

九.你经常怀疑的问题3:软件测试岗位到底会不会被开发取代?

软件测试是由于软件开发编程行业高度成熟后所形成的产物。从行业的整体成熟度来讲,软件开发行业的整体成熟度更高,人们对软件开发的理解也更为全面深入。

故此通常将软件测试和软件开发放在一起做比较。纵然二者都属于产品研发但通常人们的关注点有所倾斜。所以经常用软件开发设计工程师的要求来评价软件测试工程师,仅看到软件测试和软件开发相比的弱势却看不到优势。

大家对软件测试岗位甚至还有更深的误解,比如:

1、测试的工作没有任何技术含量。

很多人都认为软件测试就是安装程序、运行程序、点点鼠标、按按键盘的工作。但这几年因为用户要求越来越高,产品变得越来越复杂,测试人员的技术知识体系也需要不断更新和完善,并且随着新工具、新流程、新设计方法的出现,软件测试人员也需要像开发一样持续学习。

2、测试就是找Bug。

找Bug、交Bug是测试人员最基础的工作,测试工程师需要把控整个产品质量,代表客户的利益去把控产品、验收产品,因此他们需要做得不仅仅是找Bug。

如果没有测试,软件质量就很难得到保证。近年来由于企业对软件质量的要求越来越高,测试人员也随之而越来越受到重视,探其原因,主要是:

市场竞争激烈,企业对软件开发的周期和质量要求越来越高,如果没有专业测试人员,开发很难在短时间内做出客户满意的系统。开发很难在自己编写的程序中检查出错误,开发也会遗漏需求功能或者缺失异常处理,需要测试来帮助他们检查软件是否有Bug ,是否符合产品设计,是否符合用户习惯,异常是否都已经处理。现在的软件系统越来越复杂,一个软件可能由几到几十个人来开发,单个开发可能只熟悉他所编写的模块,对于其他有影响但不熟悉的模块,容易产生错误。

如今,在每个软件企业中,测试都处于一个很重要的地位,对于一个合格的测试工程师,不仅要要了解产品想怎么玩,用户会怎么玩,运营想要用户怎么玩,还要知道开发怎么实现,测试如何进行,何为技术难点等等。普通的测试岗位的确很容易被开发所取代,并且也会逐年减少,测试开发才是未来的发展趋势。测试开发的核心职能依然是测试,只是通过开发的手段提升测试效率。当然,这也是需要在保障质量的前提下。测试与测试开发的区别就比如同一个人用人肉来分拣快递,另一个人发明了自动机器人来分拣快递,看起来后面这位更高级,但是实际目的还是分拣快递。

在这里插入图片描述

十.王者和青铜的区别就在这里了:一个优秀的软件测试工程师要具备哪些能力?

1、首先必须一定要具备的就是认真、负责、严谨、耐心的态度,因为软件测试工程师吃的就是这口饭,所以必须对你所测试的产品负责。宁可错杀一千,也不可放过一个,虽然不能做到完全没有Bug,但一定要尽自己最大的努力保证产品质量。

2、要有过硬的技术本领,技术是为测试服务的,无论是测试理论、测试工具、开发知识、数据库、操作系统、网络知识、你都必须精通一门,知晓其它。当然这个做到比较难,什么都会很难,再者多了之后就不会精,什么都会也等于什么都不会,至于最后你选择深度还是广度,都由你自己把控。

3、光有技术,没有业务,再好的技术也很难使上劲,熟练的业务知识会帮助你发现更多的缺陷,进而更好的保证好产品的质量。不懂产品的工程师不是好工程师。测试工程师需要训练自己的用户思维、用户视角,把自己当作真正的用户去感受产品。同时你还可以收集产品数据来做分析,通过数据再量化产品。甚至你还要去研究竞品的相关情况,知己知彼方能百战不殆。

4、沟通能力超级重要。一个优秀的软件测试人员除了经常要与开发打交道外,还需要与产品、运维、售前、售后、客服等不同的人打交道。所以如何更准确、更简洁、更严谨的描述Bug,如何让开发人员接受你发现的Bug,如何让其他人员理解你的想法等都需要沟通,所以良好的沟通能力显的尤为重要。

5、缜密的逻辑思维能力。测试人员不仅仅只是发现问题,找出Bug。更重要的是要去寻找Bug产生的真正原因,精准的找到问题发生的源头,以便协助开发人员更好更快的彻底解决Bug。这个比较考验你思维的灵敏度和推理能力。其实测试人员和刑侦有一些点类似,除了要求有缜密的逻辑思维能力,有时候还需要具备逆向反推能力。

6、测试虽然不像开发那样创造产品,但测试需要保证产品各方面的质量,让用户使用产品时觉得舒服、方便,所以大多数测试工程师都需要有一颗追求完美的心。

十二.灵魂拷问:入行软件测试,是选择自学还是培训?

自学

对于自学

控制力够强吗?

你的理解能力怎么样?

优势:金钱成本较低,能够按照自己设定的学习计划进行学习,时间安排也比较自由。

劣势:自学消耗的时间比较长,如果没有基础的话,想要自学也是比较难的,相对于有一定基础的,一般都是在空闲之余用碎片化的时间去学习,想要在软件测试的领域小有所成,找到一份正式工作,怎么也得一年半载吧。自学需要强大的自制力,需要耐得住寂寞,每天固定的坚持学习,但是遇到技术难点很容易做牛角尖,导致半途而废。

培训

优势:学习时间相对较短,整体学习比较全面,学习内容也比较集中。专业老师按照大纲进行系统授课,在学习中遇到技术问题能够快速得到解决,同时还有专项的练相对于自学,学习气氛更加浓厚,跟同期学员对问题的探讨,对拓展思路有很大的帮助。让学习变成一件很快乐的事情,学习起来也会很有动力,学习的效果会更好。

劣势:相对于自学,培训是需要金钱成本,一般的培训机构学习费用都在一万五到三万不等左右,还要加上学习期间的生活费,学习成本比较高。PS:从时间就是金钱的角度来看,上面说的自学优点反而不成立啦,提前工作半年的薪资估计不止一两万吧。

如果你不是一个自制能力很强的人,又想能够尽快的提升技能,最好是找一家靠谱合适的培训机构进行学习,毕竟培训价格不是小数目,主要是看钱花得值不值,主要取决于培训机构的质量。不过无论是培训还是自学,自己都得努力去学习,不然说什么也无济于事。

关于软件测试的话题就跟大家聊这么多了,还有问题可以直接私聊。码字不易,觉得有帮助的,麻烦手动点赞收藏一波!在这里推荐一个软件测试交流群,大家可以在群中积极交流技术,另外还有大佬为你答疑解惑。

写在最后:

前辈曾说:唯有最艰苦的等待,最艰难的坚持,以及最崇高的坚守梦想,才值得获得最经久不衰的掌声。

在坚持的路上,你总有撑不住的时候,可以对自己说声“我好累”,但永远不要在心里承认说“我不行”。不要在最该奋斗的年纪选择了安逸,没什么好说的,一无所有就是奋斗的理由,我们试着长大,一路跌跌撞撞,然后遍体鳞伤,总有一天,你会站在最亮的地方,活成自己曾经渴望的模样。所以朋友们加油吧,相信你乘风破浪会有时,直挂云帆济沧海。

看完的小伙伴们,记得举起你那可爱的小手给我点个赞,您的点赞是我更文的不竭动力,笔芯。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53519100/article/details/113130358