之所以会有很多人普遍觉得“测试人员比开发人员要求低”,一是国内行业现状造成的,因为国内软件企业对软件测试技术的认知比较晚,即使在发展了几年后测试行业变得相对成熟和正式 ,仍然很多企业公司的主观意识中觉得开发人员解决的是项目可用性问题,而测试人员解决的只是项目好坏问题(眼光不长远只追求眼前利益,对待产品只追求“凑合”,不追求”完美“)。在加上之前很多小公司对测试流程并没有很高的要求,这就使得测试人员要求比开发人员要求低的表象更加明显了。
二是测试工作性质的原因,大家都知道测试入门相比开发入门要简单(开发入门难提高更难),殊不知测试入门容易,提升也是很有难度的。测试除了点点点的功能测试(手工测试),还有接口测试、性能测试和自动化测试(这些涉及到代码、脚本和框架),所以有些人片面的觉得测试人员要求低于开发人员,那是因为对软件测试行业没有很深入的了解。
为了解答这个问题,接下来我们来进行如对比:
测试岗位和开发岗位的平均薪资要求对比
测试岗位和开发岗位的入门要求对比
测试岗位和开发岗位的技能要求对比
一、测试岗位和开发岗位的平均薪资要求对比
软件测试和软件开发两者的比较向来都是行业内的经典讨论话题,因为测试和开发两个岗位的工作职责和目标并非是完全一致的,所以无法做到同等对比,可能目前最有说服力的衡量标准就是薪资水平了。
我之前专门有写文章详细介绍测试和开发的薪资水平对比,请看下方这个连接:
软件测试VS软件开发 IT行业两大高薪岗位全方位对比 看完就知道选谁了
看完链接文章你会发现比较有意思的点的是:测试人员初期工资水平要比开发人员低,后期薪资水平要比开发人员高(选择做测试的朋友请一定要坚持)。
包括从长远的的职业发展情况来看,测试的技术含量和开发的技术含量对比如何?哪个的职业生涯更久?
二、测试岗位和开发岗位的入门要求对比
测试岗位和开发岗位在工作内容和方向上就有很大的区别:
1、软测测试岗位主要的工作内容是对软件产品进行缺陷(BUG)查找以及产品质量保障;
2、软件开发岗位主要工作内容是对产品需求的实现以及产品功能的完善。
关系总结:测试岗位和开发岗位两者既具有对立性,又是相辅相成的关系。
如果单从岗位入门门槛来比,测试岗位相比开发岗位确实对比明显
在我文章的一开始也提到了,因为早期国内对测试岗位的认知偏差,所以导致测试岗位不受重视,再加上在以前的测试中只需要通过手动的点点点就能完成,从而给测试岗位入门门槛留下了一种固有印象。
但是随着近几年国内 的互联网行业高速发展,群众对产品的要求也越来越高,产品质量的高低,已经可以几乎可以影响到一个公司的寿命长短了,产品的质量保证也变得越来越重要,而作为产品质量把控关键的软件测试岗位在入门要求上也自然有所提升。
以下是某招聘网站对软件测试工程师的招聘需求:
由以上的招聘需求我们可以看到的是,除了基本的能够定位缺陷(bug)发现问题之外,都或多或少有一些加分要求,比如可以通过某种测试工具或测试脚本完成自动化测试的内容,不再只是单纯的手工测试要求了。像现在的开发岗位,基本要求是:至少要懂一门开发语言且可以根据需求完成相应的开发工作。而对于学习计算机编程语言的成本来说,确实会高于软件测试知识内容的学习成本。
总结:单从岗位入门门槛来讲,软件测试岗位的入门成本会低于软件开发岗位入门成本(自学除外)。
三、测试岗位和开发岗位的技能要求对比
不同岗位对于工作中用到的技术要求也不一致,而且即便是同一个岗位,由于工作内容的不同,对技术的要求也会有很大区别。以软件测试岗位为例,不同的测试内容,对于技术的要求就不尽一致:
1、功能测试:制定测试计划,运用方法设计测试用例,借助工具执行测试,产出测试报告。
2、接口测试:熟知各类网络协议,解析验证请求数据,根据需求合理运用测试平台,实现自动化测试,提高测试效率。
3、UI 自动化: Web 端、移动端,搭建自动化测试框架,根据需求对主流框架实现二次开发,构建测试平台。
4、性能测试:熟知软硬件知识,明确前后端开发逻辑和了解系统架构设计,根据需求设计测试场景,分析测试数据实现性能优化。
以上只是做了测试工作中比较典型的分类,其它还有:单元测试,安全测试、自动化测试、测试开发等等,但是不管是那种类型的测试,对于技术的要求也是各有差别的,所以对于难易程度的比较还是需要针对具体种类分析才好做评价。同样软件开发也是一样,对于软件开发的工作也是会有详细分类的,例如:Web 前端开发、后端服务器开发、移动端开发、桌面应用软件开发、嵌入式软件开发等等。
综上所述,如果从技术要求上做对比,测试岗位和开发岗位是不好直接做对比的,需要具体问题具体分析,或者结合自己的自身情况来选择更适合自己的岗位才最为恰当。
最后总结:
技术面前人人平等!虽然在入行门槛对比上测试投入成本要低于开发,但是从技术上上看两个岗位的技能要求是没有可比性的。