软件测试作为软件开发中日益重要的一环,其人才需求一直保持上升趋势,从开发人员和测试人员8:1,到3:1,到2:1,到目前国际公认的行业标准实际上1∶1,也不过短短10年时间。实际上,为了保证软件质量,从项目开始测试人员就要介入,要了解客户需求,参与项目评审,把握测试要点。如果测试人员数量少,软件质量是得不到保证的。因此测试行业的确需要大量人才,尤其是性能测试,自动化测试和有丰富测试经验的人才更加稀缺。
那么作为一个热门的职业选择,一个软件测试人才的职业是如何发展的呢?
从技术路线上说,划分为三个半方向,分别是自动化测试工程师、白盒测试工程师、性能测试工程师和认证测试工程师,前三者适用于通用软件测试领域,认证测试工程师乃嵌入式测试领域职位,对技术的要求程度逐渐增加。
自动化测试工程师在功能测试范畴,指通常所说的依靠自动化测试工具进行软件黑盒测试的工程师。很多测试界朋友,尤其刚入行者,对测试工具充满了无限的兴趣,他们喜欢那种编写脚本、调试成功后的快感,喜欢看到自定义的日志里记录了本来手工测试烦琐的无聊头顶的工作、而采用自动化方式实现后如此清晰丰富的内容后 的兴奋!从大环境讲,自动化测试是软件测试执行阶段的必然趋势,社会对于软件测试的认可度以及对自动化测试人才的需求必将日益增加,做自动化测试的从业者 薪资情况看,也普遍高于常规测试工程师。
白盒测试工程师定位于在软件测试周期的单元测试阶段对软件进行的代码级测试的人,包括代码走读、代码功能与逻辑测试、代码内存泄漏检查、代码运行效率检查、 代码测试覆盖率分析等。如果说,自动化测试只是依靠脚本语言完成测试脚本编写与调试的过程(因为自动化测试工程师的工作重点不在编写脚本),对于自动化测 试工程师的技术要求要相对偏低的话,那么白盒测试工程师就要对大型程序开发语言的完全掌握,因此其技术要求相对偏高!一些公司根本不做,而一些对软件质量 要求非常高(如军事类、电信类、财务金融类等)的企业,也会调动开发工程师来实施此事。但是,测试行业在发展,测试人员能力在提升,软件的开发技术在复杂 化,要对软件进行尽可能全面的测试,白盒测试不可忽视!当下专门高薪招聘白盒测试工程师的企业也比比皆是。
性能测试工程师,即在系统测试阶段、功能测试后对软件系统性能指标进行采集分析和运行效率检测的人。一个尽量压缩的测试流程里,功能测试可以手工进行,白盒测试可以不做,但是性能测试必须要做,除非该软件非网络类软件即单机版软件!这里笔者再提一个观点供大家参考:软件测试,从宏观上可以划分为三个大方面: 功能测试、性能测试、安全性测试,功能测试说明软件做对了,功能测试+性 能测试说明软件做好了,三者结合起来说明软件做的非常好!安全测试暂且抛之不提,这是下一个发展域的内容,但是为了把软件做好,为了真正保证软件的质量, 性能测试绝不容忽视;只因目前很多企业由于时间、成本、人力条件的限制,暂且不做性能测试。性能测试工程师相对来说,是三个技术路线里技术要求最高的,因 为软件的性能瓶颈归根结底落实到代码的运行效率这个问题上,因此性能测试要做好,性能测试工程师起码要懂开发;而为了发现性能问题,要懂软件开发架构;为 了定位性能问题,要懂操作系统、网络协议、应用服务器乃至数据库的原理与使用;为了最终解决性能问题,要根据定位的问题有针对性的对代码、操作系统、网络 架构、服务器、数据库进行优化!当然性能测试是一个系统工程师,绝对不是一两个人的事情,对于常规性能测试工程师,具备定位性能问题的能力即可。正因为性 能测试工程师技术要求的高超,该职位的待遇也是目前测试技术路线最高薪的一个,实为综合技术能力较强的测试人员的明智选择!
如果进入了技术路线的高级域,可以细分成,分别是资深自动化测试工程师、资深白盒测试工程师、资深性能测试工程师、安全性测试工程师、标准化工程师,这些高级技术类人才完全与常规测试经理平齐,属于软件测试职业发展高级域。
既然测试行业发展前景如此广阔,必然有越来越多的人希望从事软件测试工作,进入测试领域的办法“一是参加培训,二是自学。软件测试需要学习的内容很多,例如 测试理论,操作系统,数据库,测试工具,网络等。还有很重要的是项目实践,软件测试是一个绝对依附于项目的职业,离开了项目,你学的东西都只是空中楼阁, 完成一个测试项目需要1个月到更长时间,需要参加培训者投入时间和精力,肯尼迪提供远程测试平台,可以让培训者充分的进行项目测试的实践。自学适用于有开发基础的人士。
现在很多软件测试从业人员里都是非计算机相关专业毕业,不懂软件开发,他们从从事常规测试入手,到自动化测试,一步步成为资深测试人员,从年薪4万到年薪8万,完成了在北美的职业晋升。因此,软件测试领域对于各类人士,都是一个不错的选择。
416-412-3088