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

软件测试的起源与发展

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

软件测试的起源与发展

软件测试的概念与定义

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

直到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 中没有定义测试问题,与质量相关的测试问题如可测性,充分测试标准,测试计划等方面也没有满意的阐述。仅在第三级的软件产品工程(SPE)KPA中提及软件测试职能,但对于如何有效提高机构的测试能力和水平没有提供相应指导,无疑是一种不足。为此,许多研究机构和测试服务机构从不同角度出发提出有关软件测试方面的能力成熟度模型,作为SEI-CMM的有效补充,比较有代表性的包括:美国国防部提出一个CMM软件评估和测试KPA建议;Gelper博士提出一个测试支持模型(TSM)评估测试小组所处环境对于他们的支持程度;Burgess/Drabick I.T.I.公司提出的测试能力成熟度模型(Testing Capability Maturity Model)则提供了与CMM完全一样的5级模型。Burnstein 博士提出了测试成熟度模型(TMM),依据CMM的框架提出测试的5个不同级别,关注于测试的成熟度模型。它描述了测试过程,是项目测试部分得到良好计划和控制的基础。TMM 测试成熟度分解为 5 级别,关注于 5 个成熟度级别递增:Phase 0 :测试和调试没有区别,初了支持调试外,测试没有其他目的

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

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

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

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

软件测试模型的演变

软件测试模型与软件测试标准的研究也随着软件工程的发展而越来越深入,在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测试版本以供用户有限次数使用。

幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。

软件测试现状与前景

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

关于软件测试行业现状的调查报告

华北电力大学科技学院 调研报告| | 实验名称软件测试行业现状调查报告 课程名称软件测试 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:

软件测试行业现状调查报告 中国软件测试的发展及现状分析: 一、软件测试的发展及现状分析: 中国的软件测试技术研究主要是随着软件工程的研究而逐步发展起来的,但是由于起步较晚,与国际先进水平相比差距较大,故仍处于起步阶段。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也越来越被软件企业所重视,软件测试正在逐步成为一个新兴的产业。从目前来看,可主要从四个方面来分析我国测试行业的现状。 1) 软件测试重要性和规范性不断提高通过测试把不符合行业标准的软件挡在门外,对行业信息化的健康发展起到了很好的促进作用。在信息产业部关于计算机系统集成资质以及信息系统工程监理资质的认证中,软件测试能力已经被定为评价公司技术能力的一项重要指标。 2) 从手工向自动化测试方式的转变传统的项目测试还是以手工为主,测试人员根据需求规格说明书的要求,与测试对象进行“人机对话”。大量的手工增加了项目人力成本和沟通成本、低效率以及高差错率,针对企业的网络应用环境需要支持大量用户和复杂的软硬件应用环境,这样测试的工作量也越来越大,自动化测试及管理已经成为项目测试的一大趋势。自动化测试通过测试工具和其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它能够完成许多手工无法完成或者难以实现的测试工作,更好地利用资源,将繁琐的任务赋自动化方式,从而提高准确性和测试人员的积极性。正确、合理地实施自动化测试,能够快速、全民地对软件进行测试,从而提高软件质量、节省经费,缩短产品发布周期。 3) 测试人员需求逐步增大,素质不断提高随着 IT 业的迅猛发展,软件外包服务已成为继互联网和网络游戏后的第五次全球浪潮。由于外包对软件质量要求很高,国内软件企业要想在国际市场上立足,就必须重视软件质量,而作为软件质量的把关者,软件测试工程师日渐“走俏”。目前在国内 120 万软件从业人员中,真正能担当软件测试职位的不超过 5 万,而目前高等教育中专业的软件测试教育近于空白,独立开设软件测试课程的高校非常少,这就形成测试人才紧缺、需求不断增大的现象。据分析,目前国内软件测试的人才需求缺口超过 20 万人。因此软件企业开始加强和重视测试人员的选拔、培养和知识培训。一方面,对测试人员的素质和要求逐步提高,测试人员不仅应掌握相关计算机知识背景、软件工程基本知识、熟悉项目编程语言、熟悉项目技术架构及需求内容,而且要求工作有责任感、独立分析能力及团队精神等方面;另一方面,软件企业为测试人员提供进一步的知识培训机会,以应对各种项目的复杂情况。 4) 测试服务体系初步形成随着用户对软件质量的要求越来越高,信息系统验收不再走过 场,而要通过第三方测试机构的严格测试来判定。“以测代评”正在成为我国科技项目择优支持的一项重要举措,比如国家“863”计划对数据库管理系统、操作系统、办公软件等项目的经费支持,都是通过第三方测试机构科学客观的测试结果来决定。随着第三方测试机构的蓬勃发展,在全国各地,新成立的软件测试机构达 10 多家,测试服务体系已经基本确立起来。 二、软件测试行业对从业人员的技术要求 相对于其他软件工程人员,软件测试工程师的知识面应该非常宽广,但最重要的品质应该是能够在第一时间内接受新技术。 1、职场人对于软件测试行业认知度一般调查显示,职场人对于软件测试行业认知度一般。选择非常了解的只有 8.8%,可见,对于该行业了解程度高的职场人不足一成。选择“知道一些”的不足四成,其余超过半数的职场人都选择不了解甚至没听说过。可见,软件测试行业作为一个新兴行业还没有受到广泛的社会认知,

