• 15
  • 15
分享
  • 测试行业的发展趋势和看法——软件测试圈
  • 恬恬圈 2021-11-08 13:50:34 字数 5364 阅读 1157 收藏 15

我是从开发半道转去做测试的,当时刚从事测试这个行业的时候也是意气奋发,对未来充满无限憧憬,但是在这个行业摸爬滚打了十多年后,渐渐发现这个行业不像当初描绘的那么美好,特别是网上看了一篇文章,文中对软件测试前景和发展方向的分析,真是给我们泼了一盆冷水,但比起很多粉饰测试行业多么有前景,鼓吹自动化测试、性能测试多么有前途的文章,我更喜欢这些引人反思的内容,我现在把这篇文章的关键部分转出来(做了一些改动,加些自己的想法)。

一、功能测试的现状和未来

目前入门的门槛很低,不少人可能都不是计算机专业毕业的,对计算机一窍不通,或者不是大学毕业的,进入测试岗位,通过中介机构的几个月的培训,良莠不齐的基础,进入某些外包公司,每天去点点,这就是功能测试的现状,入门低。

在具体在工作中,还是点(即使有需求分析和测试设计,可能也被抛到脑后了),每个迭代跟进需求,去发现开发人员没有实现的功能,提出问题。

且看他们的未来趋势?

在国外,科技公司的构成很简单,技术骨干,产品经理,其他开发,测试全部外包,为什么?

因为成本太高,如招聘1人每月工资1万,一年加上保险啥的支出最少15万,如果招聘2人,就得30万支出,那公司想倒不如出20万外包给其他公司,这就是功能测试的未来,将来会类似国外,有大批的外包公司,招聘大量的功能测试人员,然后一批测试人员每天在一起点,就好比服装加工厂,他们只做设计加工,而不会自己去织布,布匹去买就好了,以前大家都自己种田,但是后面发现这种成本太高,现在米这么便宜,谁还会去种田呢,直接买啊。(把功能测试人员等同于普通工人和农民,心都要凉了,但也事实就是这样)

工作越来越专业化,分工越来越明确,公司的职能更清晰,开发岗位,测试岗位,更多会被外包,有人说不会,其实简单看来,你是开发会java,会php,你是测试会做功能测试,其实你就是有一门手艺啊,你是木匠,你会造房子,谁家天天需要你,都是需要用时才找你,工期结束你就走人,这就是行业的趋势。

总之,功能测试可能会被外包公司垄断,公司的功能测试业务会更多的有外包人员介入,模式会是1个公司方管理+n个外包测试,或全部是项目打包给外包测试。

1.jpg

补充说明:关于功能测试会被外包垄断,也不是绝对的,这方面一定是两级分化的,对于集中度和测试规模高的项目,偏向于外包出去,因为节约成本,适合打团战、快速化操作。而对于很多中小型公司的项目,功能测试还将会以作坊式的存在(当然也可能是外包驻场形式),并且项目周期长,测试团队相对固定,但项目一结束,也难免得解散或在别的项目中重新组队;如果是中小型公司的产品团队,测试团队也还会相对固化,因为这时候的测试工程师大都是一专多能,测试任务少的时候是可以补位到质量管理或其他岗位任务中去(当然专业化就会差一些)。

功能测试除了外包化的倾向,其实还有外延化的倾向,即测试的外围工作者(不属于测试行业)也开始加入,而且这种角色会更多的出现,主要是很多产品众测的需求,他们会替代原来纯手工测试者,由真实的用户去使用和评测产品对企业有更大的好处。而且不会产生人力成本,这些人的测试行为以及触发的问题都会被很多的云测服务和监控sdk进行收集分析。另外大量的基础工作逐渐被测试服务或一些测试产品代替。比如最典型的原来的浏览器兼容性测试,需要耗费很多的人力去做,现在已经有了完整的云测服务,可以很容易的缩减成本。而且还配有更好的云监控分析等产品。这将成为测试行业的重要力量,所以测试内容和职责发生了转移,那么测试的地位也会相应的随之变化。

二、性能测试的现状和未来

性能测试听起来高大上,但是他有致命的弱点,就是性能测试的活儿太少,一家公司不可能天天搞性能测试,性能测试最多是在有大型活动或版本迭代时进行一次,所以招聘一个性能测试人员的成本非常大,非常非常大,因为一年也干不了几次活儿,所以大家可以看到,即便在招聘网站上,性能测试的岗位已经非常少,非常非常少...

那么未来性能测试是什么方向呢?

