当前位置:文档之家› 软件测试的起源与发展

软件测试的起源与发展

软件测试的起源与发展
软件测试的起源与发展

软件测试的起源与发展软件测试的概念与定义

软件测试是伴随着软件的产生而产生的。早期的软件开发过程中,那时软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。

直到1957年,软件测试才开始与调试区别开来,作为一种发现软件缺陷的活动。由于一直存在着“为了让我们看到产品在工作,就得将测试工作往后推一点”的思想,潜意识里对测试的目的就理解为“使自己确信产品能工作”。测试活动始终后于开发的活动,测试通常被做为软件生命周期中最后一项活动而进行。当时也缺乏有效的测试方法,主要依靠“错误推测Error Guessing”来寻找软件中的缺陷。因此,大量软件交付后,仍存在很多问题,软件产品的质量无法保证。

到了20世纪70年代,这个阶段开发的软件仍然不复杂,但人们已开始思考软件开发流程的问题,尽管对“软件测试”的真正含义还缺乏共识,但这一词条已经频繁出现,一些软件测试的探索者们建议在软件生命周期的开始阶段就根据需求制订测试计划,这时也涌现出一批软件测试的宗师,Bill Hetzel 博士就是其中的领导者。1972年,软件测试领域的先驱Bill Hetzel博士(代表论着《The Complete Guide to Software Testing》),在美国的北卡罗来纳大学组织了历史上第一次正式的关于软件测试的会议。在1973年,他首先给软件测试一个这样的定义:“就是建立一种信心,认为程序能够按预期的设想运行。Establish confidence that a program does what it is supposed to do. ”后来在1983

年他又将定义修订为:“评价一个程序和系统的特性或能力,并确定它是否达到预期的结果。软件测试就是以此为目的的任何行为。Any activities aimed at evaluating an attribute or capability of a program or system. ”在他的定义中的“设想”和“预期的结果”其实就是我们现在所说的用户需求或功能设计。他还把软件的质量定义为“符合要求”。他的思想的核心观点是:测试方法是试图验证软件是“工作的”,所谓“工作的”就是指软件的功能是按照预先的设计执行的,以正向思维,针对软件系统的所有功能点,逐个验证其正确性。软件测试业界把这种方法看作是的软件测试的第一类方法。

尽管如此,这一方法还是受到很多业界权威的质疑和挑战。代表人物是Glenford J. Myers(代表论着《The Art of Software Testing》)。他认为测试不应该着眼于验证软件是工作的,相反应该首先认定软件是有错误的,然后用逆向思维去发现尽可能多的错误。他还从人的心理学的角度论证,如果将“验证软件是工作的”作为测试的目的,非常不利于测试人员发现软件的错误。于是他于1979年提出了他对软件测试的定义:“测试是为发现错误而执行的一个程序或者系统的过程。The process of executing a program or system with the intent of finding errors.”这个定义,也被业界所认可,经常被引用。除此之外, Myers 还给出了与测试相关的三个重要观点,那就是:

1、测试是为了证明程序有错,而不是证明程序无错误;

2、一个好的测试用例是在于它能发现至今未发现的错误;

3、一个成功的测试是发现了至今未发现的错误的测试;

这就是软件测试的第二类方法,简单地说就是验证软件是“不工作的”,或者说是有错误的。Myers认为,一个成功的测试必须是发现Bug的测试,不然就没有价

值。这就如同一个病人(假定此人确有病),到医院做一项医疗检查,结果各项指标都正常,那说明该项医疗检查对于诊断该病人的病情是没有价值的,是失败的。Myers提出的“测试的目的是证伪”这一概念,推翻了过去“为表明软件正确而进行测试”的错误认识,为软件测试的发展指出了方向,软件测试的理论、方法在之后得到了长足的发展。第二类软件测试方法在业界也很流行,受到很多学术界专家的支持。

然而,对Glenford Myers先生“测试的目的是证伪”这一概念的理解也不能太过于片面。在很多软件工程学、软件测试方面的书籍中都提到一个概念:“测试的目的是寻找错误,并且是尽最大可能找出最多的错误”。这很容易让人们认为测试人员就是“挑毛病”的,而由此带来诸多问题。大家熟悉的Ron Patton在《软件测试》(中文版由机械工业出版社出版,此书是目前国内测试新手入门的经典教材)一书的第10页,有一个明确而简洁的定义:“软件测试人员的目标是找到软件缺陷,尽可能早一些,并确保其得以修复。”这样的定义具有一定的片面性,带来的结果是:

1、若测试人员以发现缺陷为唯一目标,而很少去关注系统对需求的实现,测试活动

往往会存在一定的随意性和盲目性;

2、若有些软件企业接受了这样的方法,以Bug数量来做为考核测试人员业绩的唯一

指标,也不太科学。

总的来说,第一类测试可以简单抽象地描述为这样的过程:在设计规定的环境下运行软件的功能,将其结果与用户需求或设计结果相比较,如果相符则测试通过,如果不相符则视为Bug。这一过程的终极目标是将软件的所有功能在所有设计规定的环境全部运行,并通过。在软件行业中一般把第一类方法奉为主流和行业

标准。第一类测试方法以需求和设计为本,因此有利于界定测试工作的范畴,更便于部署测试的侧重点,加强针对性。这一点对于大型软件的测试,尤其是在有限的时间和人力资源情况下显得格外重要。

而第二类测试方法与需求和设计没有必然的关联,更强调测试人员发挥主观能动性,用逆向思维方式,不断思考开发人员理解的误区、不良的习惯、程序代码的边界、无效数据的输入以及系统各种的弱点,试图破坏系统、摧毁系统,目标就是发现系统中各种各样的问题。这种方法往往能够发现系统中存在的更多缺陷。

到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今仍被引用。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。软件测试已有了行业标准(IEEE/ANSI),1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后

期的活动,而是与整个开发流程融合成一体。软件测试已成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。

软件测试成熟度

随着软件产业界对软件过程的不断研究,美国工业界和政府部门开始认识到,软件过程能力的不断改进才是增进软件开发组织的开发能力和提高软件质量的第一要素。在这种背景下,由美国卡内基-梅隆大学软件工程研究所(SEI)研制并推出了软件能力成熟度模型SW-CMM,CMM逐渐成为了评估软件开发过程的管理以及工程能力的标准。从80年代中期开始,软件生产开始进入以个体软件过程

PSP(Personal Software Process)、过程成熟度模型CMM和群组软件过程TSP(Team Software Process)为标志的、以过程为中心的第二阶段。

