软件测试工程师的前景如何?
前景分析: 软件测试人员的主要职责是对软件产品的整个开发过程进行监督和检验,使之能够达到满足客户的需求,因此对于企业来讲是十分重要的岗位。
在国外,一般软件测试人员与软件开发人员的岗位设置比例是1:1,像微软在开发windows2000时候使用的软件开发人员是1700名,而专业的测试工程师有3200名,测试开发人员比例高到1.7:1,由此可见软件测试岗位重要性的不一般。
软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
按其级别和职位的不同,分为三类。
按其级别和职位的不同,可分为三类: 高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估 ; 中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务; 初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。
软件项目开发是个分工明确的系统工程,不同的人员扮演了不同的角色,包括部门经理、产品经理、项目经理、系统分析师、程序员、测试工程师、质量保证人员等。
可见,软件测试工程师只是软件项目开发中的一个角色而已。
测试工程师承担的任务角色决定工作内容和承担的任务。
测试工程师的角色应该承担什么任务呢?这没有统一的答案。
因为,这与软件公司的规模,软件项目管理制度,公司领导和项目经理的管理风格,以及具体软件项目自身的特点有很大关系。
而且,测试工程师也有普通和高级之分。
笼统的答案列举如下: 设置软件测试环境,安装必要的软件工具。
运行软件,发现和报告软件缺陷或错误。
尤其需要快速定位软件中的严重的错误。
对软件整体质量提出评估 确认软件达到某种具体标准 以最低的成本,最短的时间,完成高质量的测试任务 ...... 在这其中,最重要的是要明确,程序员的责任和目标。
在执行任何具体测试任务前,都要在项目组内对于责任和目标达成共识,以免带来后续工作的相互推诿。
提高测试质量的要诀 另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。
对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会使您失望。
首先测试程序的核心功能,然后测试辅助功能。
首先测试功能,然后测试性能。
首先测试常见情况,然后测试异常情况。
首先测试经过变更的部分,然后测试没有变更的部分。
首先测试影响大的问题,然后测试影响小的问题。
首先测试必须测试的部分,然后测试可选或没有要求测试的部分。
服务员 需要强调的一点是,无论你是多么高级的测试工程师,都要明白无论测试需要的工具多么复杂,测试步骤多么冗长,测试工程师在软件项目开发中始终都是扮演服务员的角色,这是由测试工作的特点决定的。
任何服务都有被服务对象—客户,测试工程师的服务对象有哪些呢? 最重要的客户是软件的用户。
测试工程师需要站在客户的使用和需求角度测试软件,报告问题。
项目经理也是客户。
测试工程师需要报告测试工作进度和发现的问题,尤其是严重的问题。
程序员是最经常打交道的客户。
为了便于程序员重复报告的错误,尽量提供良好的软件问题报告,以便程序员可以更快的修复软件错误。
技术文档工程师、市场开发人员和技术支持工程师也都是测试工程师的服务对象。
避免错误 前文已经指出测试工程师应该明确角色,明确任务和责任。
知道哪些是自己分内的事,哪些是不属于自己的事。
一定要尽最大努力完成分内的事,不要做不属于自己的事情,以免弄巧成拙。
为了更好的扮演软件测试工程师的角色,尽量避免犯下面的错误: ⒈承诺完成测试的软件没有质量问题 软件测试只是保证质量的一种方法,软件测试工程师的工作不会直接提高软件质量,因为绝大多数软件错误都需要程序员修复。
软件测试只能证明软件存在错误,不能保证软件没有错误,不可能找出全部软件错误。
个人的能力和对质量的影响范围很小,软件质量的提高要靠软件项目团队全体成员的共同努力。
⒉承担软件的发布权利 不要因为软件中存在还没有修复的错误,而试图提出更改软件发布的计划。
也不要认为已经完成了测试计划,自己决定可以发布软件。
因为,改变软件发布计划可能要失去进入市场的良机和很多客户,对此造成的经济和公司市场的损失将不是测试工程师能够承担的。
另外,软件发布后,如果用户发现了新的软件错误,公司领导或项目经理可能将过错加在软件测试人员的头上,因为他们同意发布软件。
通常软件发布的权利由产品经理、项目经理、测试经理、市场经理共同集体讨论决定。
⒊扮演过程改进...
软件测试技术员和软件测试工程师有什么区别
测试工程师一般会分为以下几个等级:初级测试工程师、中级测试工程师和高级测试工程师。
不同级别的测试工程师薪资差异很大:高级测试工程师:高级测试工程师年薪约8-12万元左右。
他们不但需要掌握测试与开发技术,而且对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题能够进行分析和评估。
中级测试工程师:中级测试工程师的年薪约在5-8万元左右。
他们要能够编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。
能够在项目中合理利用测试工具来完成测试任务。
初级测试工程师:初级测试工程师的年薪约在3-5万元左右。
他们的工作通常是按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。
"软件测试工程师"是具体做什么工作呢?
软件测试工程师(Software Testing Engineer)的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。
软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。
那么软件测试工程师的工作内容有哪些呢?1、测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。
设计测试用例是保证测试质量的核心工作,很多测试技术都可以用来指导设计用例。
为了提高测试用例的设计效率,BTEST培训课程专门开设了高效设计测试用例一门课来讲授各种设计用例的技术与方法。
2、使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。
测试技术主要分为黑盒测试和白盒测试两大类。
其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等。
3、测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。
4、测试工作需要贯穿整个软件开发生命周期。
完整的软件测试工作包括单元测试、集成测试、确认测试和系统测试工作。
单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主要依据是详细测试。
集成测试的主要工作测试软件模块之间的接口是否正确实现,基本依据是软件体系结构设计。
确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。
5、为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自动化测试工具,编写测试脚本,进行性能测试等。
6、测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。
缺陷报告编写最主要的要求是保证缺陷的重现。
要求测试人员具有很好的文字表达能力和语言组织能力。
7、测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。
8、测试人员需要分析软件质量。
在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。
给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。
最后给出一个软件是否可以发布或提交用户使用的结论。
软件测试工作是对质量的把关,其中包含技术及管理等方面的工作,工作相对稳定,对年龄没有限制。
而且随着项目经验的不断增长和对行业背景的深入了解,会越有经验越吃香。
高级软件测试工程师和初级软件测试工程师有什么区别
初级测试工程师:刚入门的拥有计算机科学学位的个人或具有一些手工测试经验的个人。
开发测试脚本并开始熟悉测试生存周期和测试技术。
工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。
高级测试工程师/程序分析员:具有3-4年经验的测试工程师或程序员。
帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其它初级的测试工程师或程序员充当顾问。
继续拓展编程语言、操作系统、网络与数据库方面的技能。
熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估。
软件测试工程师(SoftwareTesting Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
按其级别和职位的不同,分为三类。
★高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估[1] ;★中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;★初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。
软件测试工程师 - 进阶之路以下软件测试职业发展的各个阶段,看看大家现在都到什么阶段了,为自己好好规划下自己的职业道路。
这是国外公司的职位分布,中国国内一些走在前列的公司,也差不多在国内可能晋升要快的多。
1、初级测试工程师刚入门的拥有计算机科学学位的个人或具有一些手工测试经验的个人。
开发测试脚本并开始熟悉测试生存周期和测试技术。
2、测试工程师/程序分析员 具有1-2年经验的测试工程师或程序员。
编写自动测试脚本程序并担任测试编程初期的领导工作。
进一步拓展编程语言、操作系统、网络与数据库方面的技能。
3、高级测试工程师/程序分析员 具有3-4年经验的测试工程师或程序员。
帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其它初级的测试工程师或程序员充当顾问。
继续拓展编程语言、操作系统、网络与数据库方面的技能。
4、测试组负责人具有4-6年经验的测试工程师或程序员。
负责管理1至3名测试工程师或程序员。
担负一些进度安排和工作规模/成本估算职责。
更集中于技能方面。
5、测试/编程负责人具有6-10年经验的测试工程师或程序员。
负责管理8至10名技术人员。
负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。
负责开发项目的技术方法。
为一些用户提供支持与演示。
开发一些特定领域的技术专长。
6、测试/质量保证/开发(项目)、经理 具有10多年的工作经验。
管理8名或更多的人员参加的1个或多个项目。
负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。
为一些用户提供交互和大量演示。
负责项目成本、进度安排、计划和人员分工。
7、计划经理具有15年以上开发与支持(测试/质量保证)活动方面的经验。
管理从事若干项目的人员以及整个开发生存周期。
负责把握项目方向与盈亏责任。
8 、测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。
软件测试工程师薪酬水平是多少?
软件测试人才“薪情”看好 在谈及测试人员的薪酬待遇时,企业方介绍:“目前大多数公司给软件测试人员提供了双轨制的培训和广阔的发展平台。
薪金方面也比较丰厚,具有一定经验的测试人员的薪水在5千到8千不等”。
前程无忧2006年的薪酬报告显示,软件测试工程师在IT行业中越来越受到重视,其薪资也节节高升。
初级软件测试工程师的起薪从2000至5000元/月不等,若有三年工作经验的话,薪资在8000元/月左右,具体视不同地域、不同性质企业、测试工程师的不同能力而定。
以3.5年左右从业经验的软件测试工程师各地薪资情况来看:北京地区该职位的平均年薪逾5.8万元,其中外商独资企业的年薪为全国之最,将近8.5万元,而其余各类型企业的年薪都在5万至6万元。
上海地区软件测试工程师的平均年薪为6.3万元,欧美独资和欧美合资企业的薪资不相上下,分别为7.9万和7.7万元。
以上种种迹象表明,软件测试工作已成为IT职场上炙手可热的新“黄金职业”。
来源:HR管理世界
所谓的测试员跟软件测试工程师是不是一回事?
首先 测试员和软件测试工程师有些公司是当成一个职位,有些不是,测试员可以做硬件测试,可以做软件测试等等各种测试,而软件测试工程师主要指软件测试职位,一般都是软件公司招的职位,而测试员可能电子厂也会给出这个职位。
如果你是想做软件测试的,简历上的期望职位要写软件测试工程师。
第二点关于证书,如果你精力足够,可以去考一个,有句话叫有总比没有的好,当然一般公司不会对软件测试相关证书做要求,主要可能关注的是你的项目经验,实习的啊 还是什么的,其次关注的就是文凭了,专科,本科还是硕士,相关测试证书只是锦上添花而已。
呵呵 希望我说的这些对你有帮助。
软件测试工程师有等级资格证吗?
开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,用我们的话来说很吃香。
现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大 测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。
经过这几年的发展,国内IT公司的测试水平有了很大的提高,但是与此同时,很多测试工程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位,不知道下一步如何发展;或者每天机械地从事着功能测试工作。
根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质: 计算机专业技能 计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。
尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。
计算机专业技能主要包含三个方面: 测试专业技能 现在软件测试已经成为一个很有潜力的专业。
要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。
因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。
测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能 “测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。
实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。
最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。
因此,测试人员要想得到较好的职业发展,必须能够编写程序。
只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。
因此测试人员要具备一定的算法设计能力。
依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
网络、操作系统、数据库、中间件等知识: 与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。
由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。
例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。
而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。
因此不但要掌握基本的安装、配置,还要掌握SQL。
测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识 软件测试工程师-IT就业新亮点, 根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。
目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。
根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。
随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。
从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。
而软件测试工程师就是其中之一。
据了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。
他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件...
华为软件测试工程师待遇
不同级别的测试工程师薪资差异很大:高级测试工程师:高级测试工程师年薪约8-12万元左右。
他们不但需要掌握测试与开发技术,而且对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题能够进行分析和评估。
中级测试工程师:中级测试工程师的年薪约在5-8万元左右。
他们要能够编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。
能够在项目中合理利用测试工具来完成测试任务。
初级测试工程师:初级测试工程师的年薪约在3-5万元左右。
他们的工作通常是按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。
中高级软件测试工程师需要考什么?
中高级软件测试工程师需要考的内容 考试内容: 一、软件测试的基本概念 1.软件质量的概念。
2.软件测试的目标和原则。
3.软件测试的心理学。
4.软件测试的经济学。
5.软件质量保证。
二、软件测试的类型及其在软件开发过程中的地位 1.软件开发阶段。
2.规划阶段的测试。
3.设计阶段的测试。
4.编码阶段的测试。
5.验收和维护阶段的测试。
三、代码检查、走查与评审 1.桌面检查。
2.代码走查。
3.代码检查。
4.同行评审。
四、覆盖率(白盒)测试 1.覆盖率测试。
2.逻辑结构的覆盖率测试。
3.路径覆盖率测试。
4.数据流测试。
5.程序变异测试。
6.基于覆盖的测试用例选择。
五、功能(黑盒)测试 1.边界值测试。
2.等价类测试。
3.基于因果图的测试。
4.基于决策表的测试。
5.基于状态图的测试。
6.基于场景的测试。
7.比较测试。
六、单元测试和集成测试 1.单元测试的目标和模型。
2.单元测试策略。
3.单元测试分析。
4.单元测试的测试用例设计原则。
5.集成测试基本概念。
6.集成测试策略。
7.集成测试分析。
8.集成测试用例设计原则。
七、系统测试 1.系统测试概念。
2.系统测试方法。
3.系统测试的实施。
八、软件性能测试和可靠性测试 1.软件性能的概念。
2.性能测试的执行。
3.软件可靠性的概念。
4.可靠性预计。
5.可靠性分析方法。
6.软件可靠性测试的执行。
九、面向对象软件的测试 1.面向对象软件测试的问题。
2.面向对象软件测试模型。
3.面向对象软件的测试策略。
4.面向对象软件的单元测试。
5.面向对象软件的集成测试。
6.面向对象软件的系统测试。
十、Web应用测试 1.应用服务器的分类和特征。
2.Web应用系统的特点。
3.Web应用系统的测试策略。
4.Web应用系统测试技术。
5.Web应用系统安全测试。
十一、其他测试 1.兼容性测试。
2.易用性测试。
3.GUI测试。
4.构件测试。
5.极限测试。
6.文档测试。
十二、软件测试过程和管理 1.软件测试过程概念。
2.测试组织管理。
3.测试计划的制定。
4.测试步骤的确定。
5.测试环境管理。
6.软件测试风险分析和成本管理。
7.测试文档管理。
8.测试的复用与维护。
十三、软件测试自动化 1.测试自动化的原理、方法。
2.测试用例自动生成。
3.测试执行自动化。
4.测试结果比较自动化。
5.测试工具的分类和选择。
6.测试工具的主流产品介绍。
十四、软件测试的标准和文档 1.软件测试的标准。
2.软件测试的文档。
十五、软件测试实践 1.软件测试过程管理。
(1)软件测试过程管理概念。
(2)测试的设计。
(3)测试的准备。
(4)测试的执行。
(5)软件问题报告和软件问题生命周期。
(6)测试的总结。
(7)QESuite软件测试过程管理平台。
2.白盒测试实践。
(1)被测程序说明。
(2)静态分析。
(3)被测程序的插装和动态测试。
(4)QESAT/C++白盒测试工具