软件测试人才发展现状

软件测试人才发展展望 软件测试属新兴职业,但目前国内软件产业规模越来越大,国内软件行业突破了传统的作坊式生产,从单打独斗的开发模式升级为工业化、流水线式的生产模式,导致专业的软件测试人才需求缺口巨大。据悉,中国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年的测试从业者,在管理与技术能力双双比较成熟的情况下,可以结合具体环境晋升到该级别。测试经理负责企业级或大型项目级总体测试工作的策划与实施。测试经理除了需要统筹整个企业级或项目级测试流程外,还要对于不同软件架构、不同开发技术下的测试方法进行研究与探索,为企业的测试团队成员提供指导与解决思路,同时还要合理调配不同专项测试的人力资源(如业务测试工程师、自动化测试工程师、白盒测试工程师、性能测试工程师),对软件进行全面的测试;另外,一些企业里,测试经理还需要与客户交流与沟通,负责部分的销售性或技术支持性工作。

软件测试缺陷报告

测软件名称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年的测试从业者,在管理与技术能力双双比较成熟的情况下,可以结合具体环境晋升到该级别。测试经理负责企业级或大型项目级总体测试工作的策划与实施。测试经理除了需要统筹整个企业级或项目级测试流程外,还要对于不同软件架

国内软件测试现状分析及对策

龙源期刊网 https://www.doczj.com/doc/936880953.html, 国内软件测试现状分析及对策 作者:邓伟伟,管群 来源:《电脑知识与技术》2009年第34期 摘要:现代社会是一个信息化社会,而高质量的软件构成了信息化的基础。我国加入WTO 后,面对全球信息化浪潮,国内软件测试行业的弊病逐步显露出来。在引用51Testing软件测试网的一些调查数据的基础上,指出了国内软件测试的一些现状,对现状进行了分析,并给出了相应的解决之道,最后对我国的软件测试行业进行了总结和展望。 关键词:软件测试;软件质量;测试工具;规范化;能力成熟度模型 中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)34-9692-03 Analysis and Solutions on the Status of the Domestic Software Testing DENG Wei-wei, GUAN Qun (Computer College, Sichuan University, Chengdu 610064, China) Abstract: Modern society is an information-based society, and high-quality software constitutes the basis of the information. Since China's accession to the WTO, in the face of the wave of global information, the drawbacks of the domestic industry of software testing gradually revealed. On the basis of survey data on the 51Testing software testing network, the author pointed out some of the status in domestic software testing, and analyzed the status, then got the corresponding solutions, finally summaried and outlooked the domestic industry of software testing. Key words: software testing; software quality; testing tools; standardized; capability maturity model(CMM) 什么是软件测试[1]?IEEE在1983年是这样定义的:由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求,或识别出期望的结果和实际结果之间的差别。它是软件工程的一部分,它随着软件开发应运而生,并随着软件开发的产业化而受到重视。简言之,软件测试就是不断发现Bug,并不断修正的过程。世界上第一个计算机Bug如图1所示。 目前,我国的软件测试行业较欧美国家的差距还比较大,这里面原因很多。我国的软件行业起步晚,这是一个不争的事实,所以在很多方面没有做到标准化和规范化;除此之外,软件质量低下也是一个重要的原因。计算机和软件行业的发展日新月异,加入WTO后,我国的软件行业面临 前所未有的挑战——如何进一步提升我国软件行业的生产水平和软件质量,与世界接轨?照理说,在这个大背景下,软件测试理应受到越来越多的重视。然而在我国事实真的如此吗?或者说即使很多软件企业有了这样的意识,它们付诸行动了吗?