但是令人遗憾的是,CMM没有充分的定义软件测试,没有提及测试成熟度的概念,没有对测试过程改进进行充分说明,在KPA中没有定义测试问题,与质量相关的测试问题如可测性,充分测试标准,测试计划等方面也没有满意的阐述。。Burnstein博士提出了,依据CMM的框架提出测试的5个不同级别,关注于测试的成熟度模型。它描述了测试过程,是项目测试部分得到良好计划和控制的基础。TMM测试成熟度分解为5级别,关注于5个成熟度级别递增:

Phase0:测试和调试没有区别,初了支持调试外,测试没有其他目的

Phase1:测试的目的是为了表明软件能够工作?

Phase2:测试的目的是为了表明软件不能够能够正常工作?

Phase3:测试的目的不是要证明什么,而是为了把软件不能正常工作的预知风险降低到能够接受的程度?

Phase4:测试不是行为,而是一种自觉的约束(mentaldiscipline),不用太多的测试投入产生低风险的软件上的。

软件测试模型的演变

软件测试模型与软件测试标准的研究也随着软件工程的发展而越来越深入,在20世纪80年代后期Paul Rook提出了着名的软件测试的V模型,旨在改进软件开发的效率和效果。V模型反映出了测试活动与分析设计活动的关系。在图1-1中,从左到右描述了基本的开发过程和测试行为,非常明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系。

图 1-1

V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。但V模型存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。

Evolutif公司针对V模型的缺陷,相对于V模型,提出了W模型的概念,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。如图1-2所示,W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。

W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早

地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显着减少总体测试时间,加快项目进度。

但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。

软件测试工具的发展

进入上世纪90年代,软件行业开始迅猛发展,软件的规模变的非常大,在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,而当时测试的手段几乎完全都是手工测试,测试的效率非常低;并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,尽管在一些大型软件的开发过程中,人们尝试编写了一些小程序来辅助测试,但是这还是不能满足大多数软件项目的统一需要。于是,很多测试实践者开始尝试开发商业的测试工具来支持测试,辅助测试人员完成某一类型或某一领域内的测试工作,而测试工具逐渐盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。测试工具可以进行部分的测试设计、实现、执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。测试工具的发展,大大提高了软件测试的自动化程度,让测试人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的测试设计等活动。采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。设计良好的自动

化测试,在某些情况下可以实现“夜间测试”和“无人测试”。在大多数情况下,软件测试自动化可以减少开支,增加有限时间内可执行的测试,在执行相同数量测试时节约测试时间。而测试工具的选择和推广也越来越受到重视。

在软件测试工具平台方面,商业化的软件测试工具已经很多,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等等,这些都有严格的版权限制且价格较为昂贵,但由于价格和版权的限制无法自由使用,当然,一些软件测试工具开发商对于某些测试工具提供了Beta测试版本以供用户有限次数使用。幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。

软件测试的起源与发展

软件测试的起源与发展 软件测试的概念与定义 软件测试是伴随着软件的产生而产生的。早期的软件开发过程中,那时软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。 直到1957年,软件测试才开始与调试区别开来,作为一种发现软件缺陷的活动。由于一直存在着“为了让我们看到产品在工作,就得将测试工作往后推一点”的思想,潜意识里对测试的目的就理解为“使自己确信产品能工作”。测试活动始终后于开发的活动,测试通常被做为软件生命周期中最后一项活动而进行。当时也缺乏有效的测试方法,主要依靠“错误推测ErrorGuessing”来寻找软件中的缺陷。因此,大量软件交付后,仍存在很多问题,软件产品的质量无法保证。 到了20世纪70年代,这个阶段开发的软件仍然不复杂,但人们已开始思考软件开发流程的问题,尽管对“软件测试”的真正含义还缺乏共识,但这一词条已经频繁出现,一些软件测试的探索者们建议在软件生命周期的开始阶段就根据需求制订测试计划,这时也涌现出一批软件测试的宗师,BillHetzel博士就是其中的领导者。1972年,软件测试领域的先驱BillHetzel博士(代表论著《TheCompleteGuidetoSoftwareTesting》),在美国的北卡罗来纳大学组织了历史上第一次正式的关于软件测试的会议。在1973年,他首先给软件测试一个这样的定义:“就是建立一种信心,认为程序能够按预期的设想运行。Establishconfidencethataprogramdoeswhatitissupposedtodo.”后来在1983年他又将定义修订为:“评价一个程序和系统的特性或能力,并确定它是否达到预期的结果。软件测试就是以此为目的的任何行为。Anyactivitiesaimedatevaluatinganattributeorcapabilityofaprogramorsystem.”在他的定义中的“设想”和“预期的结果”其实就是我们现在所说的用户需求或功能设计。他还把软件的

软件测试现状与前景

一.软件测试背景 1.软件测试的基本情况 据国家权威部门统计,中国软件人才缺口超过100万人,其中很大一部分为软件测试人才,缺口达到30-40万。但由于软件测试的重要性是近两年才被充分认识到的,高校教育和企业培养都还没有跟上,致使软件测试需求严重供不应求。 软件测试的需求为什么像雨后春笋一样?这种现象是符合我国软件产业发展的。在我国,软件产业的兴起和发展也就是这短短十几年。在前面的兴起和发展壮大阶段,一般的软件公司都是重开发轻测试,甚至存在把测试工作都放在用户那里去做的错误思想;追求眼前功能的实现,开发软件追求“短”、“平”、“快”。不太考虑性能和功能的优化。软件产业发展到今天,如果还是用以前的思路、办法(公司里绝大部分、甚至全部都是开发人员在做产品,只要能做出来可以用就行),企业的产品肯定没有竞争力,从而导致这样的软件企业生存极其困难。正是因为这个原因,软件测试以往一直被中小IT企业所忽视,只有一些知名企业才有专门的软件测试人员。现在,更多的国内企业认识到测试的重要性,但是由于国内测试人才的储备相对较少,并且建立软件测试部门需要很大成本,所以软件测试外包是国内软件企业的最佳选择。 2.软件测试的重要性 项目软件编制质量的高低关键取决于软件测试工作的严密。软件测试工作不但保证了软件质量,而且降低了日后维护成本,也提高了企业信誉和实力。软件测试主要是根据项目制定测试计划,确定测试用例和测试方法,记录测试数据,分析测试结果,完成测试报告,以便软件开发人员进一步调试。 二.软件测试行业现状 我国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的。由于起步较晚,与国际先进水平相比差距较大。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也越来越被软件企业所重视,软件测试正在逐步成为一个新兴的产业。从目前来看,可主要从四个方面来分析我国测试行业的现状。 1.软件测试重要性和规范性不断提高 国家各部委、各行业正在通过测试来规范软件行业的健康发展,通过测试把不符合行业标准的软件挡在门外,对行业信息化的健康发展起到了很好的促进作用。在信息产业部关于计算机系统集成资质以及信息系统工程监理资质的认证中,软件测试能力已经被定为评价公司技术能力的一项重要指标。2001年信息产业部发布的部长5号令,实行了软件产品登记制度,规定凡是在我国境内销售