运维团队会接手性能测试,性能测试岗位更多的会编入运维团队,基于服务端,接口等架构运维会更有发言权,同时基于服务的优化,运维团队可以更高效的运作,基于时间结果,做出快速响应。

更多的云服务,云监控出现,如听云,App端,直接植入SDK,更精细的埋点监控,比任何性能测试Loadrunner、Jmeter等工具更具说服力,直接后端看报表实时监测,实时模拟加压,不需要啥性能测试。

对于服务端接口有更强大的全链路性能监测,如博睿监控,可以实时在全国埋点,真实用户,真实网络,全链路,全节点,实时加压监控,实时投射在大屏幕,比单点的性能测试工具更有力度,更详细。

总之,未来性能测试岗位越来越少,性能测试更多在运维团队开展,云监控,Nginx等监控平台大量使用,更强大的监控体系,更便捷的压力测试操作。

2.jpg

性能测试工作的未来,结合目前的趋势有几个方面:

  1. 性能将更关注架构设计,因为好的性能主要靠设计出来的不是调优出来的,所以架构师得懂性能,性能工程师得懂架构;

  2. 运维监控将受更多公司重视,性能测试人员需具备更多监控平台的应用和性能数据的分析能力;

  3. 全链路压测与监控、终端用户体验监控将成为互联网公司的高端配置;

  4. 以其说我们需要一个性能测试工程师,不如说我们需要一个基础架构工程师(并具备性能分析和性能调优能力)。

三、自动化测试的现状和未来

自动化是有一个老生常谈的话题,不懂的同学希望自己能学会自动化,觉得很牛x,已经学会自动化的同学,会感觉自动化也只是那样,说自动化很牛逼也是自欺欺人罢了,现在自动化行业就是,护士想做医生的事,以为自己沾点边,就是医生,其实你的title还是护士,你那么牛,那就去做医生。

自动化测试经历了几代的发展,最开始qtp对基于c/s架构的项目,可以录制一些脚本,可是作用也不大。后来有了b/s架构,出现了各种driver,如seleium,webdriver等,其实也就那样,在实战中不堪一击。再进入到无线互联时代,monkey猴子乱点,那是扯淡,米有什么操作性可言,robotium官网好久没更新了,似乎已倒闭,appium噱头,实战中也是低效........这些说的是UI层的自动化,那单元自动化又如何能?可以说没有多少公司做到单元测试,因为懂单测不就是懂开发了,那基本就是开发人员干的事,可是你发现能有几个开发人员去写单元测试,本来开发人员就讨厌做测试(只要跟测试沾点边的事都会认为是测试人员的事),而中小公司的项目紧任务重人还少,怎么去投入单元测试。至于接口自动化的问题,下面会提到,在这不说了。

业内包括世界范围,都没有很强有力的自动化框架去支撑实时的迭代项目,总是后知后觉,缺乏实战之功效,归根一句:自动化没啥意思,就是噱头,各领导的政绩工程。

  1. 自动化投入产出比太低,在实际工作中没法很好的应用;

  2. 移动互联网行业迭代速度快,自动化无法跟上迭代速度;

  3. 运维团队服务端监控比测试团队的自动化更便捷,更高效。

至此一系列的驱动工具,自动化框架等其他的,请问在实战中有啥战绩,有啥效率?

技术是为业务服务,提升业务效率,业务也需要技术,自动化测试,说实话没有哪家公司做的很牛逼,即便是google,facebook,大部分硅谷的公司,都没有很强调去搞自动化。

至于自动化的未来,结合目前的趋势有几种可能:

  1. 小公司快速迭代,不会去组建自动化团队,甚至弱化自动化概念;

  2. 自动化是需要发展的,就像从原始社会进入到工业化社会,需要自动化提升人力,但这由谁去搞呢,绝对不会是测试工程师,这将有开发工程师去完成,也就是说将来会有开发人员去开发一款巨牛逼并适合自己公司或项目的自动化软件,想做自动化简单录制回放就可以完成而不是招一批所谓的自动化测试人员,说是要改变自动化的现状,自动化人员说真的你这么牛,你咋不去做开发呢,说白了,以后不需要人人造车,造车有开发去完成,测试学会怎么操作就行,啥自动化都会,你说把司机当好就行,天天想我不仅要开好车,还要自己造出法拉利,自动化请交给牛逼的开发去完成,你觉得自己很牛,请去做开发;

  3. 自动化内容会更加集约化,各种云平台产生,专业的公司提供定制化服务,更加高速便捷。

3.jpg

四、接口测试的现状和未来

