职场日常:为什么对软件测试的要求越来越高了

Posted 测试萌萌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了职场日常:为什么对软件测试的要求越来越高了相关的知识,希望对你有一定的参考价值。

为什么对软件测试的要求越来越高了?现在很多人都在讨论这个问题,但很多都没说道点儿上,甚至很多人还在用老套的思维来解释当今的现象。那么,今天我就来发表一下自己的观点吧,也许不完全对,请大家指正。

我认为原因有二:

第一呢,是各公司都想做人才储备。他们都知道测开是测试的未来方向,但也不知道自己何时能用上这种人才,所以就先做人才储备。

当然,全换成测开成本也太高,通常的做法是一个组里有一个测开负责写代码,其他人还是手工。

第二呢,才是最重要的,也是最残酷的,很多人都不愿承认的。但我认为这是事实,那就是手工测试的技术含量太低,干了5年和干了20年的区别不大。

所以,测试就开始内卷,啥叫内卷呢?内卷就是竞争工作以外的,甚至是工作用不到的技能。因为反正大家的水平都差不多,那谁年龄小就用谁,谁没结婚就用谁,如果两个面试者年龄相仿,也都结婚了,那就看谁会的更多就用谁,比如会写代码,虽然有些公司在工作中未必用得到,但除了比这一项,其他的都一个水平,没得可比,那我当然就要会的更多的那个,说不准以后还能用得上他的技术。

我们再引申一步讲,什么工作才能长久?那就是有技术含量的工作,随着你的工作年头的增加,你的能力也在增加,比如写代码,能力全是靠代码量堆出来的。

你年轻人比我少写了十年代码,那你的经验就是不如我,没有那十年的代码量的堆砌,你永远也超不过我。当然,也不排除有个别天才,他干两年相当于普通人干十年,更不排除有更多的人不思进取,十年了只会增删改查。但至少这种工作给你提供了一个上升的渠道,你可以通过个人不断地学习来延长你的工作期限,当然,愿不愿意学在你自己,你可以选择不断进取,也可以选择不思进取。

但手工测试呢?实事求是地说,我认为只要干5年的时间,你就够到天花板了,如果你的公司劳动强度大,3、4年就够到了,如果强度小,6、7年也够到了,再往后,你除了摸鱼就只能转型了。

当然,肯定会有同学说了,我十多年前入行测试的时候,行业内人士对我说的跟你今天说的恰恰相反啊,当时他们说开发是程式化的,技术含量低的,年龄大了就没人要了,而测试才是工作周期长的,非程式化的,需要经验的。

我相信很多人至今还持有这种观点,但我只能说,这种观点过时了,这种观点的产生是在零零年代初期,那时候中国连软件开发都是新行业,测试就更是了,那个年代没有老程序员,更没有老测试员,所以,那种观点有很大的推测的成分,甚至可以说,它就是根据当时的技术背景,对未来的一种完全的推测,并不是对已发生的事实的总结。

另外,以那个时候的软件复杂度来说,人们有那样预测也是可以理解的,因为复杂度太低了,开发就只会增删改查就可以了,而那个年代的人们刚刚看到bug这个事物,觉得这东西很讨厌,很可怕,神出鬼没,让人担惊受怕,甚至也认为发现bug是件很复杂的工作,所以才对测试员有了过高的评估。

随着硬件的不断提升,软件也变得越发复杂(过去也不是想不出复杂的功能,而是太复杂了硬件带不动),对开发的要求越来越高了,而测试呢?除了点点点以外却没有更新的技术要求了,而且经过了这十几年的历练,出现了一大批老程序员和老测试员后,人们也逐渐发现,点点点并没有那么复杂,Bug也并没有那么可怕,过去对点点点的评估过高了,对传统测试员的评估也过高了。

而随着软件复杂度的提升,很多系统全靠手工测试已经测不过来了,必须引入代码,用代码测代码,比如接口测试,编写小程序测试,甚至是白盒测试等,而要做这些工作,都是要建立在懂代码,至少是基本懂代码的基础上,可以说是开始迈向测开了。

所以人们慢慢发现,开发才是技术含量高的,需要经验的,有技术含量的,测试(指传统的点点点测试)才是程式化的,对经验依赖度低的,没什么技术含量的。

另外,很多对形式认识不清的测试人员总是拿测试用例多么有技术含量,理解需求多难来说事,像什么等价类划分法,因果图法,正交分解法等等炫酷的名词整一大堆挂在嘴边。这种观点仍然属于十几年前对测试的推测的范畴,实际上大家想想,你平时测试的时候真的有那么详细的测试用例吗?当然你写过,但用例从项目开始到项目结束一直在更新一直在使用的项目又有几个?好好想一想,我相信很多人的答案是零个。

而且随着互联网的不断普及,市场的变化也越来越快,所以需求变化也越来越快,很多项目根本就没有写用例的时间,比较典型的就是电商项目,双11、618等购物节开始在即,哪有功夫给你一个月让你详细写用例,直接测还怕测不完呢,所有的用例必须在你脑中自然呈现,这也是一种能力,你们说是不是。