软件测试规划心得

工作三五年遇到事业上的瓶颈了? 对软件测试这样一个新兴行业,在以前是算在软件开发一类的,现在大多公司都会独立出测试部门了,也就有了专职软件测试人员。职业规划一个很重要的点还要看社会环境,在中国大陆做软件开发的都是被认为吃青春饭,很多企业的职位也或多或少都如此设定,大多技术牛人最后都走向项目管理,虽然也许他不喜欢也不擅长,但为了未来为了薪水待遇很多时侯是必然之路。我们到底该如何规划自己的职业生涯呢? [软件测试质量保证]书上看来,也算世界通用的: 1~2年,测试技能:熟悉整个测试过程及产品业务领域,学习和掌握自动化工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;掌握编程语言、操作系统、网络与数据库方面的技能。 3~4年,测试过程:深入了解测试过程,掌握测试过程设计及改进,参与软件工作产品的同行评审;进一步了解产品业务领域,改进测试自动化编程技术;能指导初级测试工程师;加强编程语言、操作系统、网络与数据库方面的技能。 4~5年,测试组织工作:管理1~3名测试工程师,担任任务估算、管理及进度控制;进一步培养在软件项目管理及支持工具方面的技能。 5~6年,技术管理:管理4~8名测试工程师,提高任务估算、管理及进度控制能力,完成测试规划并制定测试计划;研究测试的技术手段,保持使用项目管理及支持工具的技能;用大量时间为其他测试工程师提供技术及过程方面的指导;开始与客户打交道并做演示推

介。 6~12年,测试管理:管理8名以上测试工程师,负责一个或多个项目的测试工作;与客户打交道并做演示推介;保持使用项目管理及支持工具的技能。 这个不适应于国内,也许适合老美他们。不过我们可以从中了解软件测试人员需要具备哪些能力。国内最重要的是第一步你入了哪一行业,业务是什么?软件测试也如此,web测试?手机测试?手工还是自动?… 废话一堆之后来摸索软件测试,主要还是寻找自己的未来道路,但要记住的是好职业不是规划出来的,顾问们都是参谋者,总结者也仅是经验,自己的人生规划是自己的选择和实践的过程,需要适时代、市场变化而变化的。 可以分步做 Step1:分析自己的优劣势,包括自己的专业技能以及语言能力,业务能力,管理能力。Step2:发掘自己的兴趣,喜欢和人打交道还是喜欢和机器打交道,这只是个偏向问题,人的沟通表达能力是最起码的。 Step3:分析市场需求,看看市场上需要什么样的人才以及未来需要什么人才。 Step4:结合自己的优劣势给自己定位,设定目标,大公司还是小公司,国企还是外企.... Step5:为自己的目标努力,记住最重要是坚持!

软件测试人才发展现状

软件测试人才发展展望 软件测试属新兴职业,但目前国内软件产业规模越来越大,国内软件行业突破了传统的作坊式生产,从单打独斗的开发模式升级为工业化、流水线式的生产模式,导致专业的软件测试人才需求缺口巨大。据悉,中国IT人才缺口超过100万名,其中30万名以上为软件测试人才。作为工业化产品质量的“把门”者,软件测试工程师也就成为软件开发企业必不可少的技术人才。据悉,目前国内软件测试和开发人员比例大约在1:4—1:5,而国外测试和开发人员比例为1:1,可见,国内软件测试人才需求和职业发展潜力巨大。据分析,中国软件测试职业具有以下特征: 就业竞争小。据前程无忧数据显示,目前国内120万软件从业人员中,真正能担当软件测试职位的不超过5万人,人才缺口达到20万并有逐年扩大的趋势。人才的极度匮乏令许多IT企业不得不延缓甚至停止项目,为企业发展带来消极影响,但对人才就业却有积极意义。人才供不应求让软件测试人员的就业竞争压力明显小于同类其它职业,有利于从业者的身心健康。另外,由于软件测试在我国起步较晚,独立设置测试部门、对测试人员有强烈需求的多为独具慧眼的大中型IT企业。软件测试人才不需要在小企业积累经验就能获得知名企业的入门通行证,工作起点高于同类其它职业。 高薪没商量。为了吸引更多的人才,企业纷纷采取高薪策略,刚入行的软件测试人员,起步月薪就在3000-6000元左右,远高于同龄人1000-2000元的薪资水平,工作2-3年后的薪资更是翻番。 多元化发展。与其他IT职位相比,软件测试人员最大的优势就是发展方向的多元化。由于工作的特殊性,测试人员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后的等领域都要涉及。在这过程中,测试人员不仅提升了专业的软件测试技能,还能接触到各行各业,项目管理、沟通协调、市场需求分析等能力都能得到很好的锻炼,从而为自己的多元化发展奠定了基础。经过软件测试岗位洗礼的人才往往是行业中的多面手,比其它IT人才具有更强的可塑性,在技术、管理、市场甚至其它非IT领域都能得到良好的发展。 无性别歧视。如果把软件开发领域比作男子单打,那么软件测试领域就是混合双打。由于工作的特殊,软件测试人员往往更偏好认真、耐心、细致、敏感、等个性元素,而这在一定程度上与女性的个性气质相吻合。据了解,目前很多IT企业中软件测试人员的比例更趋向平衡,甚至出现女性员工成主流的情况。 测试职业的这些特征吸引了很多软件人才的注目,山东省软件评测中心根据多年人才培养的经验,展望2011年,软件测试人才将呈现以下发展趋势: 1、中高级软件测试人才需求量进一步加大

软件测试发展方向学习资料

