软件测试的行业介绍

1、软件测试到底是什么

简单的说软件测试是软件生产过程中的质量管理者,其不但要对软件产品最后的功能、性能负责,而且从软件的“需求分析”、 “结构设计”阶段以及文档规范等诸多方面就开始对软的质量加以保障, 使生产出来的软件的功能达到设计之初的要求, 让用户用上高质量的软件,可见软件测试工程师的重要性了,随着我国加入 WTO及国内软件企业的日益成熟和壮大,软件测试工程师在业界的地位已经变得越来越重要。

2、软件测试人才发展现状

目前国内软件产业规模越来越大,国内软件行业突破了传统的作坊式生产,从单打独斗的开发模式升级为工业化、流水线式的生产模式,导致专业的软件测试人才需求缺口巨大。据悉,中国IT人才缺口超过100万名,其中30万名以上为软件测试人才。作为工业化产品质量的“把门”者,软件测试工程师也就成为软件开发企业必不可少的技术人才。据悉,目前国内软件测试和开发人员比例大约在1:4—1:5,而国外测试和开发人员比例为1:1,可见,国内软件测试人才需求和职业发展潜力巨大。据分析,中国软件测试职业具有以下特征:

1.就业竞争小,工作起点高

信息产业部门发布的报告显示,我国目前软件测试人才的缺口在30万以上,在未来的十年中这一数字还将持续增大,因此从事测试职业所面临的竞争压力将远小于其他职业。而目前单独设立软件测试部门,对测试工程师有强烈需求的企业多是较大规模的软件企业,就业平台是比较高的

2.薪资待遇好,职业寿命长

为了吸引更多的人才,企业纷纷采取高薪策略,刚入行的软件测试人员,起步月薪就在6000—8000元左右,远高于同龄人的薪资水平,工作2-3年后的薪资更是翻番。质量是产品的灵魂,作为软件质量的把关者,软件测试工程师在企业中的地位也越来越重要,其工作相对更加稳定,而且随着项目经验的不断增长,对不同行业背景了解的不断深入,软件测试工程师的水平将会越来越高,越“老”越吃香。

3.无性别歧视

如果把软件开发领域比作男子单打,那么软件测试领域就是混合双打。由于工作的特殊,软件测试人员往往更偏好认真、耐心、细致、敏感、等个性元素,而这在一定程度上与女性的个性气质相吻合。据了解,目前很多IT企业中软件测试人员的比例更趋向平衡,甚至出现女性员工成主流的情况。
另外,软件测试有一个非常显著的特点:软件测试工程师并不要求原来是学习软件开发的。这个,是由软件测试工作本身的性质特点决定的:软件测试,要求测试工程师不能仅仅从软件开发的角度去看问题,而是要从客户的角度去看问题。

3、软件测试行业的发展

第一阶段:早期时代(60 年代中期之前)程序设计阶段,程序规模小,编写者和使用
者为同一个人(同组人) ,软件程序的成功与否主要取决于程序设计的当事人。此时软件测试还处于萌芽状态。
第二阶段:软件程序系统阶段,60 年代中期到 70年代中期。出现了软件作坊,产生了
软件危机。美国预计在2005年基本结束该阶段。我国才正处于该阶段的发展阶段(具有非常
大的潜力)。 在此阶段软件测试脱颖而出,成为一种必然,软件测试方法的出现,在某种程
度上缓解了“软件危机”。
第三阶段:软件工程阶段,70 年代中后期。软件的发展过程系统化、工程化,软件的
复用将使软件走上工业化(美国已经在 1995 年走上了工业化的道路)。 软件测试已经蓬勃发展,成为软件复用的保证基础。已经成为软件公司里的中流砥柱的环节。
从软件测试行业的发展来看,它的重要性已不言而语。我们再来看看专家学者对软件测
试的看法。

  • “很多人都认为微软是一家软件开发公司,而事实上,我们是一家软件测试公司。在最后产品要发布的时候,此产品的所有相关部门都必须签字,而测试人员则具有绝对的否决权。”
    ——微软公司总裁 比尔.盖茨

  • “在很多大型的软件开发项目中,软件测试甚至会占据整个项目周期一半上的时间。从投入的资金和人力物力来看,测试,在使产品稳定和修改花去的时间可能占 到整个项目时长的 80%。”
    ——前微软亚洲研究院博士、软件测试专家陈宏刚

  • “以美国的软件开发和生产的平均资金投入为例,通常是:'需求分析’和’规划确定’各占3%,'设计’占5%,'编程’占7%,'测试’占15%,'投入和维护’占67%,测试在软件开发中的地位,由此可见一斑.”
    ——美国著名软件质量分析师 贺越

4、软件测试工程师职业发展的各个阶段

初级测试工程师:

刚入门的拥有计算机科学学位的个人或具有一些手工测试经验的个人。 开发测试脚本并开始熟悉测试生存周期和测试技术,通常需要接受系统的软件测试技术培训。

测试工程师/测试分析员:

具有1-2年经验的测试工程师或程序员。 编写自动测试脚本程序并担任测试编程初期的领导工作。进一步拓展编程语言、操作系统、网络与数据库方面的技能。

高级测试工程师/测试分析师:

具有3-4年经验的测试工程师或程序员。帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其它初级的测试工程师或程序员充当顾问。继续拓展编程语言、操作系统、网络与数据库方面的技能。