接口测试目前来说意义也不大(虽然接口自动化号称是性价比最高的自动化),首先架构团队会有各种接口监控工具,每天24h自动化监控,实时报警,对接口的访问测试,流量等信息实时回调,那么对于新增的接口呢,新增的接口其实不会很多,每次迭代可能就新增3、5个接口,测试接口联通很简单,链接往浏览器一丢就实现,其他的借助一些插件啥的,也是秒秒就能实现,所以专门招聘一个人来做接口测试也不现实,现在招聘网站上,搜索接口测试也更是非常非常的少。

未来接口这方面的内容,大多会在架构团队,借助监控体系快速的搞定,同时接口监控也会同时进行,实时投射大屏,接口测试工程师的一些工具就显得很鸡勒。

当然,对于以上说的传统意义的接口测试可能是鸡肋了(大部分可交由接口监控工具来完成),因为这样的接口测试都是基于成型的应用模块或外接系统或HTTP访问而进行,而实际上还有很多接口测试是需要在编码完成前就要开展了,这部分的接口测试先于功能测试,而且要比功能测试发现更为隐蔽的问题,这也是接口测试的真正意义所在,所以不懂开发,要想做好这部分的工作也是有困难的。

未来接口测试的方向:

  1. 测试虚拟化:提供接口测试虚拟机,构建测试虚拟化层。将被测系统运行在虚拟机中,与外部系统剥离,进行内部代码检测、内存检测、数据校验与逻辑检测;

  2. 测试智能化:智能分析系统代码,智能生成测试代码,智能mock外部系统,智能执行测试代码,智能分析测试结果,智能定位缺陷,智能修复缺陷;

  3. 监控持续化:新增接口测试通过后,将从功能测试到实施运维阶段都保持持续化监控,不只监控接口的连通性,还监控接口的性能,并提供趋势图分析和异常预警,一但发现接口问题能够及时处置。

五、安全测试的现状和未来

大数据时代,安全测试似乎很火很受关注,但实际中请问有几家公司,会招聘一个专职的安全测试人员。基于服务端的安全,会有各种安全软件,安全监控搞定,基于网站的,app的,请问公司真的会招一个人在那里搞漏洞注入吗?测试漏洞吗?no,更好的选择是交给一家安全公司,让他们去扫描,提供更专业的服务至此安全测试的未来很明晰。而对于日常的代码级安全扫描,通过Sonar-Scanner或一些安全扫描工具就能实现,能满足基本需求就够了,不需要专人投入(而对于大型互联网公司有专门的安全团队或安全协会组织,人家的业务面向社会,相当于安全公司,这已跳出我们说的一般公司范围)。

  1. 未来会有大量安全公司成立,专门负责安全方面的服务,专业便捷;

  2. 安全测试对个人知识和技能要求越来越高,能专职从事这方面工作的基本属于专家级了;

  3. 互联网公司也会更多的选择第三方产品,做个性化定制服务。

六、测试经理的现状和未来

最后说说测试经理这个岗位,这个岗位也会越来越少,招聘的需求也会越来越少,现在的公司都在推行扁平化管理,以项目为单位,以业务划分事业部,团队小而精,人人都是干事的,要求所有人都参与实际工作,不会说找一个测试经理下面管理一批人,现在这个模式行不通。说白了,现在不少公司开始把测试团队拆分成一个个测试组,服务于一个个项目(领头人是项目经理或产品经理),面对这样灵活机动的测试组织,现有测试经理的职能会被进一步的弱化。

所以管理扁平化是测试管理的灾难,但是小公司增多对这个岗位也有正向作用。尤其是很多传统公司也在IT化,成立的IT部门会为整个IT行业带来大量的岗位(已经看到不少非IT公司也成立起了自己的IT部门)。所以测试管理未来仍然是可以保住饭碗的岗位,在技术、业务、管理之间需要做到非常微妙的平衡。这种角色独立于产品研发周期,但是却会影响整个测试团队的发展。一个不及格的管理者会毁掉一个测试团队以及拖慢产品研发节奏。目前行业中的大部分测试管理者是从业务+管理的方式中发展起来的,未来行业更期望的是从技术+业务方向起来的测试管理。所以目前的测试管理者可能需要谨慎的保住饭碗,而具备一些测试架构师的思维会带来更多的晋升机会,懂点持续集成持续交付,以及devops推广,新技术研究,以及更深入的测试实践研究也是必要的。