软件测试职业发展方向 最近准备研究一下软件测试职业的发展方向,一是增长自己的知识,二是为自己的职业规划做个参考,在网上找到一篇很好的东东,将它整理了一下,放上来吧,以备以后查看。 软件测试职业发展方向,大体上可以分为管理路线、技术路线、管理+技术路线。 测试初级阶段: 测试工程师,属于软件测试职业生涯的初级域,其适用范围是入行软件测试3年内的常规测试从业者,其主要工作内容是按照测试主管(即直接上司)分配的任务计划,编写测试用例、执行测试用例、提交软件缺陷,包括提交阶段性测试报告、参与阶段性评审等。 管理+技术路线: 首先是常规路线,这条发展路线要求管理与技术并重,因为软件测试的行业特点决定了这个因素:测试工程师向上晋升到测试主管、测试经理、测试总监,直至咨询域的更高方向! 测试主管是企业项目级主管,对于中小型软件公司也可以是企业级主管,属于中级发展域,适用范围是2到5年职业经验的测试从业者。其工作内容是根据项目经理或测试经理的计划安排,调配测试工程师执行模块级或项目级测试工作,并控制与监督软件缺陷的追踪,保证每个测试环节与阶段的顺利进行。严格来说,这个级别更多属于测试的设计者,因为企业的测试流程搭建是由更高级别的测试经理或相关管理者来做的,测试主管负责该流程的具体实施;而更多的工作,是思考如何对软件进行更加深入、全面的测试。测试主管比较有创造性的工作内容就是测试设计,而恰恰很多公司忽略了或没有精力来执行此工作内容!应该说,在一个企业里做了3年左右测试工作的人员,很容易晋升到该职位,而之所以晋升,是与个人测试技术的过硬、测试方法的丰富,加上对测试流程的监控力与执行力的职业素质息息相关! 测试经理是更高级别的测试管理者,属于高级测试方向域。对于大中型软件公司,该职位尤为重要,并且对其职业要求也比较高,一般适合4到8年的测试从业者,在管理与技术能力双双比较成熟的情况下,可以结合具体环境晋升到该级别。测试经理负责企业级或大型项目级总体测试工作的策划与实施。测试经理除了需要统筹整个企业级或项目级测试流程外,还要对于不同软件架构、不同开发技术下的测试方法进行研究与探索,为企业的测试团队成员提供指导与解决思路,同时还要合理调配不同专项测试的人力资源(如业务测试工程师、自动化测试工程师、白盒测试工程师、性能测试工程师),对软件进行全面的测试;另外,一些企业里,测试经理还需要与客户交流与沟通,负责部分的销售性或技术支持性工作。

软件测试工程师的职业生涯规划

问题描述:目前,不少测试工程师职业发展方向很迷茫。软件测试工程师的职业发展路线是什么?是走技术路线、还是管理路线、或者其他?若您选择其中一条路线,您是如何来储备自己的能力,如何达到自己的职业发展目标?欢迎大家各抒己见! 精彩答案: 会员 yuezhongnver : 职业发展规划是人生的大事,下面我结合亲身经历,谈谈自己的观点: step1:校园阶段(毕业前1年~1.5年) 很多人的职业规划是到了工作以后才开始进行的,其实,这样做,有很大的局限性。凡是工作过的人,都有一个体会,就是自己的第一份工作,会影响到5~10年的发展轨迹,甚至会对一生产生影响。因此,选择一份合适的工作作为起点,是必须要在校园内思考清楚的问题。 由于中国的教育基本是理论教育,大家在工作前的实践能力大多比较弱,固然有其不足,但也有好的一面,那就是可塑性比较好。可塑性好代表了选择的余地可以很大,因此,大家在选择第一份工的时候,要充分结合自己的教育背景、个人能力、兴趣爱好、长期目标等等,作出理性的决策。 软件测试,特别是黑盒软件测试是一种入门起点较低、上手迅速、且发展空间比较大的职业,因此,对于很多学生而言,作为进入IT就业的初级岗位,是非常合适的。 校园阶段的规划,主要是选择大的入门方向,当然,此时也可以给自己一个长期的目标,但是不必规划过细,因为,在没有入行前,一切都还未知,把握好路线即可。 下文假设大家选择的是软件测试~~ step2:入门阶段(入行后3个月~1年) 对于刚刚入行的新人,这个时期是一个全面熟悉期,最能够学习到新的知识,也最有拼搏的热情和动力。建议大家可以借着这股冲劲,尽可能了解所在领域的全貌,了解各个主要分支的内容、特性、优势、局限性等等,并考察自己当前的工作环境,结合个人匹配程度和兴趣爱好,根据前述内容调整自己的规划。

软件测试缺陷报告

测软件名称XX测试缺陷报告书

目录 1引言 (3) 1.1编写目的 (3) 1.2背景 (3) 1.3定义 (3) 1.4参考资料 (3) 2测试环境 (4) 2.1硬件环境 (4) 2.2软件环境 (4) 3冒烟测试 (4) 3.1被测软件 (4) 3.2测试策略 (4) 3.3执行步骤 (4) 3.4测试用例执行情况 (4) 3.4.1 管理员 (4) 3.4.2 匿名用户...................................... 错误!未定义书签。 3.4.3 教师用户...................................... 错误!未定义书签。 3.4.4 学生用户(待补充)............................ 错误!未定义书签。 3.4.5 交叉功能测试.................................. 错误!未定义书签。 3.5结果分析和结论 (9) 4功能测试................................................... 错误!未定义书签。 4.1被测软件............................................. 错误!未定义书签。 4.2测试策略............................................. 错误!未定义书签。 4.3执行步骤............................................. 错误!未定义书签。 4.4测试用例执行情况(自行补充)......................... 错误!未定义书签。 4.4.1 管理员........................................ 错误!未定义书签。 4.4.2 匿名用户...................................... 错误!未定义书签。 4.4.3 教师用户...................................... 错误!未定义书签。 4.4.4 学生用户...................................... 错误!未定义书签。 4.4.5 交叉功能测试.................................. 错误!未定义书签。 4.5结果分析和结论....................................... 错误!未定义书签。

软件测试发展方向

软件测试发展方向