软件测试工程师市场需求

根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。 随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一,目前已成为各类科技企业紧急征召的重要对象。 据了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。 在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力 而事实上,在国外许多国家的软件公司,软件测试工作已经逐渐演变成一门独立的科学,包括了配置方案、测试机制、跨平台策略和产品性能、稳定性等独立区域的知识模块。 同时,软件测试员需要参与包括需求分析—设计—编码等所有软件开发环节,尽可能地发现每个环节可能存在的Bug。“这是一个要求非常高的职业。”郑人杰说。因此国外的软件测试工程师基本上都是由从业多年的开发工程师转变而来。 不过,现在软件测试的重要性已经逐渐获得认可。根据51testing提供的一份调查报告,目前近91%的国内软件企业配备了测试队伍,更多的企业通过软件测试来提高自身的软件产品质量。总体上,69%的企业认为通过测试后软件质量得到很好提高。 而所有的招聘网站都开始发布同样的信息:软件测试工程师供不应求,企业招聘不到合格的人才。智联招聘一篇文章称,“从入门级的初级测试工程师到高级测试工程师以及项目Leader全线短缺”。 国家劳动和社会保障部也在3月份发布信息,称未来几年软件测试员这一职位,将会产生大量的市场需求。 国家应用软件产品质量监督检验中心副主任吴铸成告诉记者,国外小一些的软件企业,软件开发与测试人员之比基本上是1:1。微软公司是1:2,windows2000 操作系统在研发过程中甚至使用了250名项目经理、1700名软件开发工程师、3200名软件测试工程师。

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

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

软件测试国内外发展现状

一、软件测试介绍: 软件测试的必要性已经完全为业内决策人士所接收。这是因为软件工业已经发展到了与其他主要工业相当的规模。经过十几年的发展,少数天才们手工作坊的世界已经转化为大工业生产的天下。由于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. 这类工具易学易用。要想使用这类工具实现测试目的,使用者依然需要

软件测试综述论文

软件测试与维护小组报告 报告题目:基于云计算的软件测试 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将控制层和数据层分离,并且利用一台通常在通用服务器上运行的单

软件测试的发展的现状与前景

软件测试的发展现状与前景 一、软件开发中出现错误或缺陷的机会越来越多。 市场对软件质量重要性的认识逐渐增强。所以,软件测试在软件项目实施过程中的重要性日益突出。但是,现实情况是,与软件编程比较,软件测试的地位和作用,还没有真正受到重视,对于很多人(甚至是软件项目组的技术人员)还存在对软件测试的认识误区,这进一步影响了软件测试活动开展和真正提高软件测试质量。 (1)误区之一:软件开发完成后进行软件测试 人们一般认为,软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。据此,认为软件测试只是软件编码后的一个过程。这是不了解软件测试周期的错误认识。软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。 (2)误区之二:软件发布后如果发现质量问题,那是软件测试人员的错 这种认识很打击软件测试人员的积极性。软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。 (3)误区之三:软件测试要求不高,随便找个人多都行 很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随之软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具,新流程,新测试设计方法都在不断更新,需要掌握和学习很多测试知识。所以,具有编程经验的程序员不一定是一名优秀的测试工程师。软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和不断学习精神。 (4)误区之四:软件测试是测试人员的事情,与程序员无关 开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。 (5)误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试 这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为

对软件测试的认识及未来的发展