而那些炫酷的测试方法,你摸着良心说,除了等价类和边界值,其他的你用过吗?如果你说你用过,那你现在就问自己,能不能在5秒钟之内把正交分解法详细地讲述出来?如果你常用,你一定能马上讲出来不犹豫,就像一个开发能瞬间给你讲出什么是python的字典一样快。所以,实事求是地说,那些都是空架子,现在早已沦为老测试员维护自己尊严和自我安慰的工具了。

大家一定都听说过敏捷这个词儿,为什么会有敏捷呢?我们以前的软件开发模式,即瀑布模式,这种模式大家一定很熟悉,但随着市场变化的不断加快,瀑布模式越来越不适应市场,所以,现在的互联网公司基本上都打破了瀑布模式,比如说,瀑布模式里很重要的一环测试用例,现在的公司基本上都不能完整地走完用例了,基本都是项目开始有用例,到了中后期由于需求的不断变更,用例就废掉了,甚至很多互联网公司压根就没有用例。

那么如何解决需求变化快这一难题呢?敏捷模式就应运而生了,这里,我们不去详细解说敏捷模式了,大家可以去百度。但我觉得,我们可以简单地把传统的瀑布模式和现在的敏捷模式理解成两个时代的流程,我们可以简单称这两个时代为瀑布时代和敏捷时代(自定义的名词,非官方名词),老的瀑布模式已经过时了,现在的很多公司,虽然没有达到完全的敏捷模式的水平,但基本上都在往那个方向上靠,虽然可能永远也达不到,但都在无限接近,当然,也有少数公司已经实现了敏捷。

所以,综上所述,所谓详细用例啊,各种炫酷的测试方法啊,那都是瀑布时代的产物,如果你还认为软件的开发和测试应该遵循瀑布模式,你还认为没有详细用例是不能接受的,那你的思想就过时了,应该更新一下了。

我们可以再引申一步,如果你去面试一家公司,它考你的问题还是瀑布模型相关的问题,那这种公司你基本可以放弃了,因为它还停留在瀑布时代,你进了这样的公司,基本不会有什么进步。

那有同学又说了,照你这么说,点点点以后就没市场了?不是没有市场,市场还是有的,总要有人点点点,只要有测试这个行业在,就会有人点点点。那么有同学又说了,那我就吃点点点这块市场需求吃一辈子行不行?很抱歉,答案是不行,因为点点点技术含量低,纯点点点的工作注定只会让年轻人来做,年龄大了就不好找了,换句话说,这种职位永远保持年轻人来做,年龄一大就被淘汰了,淘汰了还会有新的年轻人补充上来。所以,你不可能吃这块市场需求吃一辈子。

我们再引申一步说,如果你是一名毕业生,你在纠结是否可以进入测试行业,而此时,有人对你说,测试简单,主要是了解需求,随着对需求的不断深入,你的经验会越发丰富巴拉巴拉的,反正还是瀑布时代的那些废话。如果是这样,那你就可以忽略个人的话了,因为他对测试的理解还停留在上一个时代。

如果你是计算机专业毕业生,你为了躲代码而进入测试行业,那你这种做法在十年前是正确的,但在今天就不行了。

如果你是一名外行,而你由于对本行业的业务特别熟悉,因而想转行做你这个行业的软件的测试人员,这种想法仍然是十年前正确,今天不行。

所以把这个引申总结一下就是,进入测试行业就必须学代码,即便不会代码也可以暂时入行,但如果你想一直在这个行业做下去,就必须写代码。如果你不想写代码,但还想入行测试行业,那你就要做好放短线钓小鱼的准备,即干个五年十年的,年纪大了没人要了,就要转行了。

我们照这个趋势分析下去,今后的测试会越来越需要写代码,我预测今后的测试有可能和开发高度融合,比如,一个开发岗位配两个人,一个是从零到一写代码的,一个是专门做代码检查的,可以说就是白盒测试的。至于说点点点,当然还是会有,但仍然只保留年轻人,甚至可能连接口测试都和点点融合了,即除了白盒测试人员外,非白盒测试人员既要负责接口测试,又要负责点点点,总之,将来会进入一个无码不测的时代,其实目前,我们已经开始向无码不测时代慢慢迈进了。

这就是我对当今测试行业的分析,虽然残酷,但这是事实,我们要认清事实,不要抱有不切实际的幻想,我们的任何观点,任何规划,任何计划,任何努力,都要建立在认清事实的基础上,不是吗!

其实,我也是被现实毒打后才认清事实的。

 

资源分享【这份资料必须领取~

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

以上是关于职场日常:为什么对软件测试的要求越来越高了的主要内容,如果未能解决你的问题,请参考以下文章

职场不易,亚洲城市大学免联考MBA/DBA助你职场平步青云!

新手如何理解JS面向对象开发?

新手如何理解JS面向对象开发?

职场日常:一文剖析性能测试流程,时间为啥那么长?

出的大事了,现在Android开发招聘要求越来越高了

职场日常:被裁后,我凭借这项技术,光速拿到新offer