软件测试职业发展方向 最近准备研究一下软件测试职业的发展方向,一是增长自己的知识,二是为自己的职业规划做个参考,在网上找到一篇很好的东东,将它整理了一下,放上来吧,以备以后查看。 软件测试职业发展方向,大体上可以分为管理路线、技术路线、管理+技术路线。 测试初级阶段: 测试工程师,属于软件测试职业生涯的初级域,其适用范围是入行软件测试3年内的常规测试从业者,其主要工作内容是按照测试主管(即直接上司)分配的任务计划,编写测试用例、执行测试用例、提交软件缺陷,包括提交阶段性测试报告、参与阶段性评审等。 管理+技术路线: 首先是常规路线,这条发展路线要求管理与技术并重,因为软件测试的行业特点决定了这个因素:测试工程师向上晋升到测试主管、测试经理、测试总监,直至咨询域的更高方向! 测试主管是企业项目级主管,对于中小型软件公司也可以是企业级主管,属于中级发展域,适用范围是2到5年职业经验的测试从业者。其工作内容是根据项目经理或测试经理的计划安排,调配测试工程师执行模块级或项目级测试工作,并控制与监督软件缺陷的追踪,保证每个测试环节与阶段的顺利进行。严格来说,这个级别更多属于测试的设计者,因为企业的测试流程搭建是由更高级别的测试经理或相关管理者来做的,测试主管负责该流程的具体实施;而更多的工作,是思考如何对软件进行更加深入、全面的测试。测试主管比较有创造性的工作内容就是测试设计,而恰恰很多公司忽略了或没有精力来执行此工作内容!应该说,在一个企业里做了3年左右测试工作的人员,很容易晋升到该职位,而之所以晋升,是与个人测试技术的过硬、测试方法的丰富,加上对测试流程的监控力与执行力的职业素质息息相关! 测试经理是更高级别的测试管理者,属于高级测试方向域。对于大中型软件公司,该职位尤为重要,并且对其职业要求也比较高,一般适合4到8年的测试从业者,在管理与技术能力双双比较成熟的情况下,可以结合具体环境晋升到该级别。测试经理负责企业级或大型项目级总体测试工作的策划与实施。测试经理除了需要统筹整个企业级或项目级测试流程外,还要对于不同软件架

软件测试工程师的职业发展以及前景分析

软件测试工程师的职业发展以及前景分析 这里谈到软件测试工程师的前景以及职业发展问题就不得不先对软件测试工程师做一个名词解释和分类了 什么是软件测试工程师? 软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。简而言之, 软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。 软件测试工程师可以分为哪几类? 按其级别和职位的不同,分为三类。即:高级软件测试工程师、中级软件测试工程师、初级软件测试工程师。 高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估; 中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务; 初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。 软件测试工程师的意义 软件测试工程师目前正在成为IT行业中一个新亮点,不仅其从业人员薪水高、人员需求增加快而广受关注,而该行业未来良好的发展前景也受到肯定。据国家权威部门统计,中国软件人才缺口中,其中30%的人才为软件测试人才。 软件产业是国家鼓励发展的朝阳产业,软件产业要发展,提高软件质量势所必然,这样就产生了对软件测试工程师的大量需求。然而在IT业处于发展的初级阶段时,由于大多数软件比较简单,测试工作也不复杂,往往是软件开发企业在开发完成后进行一下简单的检测就可以了。但在IT业发展到一个高级阶段后, 系统越来越精密,而软件也越来越复杂,影响的范围也不断扩大。因此,这时期开发的软件就必须进行十分严格的测试。否则,不仅会引发企业销售收入下降和

软件测试技术发展综述报告

综述报告 报告题目:_软件测试技术发展现状综述__ 学生姓名: 学号:_ _ 专业:软件工程 导师: 2014年3月

软件测试技术发展现况综述 摘要:从世界上第一行程序代码被编制出来,实际上软件测试问题就已经出现了。随着软件复杂度的增加,软件测试的重要性逐渐引起了人们的重视。本文基于此,阐述了计算机软件测试技术的发展历程、国内外软件测试行业发展现状、软件测试的方法和过程以及发展趋势等方面。 关键字:软件测试软件测试技术发展趋势 引言 随着社会的不断进步和计算机科学技术的飞速发展,计算机及软件在国民经济和社会生活等方面的应用越来越广泛和深入。作为计算机的灵魂,软件在其中起着举足轻重的作用。软件的失效有可能造成巨大的经济损失,甚至危机人的生命安全。软件开发的各个阶段都需要人的参与。因为人的工作和通信都不可能完美无缺,出现错误是难免的。与此同时,随着计算机所控制的对象的复杂程度不断提高和软件功能的不断增强,软件的规模也在不断增大。人们在软件的设计阶段所犯的错误是导致软件失效的主要原因。软件复杂性是产生软件缺陷的极重要的根源。 作为软件工程重要组成部分的软件测试是软件质量的有力保证。软件测试对于软件质量的重要意义,不仅仅在于发现软件系统中存在的错误,更体现在经过各种测试技术和方法对软件产品进行测试后,可以提高对软件质量的信心。因为无法预知软件中究竟会有多少错误存在么,所以即使在测试后仍然无法保证软件系统中不在存在错误。但是,通过软件测试,能够对软件系统出错的可能性以及错误可能导致后果的严重程度能有准确的估量。同样,通过测试可以将存在错误的几率限制于可以接受的程度之下。这些都大大提高了软件质量的可靠性,增加了对软件产品的信心,尤其是对于涉及到高安全性、高可靠性的软件系统。 软件测试概述 一、软件测试的定义 对软件测试的定义长期以来就存在着很多不同的观点: 1.网络词典中软件测试被定义为“软件测试是一个过程,用于确定开发的软件系统的正确性,完备性以及软件的质量。实际上,软件测试无法绝对保证软件的正确性,这种保证只能通过形式化的验证来实现。软件测试能够发现错误,却无法证明软件中不再存在错误”。 2.软件测试是对系统或程序的执行以期发现其中的错误。 3.软件测试是任何以衡量程序或系统的属性和能力为目标的活动,并且用以确定这些活动是否得到预期的结果。 4.IEEE提出的软件工程标准术语中,对软件测试的定义为“对软件系统或软件系统组件进行检测和评估的过程,通过人工或自动的方式来验证是否满足了特定的规定和需求,确认实际运行结果与所期望的运行结果之间的差异”。

软件测试人员如何实现测试职业发展的目标

