软件测试工程师职业发展的各个阶段+软件测试人员的职业发展空间
A:软件测试工程师职业发展的各个阶段
初级测试工程师
刚入门的拥有计算机科学学位的个人或具有一些手工测试经验的个人。 开发测试脚本并开始熟悉测试生存周期和测试技术,通常需要接受系统的软件测试技术培训。
测试工程师/测试分析员
具有1-2年经验的测试工程师或程序员。 编写自动测试脚本程序并担任测试编程初期的领导工作。进一步拓展编程语言、操作系统、网络与数据库方面的技能。
高级测试工程师/测试分析师
具有3-4年经验的测试工程师或程序员。帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其它初级的测试工程师或程序员充当顾问。继续拓展编程语言、操作系统、网络与数据库方面的技能。
测试组负责人
具有4-6年经验的测试工程师或程序员。负责管理 1至 3名测试工程师或程序员,担负一些进度安排和工作规模/成本估算职责,更集中于技能方面。
测试/编程负责人
具有6-10年经验的测试工程师或程序员。负责管理8至 10名技术人员,负责进度安排、
工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,为一些用
户提供支持与演示,开发一些特定领域的技术专长。
测试/质量保证/开发(项目)、经理
具有10多年的工作经验。 管理 8名或更多的人员参加的1个或多个项目, 负责这一领域 (测试/质量保证/开发)内的整个开发生存周期业务,为一些用户提供交互和大量演示,负责项目成本、进度安排、计划和人员分工。
计划经理
具有15年以上开发与支持(测试/质量保证)活动方面的经验。管理从事若干项目的人员以及整个开发生存周期,负责把握项目方向与盈亏责任。
B.软件测试人员的职业发展空间
结合国内外软件测试行业现状,划分为三个方向,分别是自动化测试工程师、白盒测试
工程师、性能测试工程师。
自动化测试工程师,为其定义在功能测试范畴,指通常所说的依靠自动化测试工具进行
软件黑盒测试的工程师。年轻的刚入行者,对测试工具充满了无限的兴趣,他们喜欢那种编
写脚本、调试成功后的快感,喜欢看到自定义的日志里记录了本来手工测试烦琐的无聊透顶
的工作而采用自动化方式实现如此清晰丰富的内容后的兴奋!从大环境讲,自动化测试是软
件测试执行阶段的必然趋势, 社会对于软件测试的认可度以及对自动化测试人才的需求必
日益增加,从目前国内做自动化测试的从业者薪资情况看,也普遍高于常规测试工程师,最
浅显的道理是“自动化测试比手工测试有了技术含量,虽然自动化测试在整个行业的普及不
是一朝一夕,但是从个人角度讲,自动化测试可以作为个人的发展方向之一,因为如果你率
先掌握了这种技术,等到社会需要时,你已成为这个职位的成熟操作者。
白盒测试工程师,定位于在软件测试周期的单元测试阶段对软件进行的代码级测试的
人,包括代码走读、代码功能与逻辑测试、代码内存泄漏检查、代码运行效率检查、代码测
试覆盖率分析等。 如果说, 自动化测试只是依靠脚本语言完成测试脚本编写与调试的过程(因为自动化测试工程师的工作重点不在编写脚本) ,对于自动化测试工程师的技术要求要相对偏低的话,那么白盒测试工程师就要对大型程序开发语言的完全掌握,因此其技术要求相对偏高!而另一方面,白盒测试在目前国内软件行情下,一些公司根本不做,其成本高、代价大的特点决定了这个现状,而一些对软件质量要求非常高(如军事类、电信类、财务金融类等)的企业,也会调动开发工程师来实施此事。但是,还是那句话,测试行业在发展,测试人员能力在提升,软件的开发技术在复杂化,要对软件进行尽可能全面的测试,白盒测试不可忽视!当下专门高薪招聘白盒测试工程师的企业也比比皆是,从中我们可以感知,白盒测试工程师会是很多有开发背景、 意欲进入测试行业的良好突破口,白盒测试人员的需求也会逐渐增加。
性能测试工程师, 即在系统测试阶段、功能测试后对软件系统性能指标进行采集分析和运行效率检测的人。在一个尽量压缩的测试流程里,功能测试可以手工进行,白盒测试可以不做,但是性能测试必须要做,除非该软件是非网络类软件即单机版软件!软件测试,从宏观上可以划分为三个大方面:功能测试、性能测试、安全性测试,功能测试说明软件做对了,功能测试+性能测试说明软件做好了,三者结合起来说明软件做的非常好!而为了发现性能问题,要懂软件开发架构;为了定位性能问题,要懂操作系统、网络协议、应用服务器乃至数据库的原理与使用;为了最终解决性能问题,要根据定位的问题有针对性的对代码、操作系统、网络架构、服务器、数据库进行优化!当然性能测试是一个系统工程师,绝对不是一两个人的事情,对于常规性能测试工程师,具备定位性能问题的能力即可。