软 件 测 试 课 程 论 文 对软件测试的认识及未来的发展

对软件测试的认识及未来的发展 一、软件测试的定义 经过了多年软件开发实践,软件测试的重要意义逐渐被人们普遍认识。然而究竟什么是软件测试,这一基本概念很长时间以来存在着不同的观点。1973年W.Hetzel曾经指出,测试是对程序或系统能否完成特定任务建立信心的过程。1983年IEEE提出的软件工程标准术语中给软件测试下的定义是:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。”G.J.Myers则持另外观点,他认为:“程序测试是为了发现错误而执行程序的过程。”至今,对于软件测试所有定义中比较完善的是软件测试是分析某个软件项以发现显存和需要的条件之差别并评价此软件的特性。 二、软件测试的基本原则 Bill Hetzel在他的《The Complete Guide to Software Testing》一书中讲述了六条原则。所谓测试的原则就是测试过程中内部规律的具体体现,是已经被公认的。这些原则可以帮助我们理解测试的意义。 原则1:穷尽测试是不可能的。 原则2:测试工作具有创造性但很困难。 原则3:测试旨在防止错误的发生。 原则4:测试是有风险的。 原则5:测试需要有计划性。 原则6:测试需要有独立性。 三、软件测试的分类 从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。 1、要执行被测软件的角度 按是否需要执行被测软件的角度,可分为静态测试和动态测试。 静态测试是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。其中包括代码测试、界面测试和文档测试3个方面。对于代码测试,主要测试代码是否符合相应的标准和规范。对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。对于文档测试,主要测试用户手册和需求说明是否符合用户的实际要求。 动态测试是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。 所以,我们判断一个测试属于动态还是静态测试,唯一的标准就是看是否运行程序。 2、按阶段划分:

软件测试发展前景

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

浅谈软件测试行业的现状和前景

浅谈软件测试行业的现状和前景 摘要:软件测试在整个软件开发中占据了一半或一半以上的工作量,而且具有很高的组织管理和技术难度。搞好软件测试,是保证软件质量的关键步骤,是分析软件可靠性的重要依据。 关键词:软件测试;背景;行业现状;前景; 随着信息技术的发展与普及,人们在不同的场合都有可能会使用软件,如计算机、打印机、手机、银行等。但在使用软件的过程中,软件的效果却不尽人意。为了确保软件的质量,整个软件测试业界已经逐渐认识到测试的重要性,软件测试已经成为IT领域的黄金职业。 一、软件测试背景 (一)软件测试的起源 1961年,一个简单的软件错误导致美国大力神洲际导弹助推器的毁灭。这个简单但是昂贵的错误,致使美国空军强制要求在以后所有的关键发射任务中,都必须进行独立的验证,从此建立了软件的验证和确认方法论。软件测试也从那时候开始兴起。 (二)软件测试的基本情况 “现阶段,我国软件测试基础人才不足,已成为制约我国软件产业发展的瓶颈。”中国软件协会秘书长胡昆山说。据国家权威部门统计,中国软件测试人才缺口高达30多万,并且仍在以每年20%的速度增加。但由于软件测试的重要性是近两年才被充分认识到的,高校教育和企业培养都还没有跟上,致使软件测试人才的极度匮乏,出现跑步上岗、快速提升的状态。 在我国,软件产业的兴起和发展处于“婴儿”阶段。国内公司都只注重软件开发,而认为软件测试不重要,没什么技术含量,找一些用户,对照需求尽力去测试就行了,不考虑软件的整体性能和功能,导致软件测试以往一直被中小型IT企业所忽视。随着软件的市场的扩大,更多的国内企业也开始认识到软件测试的重要性,但是由于国内测试人才的储备相对较少,也没有人确切地知道它应该怎样发展,所以,软件外包已成为国内软件产业发展的一个重要趋势。 二、软件测试行业现状 在国内,虽然软件测试处于起步阶段,发展不如想象中的那么好,但是前景是光明的,因为软件测试开始得到越来越多人的重视,像测试培训机构、各种软件测试网站的增多,软件市场的扩大,软件测试已成为IT中的一个重要行业。 (一)软件测试规范性和重要性不断提高 工业和信息化部软件与集成电路促进中心主任助理刘龙庚在接受CSIP网站采访时说:政府主管部门很重视软件产品的质量,2001年信息产业部发布的部长5号令,实行了软件产品登记制度,规定凡是在我国境内销售的产品必须到信息产业部备案登记,而且要经过登记测试。同年起,国家质检总局和信息产业部每年都通过测试对软件产品进行质量监督抽查。国家人事部和信息产业部2003年关于职业资格认证第一次在我国有了“软件评测师”的称号,这是国家对于软件产品质量以及保障软件产品质量的软件测试职业的高度重视与认可。也就是说,在国家的政策与各部门的大力支持下,我国的软件产品会更加合法化,对软件测试的重视性也与日俱增。 (二)国内测试行业现状 关于国内软件测试的现状,2011年4月发布的《2007年度软件测试行业专项调查报告》中,有几个数据表明软件测试受到越来越多企业的重视。 1.软件测试重要性。调查结果表明, 68.2%的企业认为软件测试非常重要,必须设立专门的测试部门,与开发有同等重要的地位;31.8%的企业认为软件测试比较重要,而认为软件