软件测试人员如何实现测试职业发展的目标 追求卓越和成功是职业人员的永恒主题。由于人生阅历不同,价值观不同,每个人对 卓越和成功的理解不同。“卓越”是具有超出大众的杰出表现,“成功”是经过积极努力,实现设定目标后的自信状态和满足感受。那么,测试职业人员如何才能实现测试职业发展 的目标呢? 1.思路决定出路,视野决定事业 没有工作目标的人永远为有明确目标的人工作。目标影响未来,如果你从事软件测试 的目标是成为测试经理,则很少有机会成为公司高级管理者和测试行业专家。学习和工作 中遇到了困难和问题,如果缺少主动分析和探索的工作思路,依靠别人帮助,很难突破工 作发展的出路。 追求软件测试职业发展的过程像攀登高山,在山脚下和半山腰徘徊,永远无法体会在 山顶“一览众山小”的意境,无法领略极目远眺的宽广视野。取得微小成绩沾沾自喜的人,无法产生继续探索的动力。“山外有山,人外有人”,不要把眼光仅局限于一个公司,一 个行业,也不要只限于国内,还要放眼全球。软件测试领域的创新主要来自美国和欧洲, 向国外测试专家学习,才能了解自己的专业差距,明确职业前进的方向。 2.庸人抱怨,智者行动 软件测试行业存在两种人:庸人和智者。庸人从来都是打工者的心态,一辈子都要替 别人打工。此举一例:两个都是新入职的同事,也都是第一份工作,领导交给他们差不多 的事情做,一个想“TMD,就这么点工资,让干这么多活?”,另一个则想“没想到新人 都给这么多机会锻炼,一定好好干”,一年后,第一个成为第二个人下属,几年后第一个 成为公司部门经理。 智者把工作当作带薪学习的机会,主动思考,踏实工作。当你月薪2000元的时候, 象月薪8000的人士那样工作,一年后月薪肯定6000多。每个公司和同事都有自身存在 的问题,庸者抱怨公司管理混乱,同事愚蠢,无法学到新技术,智者把存在的问题看作工 作机会,主动解决问题,赢得同事的尊重和领导的提拔。 智者未来注定不平凡,无论干什么工作。机会无大小,只有时间早晚,智者永远不嫌 弃小机会。软件公司是最公平的名利场,机会是自己干出来的,否则只能说你无能。心态 影响结果,心态影响未来。 3.成功有先后,在于学习效率和实践能力 软件行业是最具创新和发展的行业,新技术,新工具,新思想,新需求,新模式,日 新月异,推陈出新。软件测试人员是一群智商出众的人群,如果在这些人员中快速脱颖而出,需要坚持持续学习,高效率的学习,并且积极实践。“要想人前显贵,必须人后受罪”,如果你还没有成功,自问一下你是否比大多数同学或同事勤奋认真。 庸人抱怨工作太紧张,没有时间学习,庸人抱怨年龄大了,学不进去了。庸人总是找 各种借口和抱怨,智者抓住一切机会学习。不妨主动问自己,每年购买和阅读多少本软件 测试领域的新书,每周浏览多少国际和国内软件测试领域的网站,是否关注和阅读了国内

软件测试综述论文

软件测试与维护小组报告 报告题目:基于云计算的软件测试 2014年11月9日 摘要 云计算作为一种先进的信息化技术给传统的软件测试带来很大的影响,在传统的软件测试领域中,在软件测试的过程中会遇到很多问题,比如:缺乏测试时间、软硬件资金、足够的测试用例等一系列问题。而在引入云计算之后,很多软件测试工作都可以得到优化。 本文主要分五个模块,第一章主要是整体介绍云测试的基本概念、特点、架构,研究背景及意义等,第二、三、四章主要是针对小组成员对云测试三个方面应用的具体概述。最后,在第五章总结小组成员对软件测试课程的收获及对云测试学习的总结。 关键字:云计算;软件测试;SDN网络;负载测试移动;测试教学

第一章云测试导论(齐) 1.1 基本概念 1.1.1 XXXX 1.1.2 XXXX 1.1.3 XXXX 1.2 研究背景 1.2.1 XXXX 1.2.2 1.3特点 1.4架构 第二章SDN网络对测试的挑战 2.1 SDN/OpenFlow网络介绍 2.1.1 SDN背景 随着云计算服务和大规模数据中心的兴起,使现有的网络技术和架构不堪重负。传统的网络难以满足云计算、大数据,以及相关业务提出的灵活的资源需求,这主要是因为它已经过于复杂从而只能处于静态的运作模式。当前,网络中存在着大量各种各样的互不相干的协议,它们被用于在不同间隔距离、不同链接速度、不同拓扑结构的网络主机之间建立网络连接。因为历史原因,这些协议的研发和应用通常是彼此隔离的,每个协议通常只是为了解决某个专门的问题而缺少共性问题的抽象,这就导致了当前网络中的复杂性。传统网络的复杂

性增加了网络管理的难度,进而导致网络的脆弱性。 另外,传统互联网在许多方面遇到巨大的挑战和问题。在成本方面,与其他类型的基础设施一样,大型网络在建设前期需要大量的资本投入,后期管理工具和人员的费用;在敏捷性方面,由于全球性的竞争,不仅需要高成本效益的解决方案,还要求新服务上市后提供快速的随需供应和再供应;在设计方面,传统的网络并非正对虚拟化和云环境设计,也不适应其他的随需模型。 正是由于传统互联网遭受的这些挑战,急迫的需要我们提出一个新的联网方法来解决这些遇到的问题。软件定义网络(SDN)和相应的协议OpenFlow应运而生。并且事实证明,SDN能够应对这些挑战。 2.1.2 什么是SDN网络 2006年,SDN诞生于美国GENI项目资助的斯坦福大学Clean Slate课题,基于OpenFlow 协议,给网络带来可编程的特性,SDN的概念应运而生。随后斯坦福大学,印第安纳大学等许多大学都在校园里部署了SDN网络,2012年4月Google宣布其主干网络已经全面运行在OpenFlow上。那么什么是SDN网络?要回答这个问题,首先我们要了解传统网络设备的运行方式。 在传统的网络中,交换机由路由控制器和转发器两部分组成,分为控制层和数据层。今天的多数交换机和路由器都要同时负责控制层和数据层,控制层要确定哪些包要转发到哪里,数据层则负责实际的转发,网络中的每个组件都是一个自主系统。路由器或交换机在绝大程度上目光短浅,它们在很大程度上只关注下一跳的路径,无法查看到端到端的流量情况,这种局限带来了很多问题,如临时性的局部拥塞等问题。 如图1所示,SDN将控制层和数据层分离,并且利用一台通常在通用服务器上运行的单

软件测试国内外发展现状