说到这里,也给测试行业的伙伴一些建议:

  1. 如果你对测试感兴趣,首先要学好学精功能测试,别想学东学西,最后啥也没学会,把自己搞得很累;

  2. 如果你对性能测试或安全测试感兴趣,那你要做好苦行僧式的修炼准备,不懂开发不懂架构,基本上注定你走不远,想当成铁饭碗更是不可能;

  3. 如果你对自动化测试有些研究,请更深入一些,把java或其它语言学透,去做开发吧,做一款牛逼的app或网站;

  4. 如果你对开发有兴趣,想入门简单,请转行前端;

  5. 如果你觉得测试没啥意思,请趁早选择转行,运营、产品等一大堆岗位等着你;

  6. 如果你还想深耕测试这一行,那就多看看未来的趋势,开发、测试、运维的流程边界开始模糊,跨界学习也许是你面对未来变化的有效方法(前提是得系统化,东学一套西学一套只能是吃力不讨好)。


作者:smooth-z

原文链接:https://blog.csdn.net/smooth00/article/details/87792965

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 游戏产业分析机构SensorTower近日发布的一份《2022年移动游戏市场展望》报告显示,2022年全球手游市场收入或将达860亿美元,同比下滑2.3%。这不是第一个预测全球游戏市场下滑的报告。今年7月,市场研究公司安培(AmpereAnalysis)的数据显示,在经历7年的连续增长后,游戏市场预计在今年迎来首次下滑,全球电子游戏销售额在2022年预计将下降1.2%至1880亿美元。OpenMediation近日发布的《2022年年中全球手游市场报告》还显示,2022年全球游戏厂商减少1/5,游戏市场表现出明显的缩水,其中腰尾部游戏影响最大。此外,财报显示,如索尼、腾讯这样的全球游戏大厂均在...
            0 0 720
            分享
          •   一:等价类划分法  1:有效等价类: 2:无效等价类:  案例:比如一个登陆输入框,规定只能输入中文,同时长度为6-10。  通过等价类设计测试用例:  测试用例中重要的三步: 输入 操作 预计结果 如果与预期结果不符合就是bug。  有效等价类: 输入:输入长度为6的中文,输入的为王小明,这就是有效等价类。  无效等价类:  1: 输入长度为4的中文,输入位小名,点击登录,预计结果长度不符合要求。  2: 输入长度为6,但是是英文的,点击登录,预计结果 请输入中文。  3: 输入长度为4,而且不是中文的,是数字,1234,点击登录,预计结果请输入中文并且长度为6-10位。  4:输入长度...
            0 0 1181
            分享
          • 自动化测试自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的趋势。特别是在敏捷模式下,产品迭代速度快,市场不断调整,客户需求不断变化,单纯的手工测试越来越无法适应整个变化过程(迭代快,加班多)。测试人员如何快速响应并保证产品在上线后的质量能够满足市场要求(如何在上线一个新功能的同时快速对旧功能快速进行回归,保证旧功能不被新功能影响而出现严重的Bug?)。针对以上问题,采用自动化测试无疑是一个不错的选择,能够做到在保证产品质量的同时提升测试效率。随着行业内卷越来越严重,对于测试岗位的要求也是水涨船高,岗位招聘要求都会出现自动化测试的字眼,因此也是我们跳槽面试、升职...
            0 0 998
            分享
          • 基本技术问题:游戏测试的基本流程:分析测试需求-制定测试计划-设计测试用例-(可能会进行冒烟测试)-执行测试-生成测试报告OSI七层协议:应用层-表示层-会话层-传输层-网络层-数据链路层-物理层TCP与UDP的差别:游戏测试与软件测试之间的关系:1、游戏测试是软件测试的一部分游戏测试简单说就是发现游戏里的问题(BUG)并进行改进,从而提升游戏产品的质量。游戏测试作为软件测试的一部分,它具备了软件测试所有的一切共同的特性:①测试的目的是发现软件中存在的缺陷。②测试都是需要测试人员按照产品行为描述来实施。产品行为描述可以是书面的规格说明书,需求文档,产品文件,或是用户手册,源代码,或是工作的可执...
            10 10 5259
            分享
          • 1、原因一:http请求次数太多解决:减少http请求次数①图片地图:把多张图片整合到一张图片中,以位置定位超链接。②CSSSprites合并图片,通过指定CSS的backgroud-image和backgroud-position来显示元素。③合并JS脚本和CSS样式表。④使用外部JS和CSS文件。2、原因二:接收数据时间过长,如下载资源过大解决:对HTTP传输进行压缩,即在js,css、图片等资源已经压缩的基础上,在HTTP传输过程中的再次压缩。客户端可以通过Accept-Encoding头来声明浏览器支持的压缩方式,服务端通过Content-Encoding来启用压缩,配置压缩的文件类型...
            0 0 2723
            分享
      • 51testing软件测试圈微信