软件测试求职简历

软件测试求职简历 基本资料 姓名: 性别:女 年龄:23 婚姻状况:未婚 籍贯:南京 现所在地:南京 求职意向 工作经验:应届毕业生 意向岗位:软件测试工程师/测试员;网页设计与制作 求职类型:全职 期望月薪:2001~4000元 到岗时间:随时到岗 期望工作地点:南京 从事行业:计算机业、互联网、电子商务;政府公用事业、社区服务;金融业(投资、保险、证券、银行、基金) 自我评价 1、天性乐观。开朗。好动。随和,善于交际与各类人士能和睦相处。

2、做事认真。负责。细致,很强的观察分析水平,自我独立解决 问题水平强。 3、接受水平和适合水平强,好学上进,自信不怕困难,勇于挑战! 4、良好的团队合作精神! 期望在工作中持续学习进取,努力创造价值,与企业共同成长。 诚恳的希望能给我机会,本人将会尽心尽职的发挥特长为公司的发展 做出贡献,用认真踏实的态度来证明自己 教育经历 2021年9~2021年7南京理工大学 专业:计算机科学与技术 学历:本科 获得证书:三等奖学金,英语四级 课程描述: C语言程序设计、C++程序设计、JAVA程序设计、数据库系统、计 算机操作系统、LINUX操作系统原理与应用、嵌入式系统原理及接口技术、Android应用程序开发、计算机网络、TCP/IP网络与协议、计算 机组成原理、微机原理与接口技术、Web数据库、网络编程与开发技术、汇编语言、实用软件工程、计算机网络安全等等。 工作经验 ××××计算机公司(2021年11月~2021年5月) 公司性质:私营企业 行业类别:计算机行业 担任职位:软件测试员

工作描述:公司软件测试 语言水平 语言类别:英语:一般 项目经验 网上购书系统(2021年8月~2021年9月) 开发工具:Myeclipse+oracle+HTML 项目描述:就是类似淘宝网的一家小店铺,有卖家和卖家两种用 户登入,实现了基本的增、删、改、查,买家能够实行对图书的购买。 责任描述:主要负责界面的美化和软件的测试。 图书馆管理系统(2021年5月~2021年6月) 开发工具:Dephi7MySQL 项目描述:图书馆管理系统分为两种用户管理员和读者,管理员 能够对图书实行增、删、改、查,也能够对读者的信息实行增、删、改、查,其中还增加了订购图书和验收的功能!读者能够查看自己的 信息并能够修改自己的密码,读者能够查看自己所借过得书和图书馆 所拥有的书,我还对读者借书实行了一定的限制,比如读者最多能借 五本,卡上的余额不足不能再实行借书。 责任描述:基本上除了部分代码,其他都是在责任范围 基于Android无线点餐系统的设计与实现(2021年11月~2021年 5月) 开发工具:Eclipse+MyEclipse+MySQL 项目描述:(1)系统登录功能。 (2)菜单管理。

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