一、软件测试介绍: 软件测试的必要性已经完全为业内决策人士所接收。这是因为软件工业已经发展到了与其他主要工业相当的规模。经过十几年的发展,少数天才们手工作坊的世界已经转化为大工业生产的天下。由于JAVA的流行,我们更看到了组装生产线的模式。 在工业生产的传统行业里,测试是生产的有机组成环节,各道工序的测试、组装测试、出厂测试及致破坏性试验是生产目的实现的重要保证。 软件测试和硬件测试在实现上没有真正意义上的区别,在虚拟空间上的实现也不是软件测试独有的特征。 软件测试过程的主要部分在于模拟用户对软件产品的使用过程:1、模拟最终用户通过WEB、GUI对软件的使用。(具体软件会有很多功能。另外测试还要模拟用户的误操作,好的软件系统应该能够应付误操作。) 2、模拟用户方操作系统,数据库、网络管理专家对软件进行安装、设置、移植(Installation,Configuration and Migration)。 3、模拟用户方软件程序员应用编程界面调用各种功能。(目前相当多的出厂软件产品不是可执行程序,而是API。) 4、模拟用户对软件使用说明的使用。 软件测试的另一个方面是针对用户在正常使用软件可能遇到的麻烦进行测试、分析(High Avaiablility Test、Performance Test)。 贯穿始终的测试活动则包括软件设计文档评估、测试规划、测试结果报告。 软件测试是软件质量控制(QC,QA)的具体实现环节。把软件测试有效地组织进软件的生产流程,是软件质量控制规划的主要内容。 质量控制是控制的一种;符合控制系统的一般规律。多重小闭环反馈控制是一种控制精度高并且对控制系统各模块品质要求低的一种控制方案。这种控制模式应用到软件生产上,就形成了对软件生产的分阶段测试。它最大限度的减少了开发者个人因素对软件生产的影响。这正是以北美为基地的大多数主要成规模软件生产商所引用的RUP (Rational Unified Process)。 目前市场上流行大量的测试软件,较为有效的主要应用在Unit Test,Intergration Test,Regression Test 和Performance Test 等几个方面。 在Unit Test and Intergration T est 方面,在网络上有免费的“软件测试工具包”可以帮助测试人员结构测试框架,用于测试JAVA API.使用者要求具备WebLogic,Websphere,TomCat或其它WEB 服务器平台软件的知识。 在Regression Test 方面,市场上有众多的capture-playback 类型的测试软件如Win Runner,Rational Robot,Rational JRobot,etc. 这类工具易学易用。要想使用这类工具实现测试目的,使用者依然需要

论软件测试工程师的职业发展以及前景分析

龙源期刊网 https://www.doczj.com/doc/e87489505.html, 论软件测试工程师的职业发展以及前景分析作者:张宝斌 来源:《科技风》2020年第01期 摘;要:随着我国科技的飞速发展,IT行业也发展迅速,且软件测试工程师已成为IT行业中的一个重要组成部分。软件测试工程师的发展前景非常明亮,目前已成为我国稀缺的人才,本文基于软件测试工程师的发展前景以及软件测试工程师专业认证资质的考取展开论述。 关键词:软件测试工程师;性能测试;职业发展;前景分析 软件行业是国家重点支持的行业,为使软件行业飞速发展,需要为其提供专业技能的软件测试工程师。在IT行业的发展初期,由于大部分软件比较简单,因此测试的内容也很简单,但是在IT行业发展进入中后期之后,软件技能已越来越复杂,也给IT行业带来很大的影响,因此这个阶段发展必须有专业及规范的软件测试技术。 一、对软件测试工程师的概述 软件测试是通过手工或者自动来对某一个软件系统进行测试,主要测试软件的功能是否已经满足了客户所规定的要求,同时分辨出预期结果和实际测试结果的差别。软件测试工程师通过使用不同测试技术对软件产品的功能进行测试、缺陷进行检查,稳定性强度进行检测,并串通整个软件的开发周期对软件的质量进行分析,保证最后的软件能够完美的满足客户需求。软件测试工程师可以分为功能测试、性能测试两类软件测试工程师。 软件测试工程师资格证的考取,要经过多个方面的能力的认证,其主要是包括:功能测试、单元测试、系统测试、软件形成测试等多个测试。要求报考人员有足够的软件测试理论知识和实践能力,了解整个测试过程和业务知识,能够制定软件测试计划。在国内可以考取的软件测试工程师相关职业认定证书有:软件评测师(国家软考认证)、ISTQB(国际软件测试资格认证)、LR;ASP(Micro;Focus旗下的软件测试认证)、CSTE(QAI旗下的软件测试认证)。目前,国际通用且认可价值高的则有ISTQB证书,ISTQB全称为 International;Software;Testing;Qualifications;Board,譯为国际软件测试资质认证委员会,它是国际唯一全面权威的软件测试资质认证机构,主要负责制订和推广国际通用资质认证框架,即“国际软件测试资质认证委员会推广的软件测试工程师认证”(ISTQB;Certified;Tester)项目。 二、软件测试工程师的职业发展方向 由于软件测试工程师职业特殊性,测试工程师不仅需要对软件质量进行测试,也需要对整个软件项目的立项、执行、管理等多个方面都要涉及。因为在一个软件项目中,测试组长作为整个项目的负责人,自身不仅要有着过硬的专业能力,同时也要有着足够的管理能力。测试工

软件测试工程师职业规划及计划

软件测试工程师职业规划及计划软件测试工程师职业规划及计划 由于国内软件测试行业目前的发展迅速、需求旺盛,在国内的软件测试职位晋升一般要比国外快,但因行业本身太年轻,大家对软件测试中软件测试职业的发展了解不够,从而导致许多有志在此发展的年轻人举步不前。所以下面介绍一下海外公司成熟的软件测试行业职位分布情况,我国一些在软件测试行业中处于前端的公司与之也相仿,这可以作为软件测试职业规划的参考,给新人一个导向。 第一阶段:(测试员)初级测试工程师 自身条件:初入行具备计算机专业学位或一些手工测试经验的个人。 具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。 学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。 第二阶段:(测试工程师)程序分析员 自身条件:有1~2年工作经验的测试工程师或程序员。具有初步的自动化测试能力,完善自动化测试脚本软件测试工程师职业规划及计划。 具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。

学习方向:拓展编程语言、操作系统、网络与数据库方面的技能。 第三阶段:(高级测试工程师)程序分析员 自身条件:有3~4年经验的测试工程师或程序员。具有一定的行业业务知识,储备系统分析员的能力软件测试工程师职业规划及计划。 具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。 学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。 第四阶段:测试组负责人 自身条件:有4~6年经验的测试工程师或程序员具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试软件测试工程师职业规划及计划。 具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队提供bug解决策略。 学习方向:性能测试,测试技能 第五阶段:(资深安全或性能测试工程师)测试/编程高级负责人

