“用户体验”已是产品展示的重要亮点。而伴随着这个消费趋势,企业对于产品开发人才的储备正慢慢倾向测试人才。
在互联网上,搜索“测试”,与此相关的招聘信息有18万条。将条件缩小至杭州,相关的招聘岗位也有9000多个。作为测试工程师中可靠性领域的高级人才,可靠性专家也是各大生产企业的香饽饽,招聘年薪普遍为30万到50万。其中,并不乏年薪70万到100万的可靠性专家。
“目前,各大公司对于测试工程师的需求量非常大,特别是高级测试工程师,例如可靠性专家。但是这类的高级人才也极度缺乏。”海康威视数字技术股份有限公司高级测试经理陈芬说。
微软测试人员至少是开发人员的两倍,而国内大部分公司则是五分之一不到
“一个产品要有良好的用户体验,需要测试工程师反复地去测试,发现问题,并且去优化。”陈芬说,为了吸引消费者,许多厂家会不断推出新功能,但是,不断更新的功能不仅让用户疲于应付,也弱化了厂家对于产品质量的关注。“现在,厂家都流行‘微创新’。而消费者也不再猎奇新功能,转而更去关注产品的体验以及质量了。”
因此,优秀的产品不仅要有一个好设计,功能性很强,还要有大量测试促成的可靠性、易用性。但是,由于中国的测试需求起步较晚,无论是测试人员的需求,还是测试人员的工作水平,都处在一个发展阶段。陈芬介绍:“在国外,一个开发人员会搭配几个测试人员。例如,微软的开发人员与测试人员的比例小于1比2,而在中国,在大多数的产品研发公司,研发人员相对于测试人员还是占据着大部分的比例,5比1、8比1甚至10比1。”
据介绍,在国内从事测试岗位,工作经验达10年—20年、专注于某领域的高级测试人才非常少。但是,企业对于这类人才的需求很强烈。在招聘市场上,测试工程师、测试工程师实习生的需求旺盛,前者有80000个岗位,后者也有5000多个岗位。而在海康威视数字技术股份有限公司,相关专业的应届毕业生做测试工程师,月薪也有4000至5000元。
“目前,在国内许多大型公司,对于测试人才的需求越来越旺盛。这些公司拥有大量的测试人员并且会对这些人员的工作进行细分。在这些大型公司,测试人员对于产品拥有很高的话语权,他们能够决定某一产品是否能够发布。”陈芬说。
快门测试按100000次甚至更多还要经历恶劣天气、高强度作业
测试工程师作为整个产品研发的重要环节之一,需要将开发工程师的设计以及用户体验的可行性作一个衔接,并且要对产品的质量作一个严格的把关。如果这个环节一旦出错,很可能让问题产品流入用户,造成重大的损失。
比如一个相机的快门,在设计的时候是根据能够被按100000次来设计。测试工程师便需要对这个快门按100000次甚至更多的测试。从时间上或者次数上制造压力,以测试相机快门的抗压性能。
当然,这只是产品的一个部分。测试工程师需要对产品进行整体测试。发现问题后,他会将问题提交给开发工程师重新设计,然后再进行产品测试。“我自身经历过的一次最长的产品测试,10个人经过四个测试周期一共半年的时间才完成。测试工作周期往往会因产品的复杂性来决定。”陈芬说。
现在许多产品要面向全球市场,客户的要求也越来越高。所以,在测试之前,测试工程师需要搜集用户的使用场景及习惯,根据这些数据设计用例,尽可能涵盖目标用户的场景及使用习惯,测试在这些场景下,是否能满足客户需求。“公司有一系列用于交通系统的摄像机,因为摄像机是处于露天环境的,会经历各种天气,例如暴雨、烈日以及大雪天。为了测试摄像机的可靠性,我们在烈日下,在路口摆了六七十台机器进行长时间的模拟测试,也曾在半夜拉设备到黑暗的野外,测试产品的红外效果。”陈芬说。
目前,一些软件公司的测试工作很多都实现了自动化,但是类似嵌入式产品的测试自动化相对更难一些。“例如一个触屏显示屏,我们需要测试触屏情况,这个是自动化无法完成的,这就需要手工去操作。”陈芬说。
入门不高发展不易最需耐性和分析能力
在大多数人的眼里,要成为一名测试工程师可能要掌握计算机语言、数学算法、代码编写等大量技术知识,并且要有很严密的思维逻辑。其实,相对于开发工程师、测试工程师的入门门槛较低,并不需要过硬的技术基础。但这并不意味着,成为一名合格的测试工程师是非常轻松的。
有一家公司曾做过一个测试,让一个刚毕业的大学生团队和一个成熟的测试工程师团队对一个有问题的产品进行检测。刚毕业的大学生团队测试出了成熟的工程师团队能够测试出问题的70%,但也正是这30%大学生团队无法测试出来的产品问题,可能会造成大量的经济损失以及重大事故。
“要成为一个优秀的测试工程师,除了要具备耐心、分析能力、考虑问题的全面性等基本素质外,还需要掌握测试的基本知识、基本流程、测试手段等。当然,你还需要对你测试的行业以及它的辐射范围都要有一定的了解。”陈芬说,“在招聘的时候,我们会对应聘者的分析能力以及性格进行相关考核。虽然,有些素质能后天培养,但一些先天素质会成为影响应聘者是否能够成为有所造诣的测试工程师的关键因素。”
测试工程师需要不断地去学习和钻研,朝测试管理人才或者成为需求分析领域、场景设计领域、自动化应用领域以及可靠性测试领域等领域的专家的方向发展,但是无论是管理方向还是技术方向,最终还是需要落根于测试。