测试组负责人:

具有4-6年经验的测试工程师或程序员。负责管理 1至 3名测试工程师或程序员,担负一些进度安排和工作规模/成本估算职责,更集中于技能方面。

测试/编程负责人:

具有6-10年经验的测试工程师或程序员。负责管理8至 10名技术人员,负责进度安排、
工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,为一些用
户提供支持与演示,开发一些特定领域的技术专长。

测试/质量保证/开发(项目)、经理:

具有10多年的工作经验。 管理 8名或更多的人员参加的1个或多个项目, 负责这一领域 (测试/质量保证/开发)内的整个开发生存周期业务,为一些用户提供交互和大量演示,负责项目成本、进度安排、计划和人员分工。

计划经理:

具有15年以上开发与支持(测试/质量保证)活动方面的经验。管理从事若干项目的人员以及整个开发生存周期,负责把握项目方向与盈亏责任。

5、软件测试人员的职业发展空间

结合国内外软件测试行业现状,划分为三个方向,分别是自动化测试工程师、白盒测试
工程师、性能测试工程师

自动化测试工程师,为其定义在功能测试范畴,指通常所说的依靠自动化测试工具进行
软件黑盒测试的工程师。年轻的刚入行者,对测试工具充满了无限的兴趣,他们喜欢那种编
写脚本、调试成功后的快感,喜欢看到自定义的日志里记录了本来手工测试烦琐的无聊透顶
的工作而采用自动化方式实现如此清晰丰富的内容后的兴奋!从大环境讲,自动化测试是软
件测试执行阶段的必然趋势, 社会对于软件测试的认可度以及对自动化测试人才的需求必
日益增加,从目前国内做自动化测试的从业者薪资情况看,也普遍高于常规测试工程师,最
浅显的道理是“自动化测试比手工测试有了技术含量,虽然自动化测试在整个行业的普及不
是一朝一夕,但是从个人角度讲,自动化测试可以作为个人的发展方向之一,因为如果你率
先掌握了这种技术,等到社会需要时,你已成为这个职位的成熟操作者。

白盒测试工程师,定位于在软件测试周期的单元测试阶段对软件进行的代码级测试的
人,包括代码走读、代码功能与逻辑测试、代码内存泄漏检查、代码运行效率检查、代码测
试覆盖率分析等。 如果说, 自动化测试只是依靠脚本语言完成测试脚本编写与调试的过程(因为自动化测试工程师的工作重点不在编写脚本) ,对于自动化测试工程师的技术要求要相对偏低的话,那么白盒测试工程师就要对大型程序开发语言的完全掌握,因此其技术要求相对偏高!而另一方面,白盒测试在目前国内软件行情下,一些公司根本不做,其成本高、代价大的特点决定了这个现状,而一些对软件质量要求非常高(如军事类、电信类、财务金融类等)的企业,也会调动开发工程师来实施此事。但是,还是那句话,测试行业在发展,测试人员能力在提升,软件的开发技术在复杂化,要对软件进行尽可能全面的测试,白盒测试不可忽视!当下专门高薪招聘白盒测试工程师的企业也比比皆是,从中我们可以感知,白盒测试工程师会是很多有开发背景、 意欲进入测试行业的良好突破口,白盒测试人员的需求也会逐渐增加。

性能测试工程师, 即在系统测试阶段、功能测试后对软件系统性能指标进行采集分析和
运行效率检测的人。在一个尽量压缩的测试流程里,功能测试可以手工进行,白盒测试可以
不做,但是性能测试必须要做,除非该软件是非网络类软件即单机版软件!软件测试,从宏
观上可以划分为三个大方面:功能测试、性能测试、安全性测试,功能测试说明软件做对了,
功能测试+性能测试说明软件做好了,三者结合起来说明软件做的非常好!而为了发现性能
问题,要懂软件开发架构;为了定位性能问题,要懂操作系统、网络协议、应用服务器乃至
数据库的原理与使用;为了最终解决性能问题,要根据定位的问题有针对性的对代码、操作
系统、网络架构、服务器、数据库进行优化!当然性能测试是一个系统工程师,绝对不是一
两个人的事情,对于常规性能测试工程师,具备定位性能问题的能力即可。

软件测试的行业介绍

6、软件测试工程师薪资调查

作为软件质量控制中的重要一环,在大型的软件开发企业中,软件测试工程师基本处于
"双高"地位,即地位高、待遇高。同时,软件测试的人才需求缺口超过30万人。可以说他
们的职业前景非常广阔,而人才的紧缺也促使软件测试工程师的薪资逐渐走高,在所有软件测试专业毕业的同学中经过智联招聘的数据分析得知,其月平均工资约5246元,最低工资约2784元,最高工资为34000元以上,高级测试工程师年薪可高达15万元,其中21.1%的同学选择在北京发展,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资还有逐年上升的明显趋势。

测试工程师一般会分为以下几个等级:初级测试工程师、中级测试工程师和高级测试工
程师。不同的级别的测试工程师薪资差异很大。
初级测试工程师: 年薪约在8—10万元左右。他们的工作通常是按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。
中级测试工程师: 年薪约在10—15万元左右。他们要能够编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。能够在项目中合理利用测试工具来完成测试任务。
高级测试工程师: 年薪约15—20万元左右。他们不但需要掌握测试与开发技术,而且对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题能够进行分析和评估。

软件测试的行业介绍