《软件测试工程师职业规划》

未来十年职业规划 ----软件测试工程师发展计划 一.背景分析:软件测试工程师,未来计算机领域的香饽饽 根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。 随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一,目前已成为各类科技企业紧急征召的重要对象。 了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。 在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。 因此,在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高,有的人月薪可高达8000元。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显迹象。测试工程师这个职位必将成为IT就业的新亮点。 二. 软件测试职位要求: 首先说说要做个软件测试工程师,需要了解的方方面面,也可以说是一个职业要求汇总吧。 基本常识类 1.计算机基础知识 2.计算机网络基础知识 3.软件测试基本知识(软件质量,软件质量管理基础知识,软件测试概念,软件测试标准,软件测试技术及方法,软件测试项目管理) 4.软件开发基本知识(软件工程知识,理解软件开发方法及过程) 技术类

软件测试发展前景

软件测试工程发展前景展望! 软件测试工程师 招聘会上的怪现象 中华英才网近期发布了最新一期的IT职场人气排行榜,最热门的前三名岗位是:软件测试工程师、高级程序员、产品项目经理的高级职位;作为软件开发流程中的重要一环,软件测试在2006年浮出水面,成为IT职场的最新热门岗位。 据统计,2006年北京在国展举办的几次招聘会,合计曾有180多家软件企业高薪招聘软件测试人员,仅有7家收到的简历能够达到招聘岗位数的50%,但符合企业要求者也不足 30%。 笔者从一位测试行业资深人士了解到,随着测试工作量的增加,如果要招到合适的软测人员,很多测试部门经理不得不把大部分时间和精力用在人员招聘上。如果说是企业的要求苛刻,倒不如说应聘者对于软测的知识掌握还不成体系,真正合格的测试人员太少;而目前我国还没有软件测试的大专和本科专业,在软件测试越来越重要的今天,更加凸显出软测人才缺乏的瓶颈;也因此软件测试工程师的薪酬一直“高烧不退”。 从目前来看,软件测试这个行业在中国的发展仍处于方兴未艾阶段:一方面软件企业自身项目开发和管理水平的提高需要大量的软件测试工程师补充不断增长的岗位需求,另一方面,软件测试外包业务的蓬勃发展迅速拉升了对软件测试工程师岗位的强劲需求,这两个大的行业背景短期内不会改变,并且是相当一段时间内IT 行业的热点,由此可见,软件测试工程师的职业前景将一路看好,现在介入这个行业就如同10年前进入软件开发,5年前进入网络 一样,有机会抓住难得的市场机遇。” 软件测试工程师的工作内容 “假如存在没有任何错误的程序,那么世界也会不复存在。” 因错误而存在,因修正错误而存在,这就是软件测试工程师的存在之道。虽然测试不是解 决错误的根本举措,但却是必须的手段。 软件测试工程师(Software Testing Engineer)的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。据有关调查数据表明,目前在国内许多软件企业,测试人员和开发人员之比在1:7和1:5之间,与国外软件业1: 1的比例还相去甚远。 软件测试工程师主要职责为:

软件测试职业规划

软件测试职业规划 软件测试职业规划 一、初级测试工程师 刚入门拥有计算机科学学位的个人或具有一些手工测试经验的个人。开发测试脚本并开始熟悉测试生存周期和测试技术。 二、测试工程师/程序分析员 具有1~2年经验的测试工程师或程序员。编写自动测试脚本程序并担任测试编程初期领导工作。拓展编程语言、操作系统、网络与数据库技能。 三、高级测试工程师/程序分析员 具有3~4年经验的测试工程师或程序员。帮助开发或维护测试或编程标准与过程,负责同级的评审,并为其他初级的测试工程师或程序员充当顾问。 四、测试组负责人 具有4~6年经验的测试工程师或程序员。负责管理1至3名测试工程师或程序员。担负一些进度安排和工作规模/成本估算职责。 五、测试/编程负责人 具有6~10年经验的测试工程师或程序员。负责管理8至10名技术人员。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。 六、测试/质量保证/开发(项目)经理 具有10多年的工作经验。管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。 七、计划经理 具有15年以上开发与支持(测试/质量保证)活动方面的经验。管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任。 软件测试人员的三大发展方向 "软件测试人员一般有三大发展方向。"微软公司的陈宏刚博士介绍说,一是走软件测试的技术路线,成长为高级软件测试工程师。二是向管理方向发展,从测试工程师到组长,再到测试经理,以至更高的职位。三是可以换职业,做项目管理或做开发人员。

经过软件测试岗位洗礼的人才往往是行业中的多面手,在技术、管理、市场甚至其他非IT领域都能得到良好的发展。当然这首先要取决于从业者是否具备长远眼光,对自己的职业生涯进行合理规划。 软件测试职业规划 由于国内软件测试行业目前的发展迅速、需求旺盛,在国内的软件测试职位晋升一般要比国外快,但因行业本身太年轻,大家对软件测试中软件测试职业的发展了解不够,从而导致许多有志在此发展的年轻人举步不前。所以下面介绍一下海外公司成熟的软件测试行业职位分布情况,我国一些在软件测试行业中处于前端的公司与之也相仿,这可以作为软件测试职业规划的参考,给新人一个导向。 第一阶段:(测试员)初级测试工程师 自身条件:初入行具备计算机专业学位或一些手工测试经验的个人。 具体工作:执行测试用例,记录bug,并回归测试,通过qtp等测试工具录制回归测试脚本,并执行回归测试脚本。 学习方向:开发测试脚本并且开始熟悉测试生存周期和测试技术。 第二阶段:(测试工程师)程序分析员 自身条件:有1~2年工作经验的测试工程师或程序员。具有初步的自动化测试能力,完善自动化测试脚本。 具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。 学习方向:拓展编程语言、操作系统、网络与数据库方面(体育专业职业生涯规划范文)的技能。软件测试职业规划软件测试职业规划。 第三阶段:(高级测试工程师)程序分析员 自身条件:有3~4年经验的测试工程师或程序员。具有一定的行业业务知识,储备系统分析员的能力。 具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。 学习方向:继续拓展编程语言、操作系统、网络与数据库方面的技能。

相关主题
文本预览
相关文档 最新文档