




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕毕 业业 论论 文文 论文题目:论文题目:从功能性与性能性角度论述如何提高软件质量从功能性与性能性角度论述如何提高软件质量 摘 要软件功能性测试是软件质量保证的关键技术,在软件生命周期中占有重要的位置。理论上软件本身的缺陷都可在功能性测试阶段被暴露,因此软件功能性测试方法是提高软件可靠性及软件质量最有效、最直接的方法之一。 矚慫润厲钐瘗睞枥庑赖。本文对软件功能测试的概念以及主要的实现方法进行了研究。以具体的软件项目结合功能测试方法,分析了针对几种不同软件项目模型下的软件功能测试策略、功能测试的测试流程、测试点的分解及覆盖方法、测试用例的设计方法及建立测试用例集的方法等。聞創沟燴鐺險爱氇谴净。随着当前软件开发技术的发展与成熟,越来越多复杂的软件系统应用于人们生活的各个领域,软件系统运行时的性能表现已经成为衡量软件产品质量的一个重要标准。研究了软件系统性能测试的整体的流程,并结合自动化测试工具 LoadRunner,对软件性能测试的相关信息进行了分析。残骛楼諍锩瀨濟溆塹籟。 关键词关键词 功能性测试,测试流程,性能测试,测试工具Abstract Software functional testing is the key technology of software quality assurance, occupies an important position in the software life cycle. Theoretical defects of the software itself may be exposed at functional testing phase, software functional testing methods are improved software reliability and software quality in one of the most effective and direct way to. 酽锕极額閉镇桧猪訣锥。This essay probes into both the concept of software functionality testing and the main method of realizing it deeply. Combining specific software project and functionality testing method together, it makes an analysis of the strategies and process of functionality testing, the decomposition and covering method of test point, the design method of test cases and the method to tablish collection of test cases, etcfor several different software project model.彈贸摄尔霁毙攬砖卤庑。As when Kwame software development technology develops and matures, more and more complex software system used in all areas of peoples lives, software, system runtime performance has become an important standard for measuring software product quality. Examined the overall process of software system performance testing, combined with automated testing tools LoadRunner, software performance testing conducted an analysis of related information.謀荞抟箧飆鐸怼类蒋薔。KeyKey words:words: function testing,Test procedure, performance,testing tools厦礴恳蹒骈時盡继價骚。目 录1 1 绪论绪论 .1 1茕桢广鳓鯡选块网羈泪。1.11.1 课题背景课题背景.1 1鹅娅尽損鹌惨歷茏鴛賴。1.21.2 研究意义研究意义.1 1籟丛妈羥为贍偾蛏练淨。1.31.3 国内外发展的现状国内外发展的现状.2 2預頌圣鉉儐歲龈讶骅籴。1.41.4 研究内容研究内容.2 2渗釤呛俨匀谔鱉调硯錦。2 2 功能性测试基本理论功能性测试基本理论 .2 2铙誅卧泻噦圣骋贶頂廡。2.12.1 软件功能软件功能测测试的定义试的定义.2 2擁締凤袜备訊顎轮烂蔷。2.22.2 功能测试在测试阶段中得定位功能测试在测试阶段中得定位.3 3贓熱俣阃歲匱阊邺镓騷。2.32.3 软件性能的指标软件性能的指标.3 3坛摶乡囂忏蒌鍥铃氈淚。2.42.4 基于软件模型的功能测试策略基于软件模型的功能测试策略.3 3蜡變黲癟報伥铉锚鈰赘。.1 原型模型原型模型.3 3買鲷鴯譖昙膚遙闫撷凄。.2 V V 模型模型 .4 4綾镝鯛駕櫬鹕踪韦辚糴。.3 PTGMPTGM 测试过程模型测试过程模型 .4 4驅踬髏彦浃绥譎饴憂锦。3.3. 功能性测试方法功能性测试方法 .5 5猫虿驢绘燈鮒诛髅貺庑。3.13.1 功能性测试流程功能性测试流程.5 5锹籁饗迳琐筆襖鸥娅薔。.1 测试需求分析测试需求分析.5 5構氽頑黉碩饨荠龈话骛。.2 功能点分解功能点分解.6 6輒峄陽檉簖疖網儂號泶。.3 建立测试用建立测试用例例.6 6尧侧閆繭絳闕绚勵蜆贅。.4 测试执行测试执行.6 6识饒鎂錕缢灩筧嚌俨淒。.5 BUGBUG 管理管理 .6 6凍鈹鋨劳臘锴痫婦胫籴。3.23.2 测试用例设计方法测试用例设计方法.6 6恥諤銪灭萦欢煬鞏鹜錦。.1 等价类划分法等价类划分法 .6 6鯊腎鑰诎褳鉀沩懼統庫。.2 边界值分析法边界值分析法.7 7硕癘鄴颃诌攆檸攜驤蔹。4.4. 性能性测试性能性测试 .8 8阌擻輳嬪諫迁择楨秘騖。4.14.1 软件性能测试的目标软件性能测试的目标.8 8氬嚕躑竄贸恳彈瀘颔澩。.1 发现缺陷发现缺陷.8 8釷鹆資贏車贖孙滅獅赘。.2 性能调优性能调优 .8 8怂阐譜鯪迳導嘯畫長凉。.3 能力检验与规划能力检验与规划.8 8谚辞調担鈧谄动禪泻類。4.24.2 性能分析性能分析.8 8嘰觐詿缧铴嗫偽純铪锩。.1 性能下降曲线的分析性能下降曲线的分析.8 8熒绐譏钲鏌觶鷹緇機库。.2 性能计数器的分析性能计数器的分析.9 9鶼渍螻偉阅劍鲰腎邏蘞。4.34.3 性能测试报告和分析性能测试报告和分析.9 9纣忧蔣氳頑莶驅藥悯骛。4.44.4 软件性能测试工具软件性能测试工具 L LOADOADR RUNNERUNNER.9 9颖刍莖蛺饽亿顿裊赔泷。5.5. 总结总结 .1010濫驂膽閉驟羥闈詔寢賻。注注释释 .1111銚銻縵哜鳗鸿锓謎諏涼。参考文献参考文献 .1212挤貼綬电麥结鈺贖哓类。致谢致谢 .1313赔荊紳谘侖驟辽輩袜錈。11 绪论软件质量是软件产品或服务的特征或特征的整体,它取决于满足给定需求的能力。我国 1996 年公布的“计算机软件工程规范国家标准汇编”中关于软件质量的定义如下:塤礙籟馐决穩賽釙冊庫。(1)软件产品满足给定需求的特征及特征的总体能力; (2)软件拥有所期望的各种属性组合的程度;(3)顾客或用户认为软件满足他们综合期望的程度;(4)软件组合特性在使用中,将满足用户预期需求的程度。软件功能性是为了发现软件功能错误而执行程序的过程,因此软件功能性测试目的就是尽可能多地发现并改正软件中的功能错误,以提高软件质量。裊樣祕廬廂颤谚鍘羋蔺。软件性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。仓嫗盤紲嘱珑詁鍬齊驁。1.1 课题背景随着人类社会的进步,各种领域应用计算机技术的普及,全球的信息化已经有了长足深入的发展,作为计算机“灵魂”的各种软件系统,时时刻刻的出现在各个场合,为人们的办公、生活、学习、休闲等提供了前所未有的方便。当一个软件由雏形前进到真正在一台计算机上运行的时候,没有人能够保证制作出的软件能够一步到位的满足客户或使用者的需求,以及良好的使用体验,因此软件生产周期中需要一个环节来检验并保证软件具备了人们期望的功能与运行的稳定,并且确认这些功能以正确的方式完成了人们期望的工作。因此为了满足这样的要求,应运而生了软件功能性测试技术与软件性能性测试技术1。绽萬璉轆娛閬蛏鬮绾瀧。1.2 研究意义软件功能性测试是一种以用户视角进行的验证软件是否满足预期需求、是否具备预期功能、功能是否正确执行的测试方法。在实际情况中软件功能复杂而多样,如何保证所有功能都被加以检测,理论上只有采取穷举输入法,把所有可能2的输入都作为测试情况进行考虑,才能查出程序中的所有错误 。但实际上将软件所有功能点及所有的输入进行穷举验证是不现实的,所以我们需要进行有针对性的测试,通过制定测试方案指导测试的进行,保证软件有组织、按步骤、有计划的进行测试。因此功能测试行为必须能够加以量化,才能真正保证软件功能的质量。骁顾燁鶚巯瀆蕪領鲡赙。软件性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。瑣钋濺暧惲锟缟馭篩凉。研究软件功能性与性能性测试方法即是研究如何分解软件中的功能点,建立测试用例来将测试量化的办法 。作为一名计算机专业的学生,掌握软件功能性测试的方法与技2术,对提高自己的专业技术水平,丰富软件工程知识,以及为今后参加工作打下基础都是具有理论价值和实际意义的工作。鎦诗涇艳损楼紲鯗餳類。1.3 国内外发展的现状为推进和协调软件测试的研究工作,1999 年在美国洛杉矶召开的第 21 届国 际软件工程会议上,软件测试及其过程作为技术专题开展了讨论。近年来,国外 在软件测试过程方面的理论和技术上均有了很大的发展,形成了一套较为完善的 3软件测试过程技术和管理理论体系,测试方法与手段日趋成熟和多样化。栉缏歐锄棗鈕种鵑瑶锬。软件测试在我国起步较晚,但在软件测试管理、软件测试技术以及软件测试 工程方法上取得了一些研究成果。例如,中国科学院计算技术研究所进行的软件 测试方法研究,华中科技大学计算机学院基于并行工程的软件测试模型研究,上海计算机软件技术开发中心进行的软件测试管理研究等。研究表明,软件测试的4过程必须在软件投入生产运行之前尽早开始,提高软件质量。然而,无论是传统还是最新的软件测试理论和技术,在软件测试管理、测试过程的理解和实施方法上仍然存在着局限性,因此,在实施测试过程改进的工作中,不能直接照搬他人的成功经验,要结合所在组织和具体项目研究适用有的 改进方法。辔烨棟剛殓攬瑤丽阄应。在国内大部分软件开发组织依然存在“重开发,轻测试”的现象,对于软件功能与性能质量的控制并不重视,但一些电信通讯或软件外包公司等高端领域的开发企业已经开始意识到软件测试对保证和提升软件质量与软件运行稳定性的重要性,并逐步加大了对产品 测试的力度及相关测试方法的学习和研究。峴扬斕滾澗辐滠兴渙藺。1.4 研究内容本课题通过对软件功能性测试的概念和方法的研究,分析了软件功能性测试中功能测试流程、测试用例建立规则及测试性能的建立方法。并对实际应用软件进行功能性测试与性能性测试。詩叁撻訥烬忧毀厉鋨骜。1. 介绍课题来源、研究背景、国内外研究现状以及论文的目标与主要内容。2. 介绍相关的软件测试基本理论,分析针对几种不同软件项目模型下的功能测试策略。3. 介绍软件功能性测试概念、功能性测试方法。4. 介绍软件行能性测试概念、性能性测试方法、软件性能测试工具 LoadRunner。5. 对功能测试与性能测试方法进行总结,并结合在实习单位测试功能中总结经验教训2 功能性测试基本理论2.1 软件功能测试的定义早期的测试理论通常使用黑盒测试的概念定义功能性测试,但经过测试技术的不断发展,仅以功能性测试作为黑盒测试的全部过程已经不能满足软件质量的要求,因此功能性测试的内容被更加细化,目标及其定义也变得更加明确。则鯤愜韋瘓賈晖园栋泷。恰当的功能性测试被定义为:根据软件产品的特征、操作、描述和用户方案对软件3系统特性和可操作行为进行测试,以确定它们满足需求中预期功能性的行为 称为软件的功能性测试。5 胀鏝彈奥秘孫戶孪钇賻。功能测试通常在已知软件应当具有哪些功能后,以用户角度来进行程序功能的使用,参照需求分析和规格说明书作为评定标准,以确保软件中各个可以功能满足用户需求,并且功能可以有效运行。鳃躋峽祷紉诵帮废掃減。2.2 功能测试在测试阶段中得定位一般来讲,对软件产品进行的测试统称为软件测试,软件测试大致可分为单元测试、集成测试、功能测试、性能测试、兼容性测试、可靠性测试、验收测试6等 7 个阶段,软件的功能性测试属于软件测试中黑盒测试的一部分。稟虛嬪赈维哜妝扩踴粜。 软件的功能性测试是在单元测试与集成测试完成后进行的一项检验软件功能是否符合预期要求及功能正确性的测试过程7。陽簍埡鲑罷規呜旧岿錟。2.3 软件性能的指标为了能够客观地度量软件的性能,人们定义了一系列性能指标,比便于在不同情况下度量软件的性能。合理的性能指标应该记能够以客观的方式进行度量,也能够基本与人对软件性能的主观感受比较一致。之所以人们在性能测试中使用多种性能指标,是因为不同人员对软件性能的视角不同,关注点也不同。沩氣嘮戇苌鑿鑿槠谔應。 图 2-1 显示了功能测试与性能测试在软件测试过程中的定位,及测试进行的顺序。图 2-1 软件测试中的功能测试因此,功能性测试与性能性测试的开展是有前提条件的。在软件未实现功能的集成前进行的单一功能测试都含有风险,无法保证后续集成进的模块不会对之前正确的功能带来负面影响。钡嵐縣緱虜荣产涛團蔺。2.4 基于软件模型的功能测试策略软件测试工作是有组织有计划的对某个软件进行的缺陷暴露工作。因此为了做到有计划有针对性,在不同软件开发模式下都应当有相对应的软件开发模型,使得测试工作能够满足整个软件制造流程的风格要求,并且能与各阶段顺畅衔接。懨俠劑鈍触乐鹇烬觶騮。2.4.1 原型模型原型模型是指在软件开发过程中,开发方通过制作形象化的模型展示最终软件系统的外观(原型体现软件的功能外观,并辅以功能机制说明来掩饰工作流程与处理逻辑,并非实际的软件程序) ,来响应客户需求的方法。在基于原型模型进行的开发中,开发方4和客户在项目初始阶段不断审评该原型,以最终确定的软件原型生成系统需求、规格说明书,并以此作为项目开发的基础。謾饱兗争詣繚鮐癞别瀘。因此,在测试以原型模型进行的项目的功能时,评判功能是否完备、以及功能是否正确的标准来自最终的系统需求、规格说明书,并且功能测试应当在根据需求、规格研发出软件实体之后进行。呙铉們欤谦鸪饺竞荡赚。根据以上分析,基于原型模型的功能测试应如图 2-2 所示。 图 2-2 基于原型模型的功能测试原型模型是比较简单的软件工程模型,依照此模型进行的功能测试只能测试出软件产品针对于需求、规格说明文档中不符的缺陷。对于软件需求中存在的错8误,通过基于此模型进行的功能测试是很难发现其缺陷所在的。莹谐龌蕲賞组靄绉嚴减。2.4.2 V 模型 V 模型是在古老的瀑布模型基础上演变而来的软件工程模型,由于将软件开发与测试构造成一个 V 字形而得名。V 模型中的功能测试被定义在了整个软件开发过程的后半部分,它强调了测试活动与软件设计间的关系,将软件实现和验证有机的结合起来,以确保较高的软件质量。在 V 模型中各个测试阶段的测试标准都参考相对应的设计文档,若测试出缺陷则通过相对应的文档入手返回开发阶段按照模型一次修改。麸肃鹏镟轿騍镣缚縟糶。 因此,在测试以 V 模型进行的项目时,功能测试的依据主要来自于软件的概要设计、规格说明书,以验证集成在一起的软件系统是否符合概要设计、规格说明书内的要求。 納畴鳗吶鄖禎銣腻鰲锬。根据以上分析,基于 V 模型的功能测试应如图 2-3 所示。图 2-3 基于 V 模型的功能测试V 模型是标准的软件开发模型,具备完善的各类设计与文档,功能测试阶段具有自己独立的测试参考标准概要设计,因此在进行功能测试的时候只需要分析概要设计中对软件功能的描述,即可对系统进行测试6。但使用 V 只有在后期的功能测试中才可发现前期设计上面的问题,发现缺陷后需要较多的工序来进行修改。虽可保证软件产品的5质量,但是整个周期较长。風撵鲔貓铁频钙蓟纠庙。2.4.3 PTGM 测试过程模型 与功能性测试相比,性能测试的复杂性更高,测试执行的困难更大,对测试工具的依赖也更强,更需要过程模型的指导。图 2-4 给出一个性能测试的过程模型性能测试通用模型(Performance Testing General Model,PTGM),该模型的实质是将针对功能测试的自动化测试模型进行适当调整,以适应性能测试的需要,在第四章中进行详细介绍9灭嗳骇諗鋅猎輛觏馊藹。图 2-4 PTGM 模型示意图3. 功能性测试方法3.1 功能性测试流程功能性测试按步骤可划分为 7 个部分,即获取测试系统、测试方法选定、进行测试需求分析、功能点分解、建立测试用例、测试执行、BUG 管理。 铹鸝饷飾镡閌赀诨癱骝。图 3-1 展示了功能性测试经历的 7 个步骤。图 3-1 功能性测试流程6每一步按照箭头所示方向向下进行,最终完成功能性测试过程。3.1.1 测试需求分析 测试需求分析阶段是研究用户需求,完全理解用户对软件所需求的完功能,并确认用户对软件功能的需求,建立可评判的、可验证的基本依据的的过程。攙閿频嵘陣澇諗谴隴泸。因此,测试需求分析阶段就是对用户需求的理解过程,通过研究需求分析文档把用户想要哪些功能摸清,把用户对于每个功能想要达到的目标摸清,就完成了测试需求的分析。趕輾雏纨颗锊讨跃满賺。3.1.2 功能点分解软件的功能繁多而复杂,即使是单一的文本输入框在功能测试时也不只是测试能否输入文本这么简单,能输入的最大字符长度、可输入的字符类型、输入超过超过规格限定的数据时的系统反馈等都是需要进行测试的项目。夹覡闾辁駁档驀迁锬減。功能测试的功能点分解阶段即是将软件中所有功能的测试点分解出来,建立一个可视化的、有规律的、全面性的文档指导之后的测试用例建立,以及测试执行时覆盖这些功能点的依据。视絀镘鸸鲚鐘脑钧欖粝。3.1.3 建立测试用例建立测试用例阶段在功能分解之后进行,此阶段主要进行的是根据测试需求分析阶段获得的功能正确性评判依据对分解出的每个功能点进行测试执行时具体操作的规划。建立出的测试用例集可偽澀锟攢鴛擋緬铹鈞錠。以作为执行测试时每一步操作的依据,并记录测试执行的结果以备分析缺陷情况使用。3.1.4 测试执行测试执行阶段是在之前的准备工作完成后具体实施测试操作的环节,在此环节中通过已建立的评判体系对系统各个功能点进行验证,以求暴露出所有存在的缺陷。通过实习期间的亲身体会,在测试执行时,一昧的按照测试用例去执行,以期单纯的使用这样的方法来发现软件缺陷往往是不够的。更多时候,需要测试操作者通过自己已有的知识、经验和灵感增加随机的测试用例,丰富按照固定模式生成的测试用例集的覆盖的场景,才可更多的暴露出软件潜藏的缺陷与不足。緦徑铫膾龋轿级镗挢廟。3.1.5 BUG 管理BUG 管理阶段是对已发现的软件缺陷进行确认、上报、跟踪、回归的过程10。在测试执行中发现的软件缺陷应通过有序、详细、规范的 BUG 汇报呈现出来,以方便开发人员根据缺陷产生条件定位错误原因。在 BUG 被修改时,测试人员应当密切关注 BUG 的状态以及修复情况,积极与开发员人沟通,摸清 BUG 产生的原因。待缺陷被修复后通过输入缺陷产生的条件来验证修复完成度。騅憑钶銘侥张礫阵轸蔼。BUG 管理阶段是功能测试中非常重要的阶段,只有将发现的缺陷处理好,才能真正改善软件功能质量。73.2 测试用例设计方法针对分解出的不同功能项,在生成测试用例时应采用合适、恰当的测试方法生成测试用例,但实际情况下需要考虑更多的问题,有时需要测试设计人员根据经验编写出恰当的测试用例,以下介绍常用的生成测试的方法,包括:等价类划分法、边界值分析法。疠骐錾农剎貯狱颢幗騮。3.2.1 等价类划分法等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数的代表性数据当作测试用例的方法。等价类是指某个输入域的子集合。每一子集合代的代表性数据在测试中的作用都是等效于这一子集合中的其他值。如果这一类中的一个例子发现了错误,则这一类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。这就可以用少量代表性的测试数据取得较好的测试结果。使用这一方法设计测试用例,必须在分析需求规格说明、功能说明的基础上找出每个输入条件,然后为每个输入条件划分两个或多个等价类,列出等价类表。等价类可分为有效等价类和无效等价类。11 镞锊过润启婭澗骆讕瀘。有效等价类:有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据所构成的集合。无效等价类:与有效等价类相反,是指由对程序的规格说明不合理或无意义的输入数据所构成的集合。在划分等价类时应遵循以下基本原则:1) 在输入条件规定了取值范围或值的情况下,则可以确立一个有效等价类和两个无效等价类;2) 在输入条件规定了输入值的集合或规定了“必须如何”条件的情况下,可确立一个有效等价类和一个无效等价类;3) 在输入条件是一个布尔值的情况下一个有效等价类和一个无效等价类;4)在规定了输入数据必须遵守的规则的情况下,可确立一个符合规则的有效等价类和若干个不符合规则的无效等价类(以不同角度违反规则) ; 榿贰轲誊壟该槛鲻垲赛。5)在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。邁茑赚陉宾呗擷鹪讼凑。3.2.2 边界值分析法 边界值分析法用于列出单元功能、输入、状态及控制的合法边界值和非法边界值,对数据进行测试,检查用户输入的信息、返回结果以及中间计算结果是否正确。是用来补充等价类划分的测试用例设计方法。边界值分析法用于考察正处于等价类划分边界或在边界附近的状态,选择输入和输出等价类的边界,选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。典型的边界值分析包括 if 语句中的判别值、定义域、值域边界、空或畸形输入等12。嵝硖贪塒廩袞悯倉華糲。 在对边界值设计测试用例时应遵循以下基本原则:81)若输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据;该栎谖碼戆沖巋鳧薩锭。2) 若输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据;3) 若程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个原则作为测试数据;4) 若程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。4. 性能性测试4.1 软件性能测试的目标由于软件的性能在开发时难以准确确定,而且影响软件性能的因素不仅仅包括软件本身,因此软件性能测试的目标不仅仅是发现(和改正)性能缺陷(Performance Bug) ,还包括探索和规划软件的实际性能,具体而言,软件性能测试包括以下几方面的目标。13劇妆诨貰攖苹埘呂仑庙。4.1.1 发现缺陷和其他测试一样,性能测试的首要目标是发现缺陷。对于软件而言,在开发阶段完全避免引入缺陷几乎是不可能的,性能缺陷也是如此。由于性能缺陷的揭示必须基于整个系统的运行,此时的性能测试一般是伴随系统测试进行的。通常,性能测试需要精心设置测试环境。例如,某软件有这样的性能需求“在电脑配置一定的情况下,最多支持多少台抓拍机” ,则需要在模拟多台抓拍机并发运行环境的基础上才能测试该电脑最多支持多少台抓拍机同时使用。臠龍讹驄桠业變墊罗蘄。4.1.2 性能调优性能调优类似于其他测试中得调试。人们一般 不把调试看做测试的一个环节,但测试的确应该为调试提供更多帮助,否则即使发现软件中有错误也不得不发布包含错误的软件。与调试不同的是,性能调优并不一定针对发现的性能缺陷,也可能是为了更好地发挥系统的潜能。鰻順褛悦漚縫冁屜鸭骞。4.1.3 能力检验与规划由于软件的实际使用场景在未来可能发生变化,软件性能测试不但需要测试软件在规定的场景下是否满足性能需求,往往还需要测试在其他场景下是否满足性能需求或能否通过性能调优满足要求。穑釓虚绺滟鳗絲懷紓泺。4.2 性能分析4.2.1 性能下降曲线的分析对于性能测试来说,分析“性能下降曲线”往往可以获得许多重要信息。所谓性能下降曲线,就是指性能指标随用户的增加而变化的曲线,由于性能总体来说是随用户数9的增加而下降的,故称为性能下降曲线。一般来说,分析性能下降曲线会把曲线分为以下几个区间。隶誆荧鉴獫纲鴣攣駘賽。1)性能平坦期:随着用户数的增加性能指标首先会出现一个平坦区。是软件运行的正常状态,因此人们希望该期间越长越好。而该指标对于性能分析和性能调优有重要的参考意义。浹繢腻叢着駕骠構砀湊。2)性能轻微下降期:当用户数继续增加,就会出现性能轻微下降区。通常认为该下降区是软件承受高负载的缓冲区,该区间也是越长越好鈀燭罚櫝箋礱颼畢韫粝。3)性能急剧下降区:通过性能轻微下降区,软件的性能会出现急剧下降。此时,不是软件运行的正常区间,但该区间对于分析性能瓶颈缺有很大作用。一般来说,性能急剧下降区的起始点(也称性能拐点)就是性能瓶颈出现的地方,此时进一步分析资源利用率就可以找到造成性能瓶颈的原因13。惬執缉蘿绅颀阳灣熗鍵。4.2.2 性能计数器的分析性能测试其实就是一些测试数据的体现与现有测试资源的综合利用的指标,这些指标通常可以利用操作系统、应用服务器或数据库服务器提供的命令或系统调用获得。贞廈给鏌綞牵鎮獵鎦龐。4.3 性能测试报告和分析性能测试报告和结果分析是在测试执行完成以后,对性能数据进行采集结果收集工作和针对性能测试过程中暴露的问题进行分析的阶段。性能测试报告是对性能测试过程中的监控结果以及报表进行汇总,按照一定的模板整理出的一份结论性文档。开发团队和性能测试团队应依据对性能测试实施过程中监控和记录的数据和表格,分析系统中存在的性能问题和程序缺陷。并有针对性的在报告中阐述问题、分析原因、提出解决或优化方案。14嚌鲭级厨胀鑲铟礦毁蕲。4.4 软件性能测试工具 LoadRunner作为软件质量控制中的重要一环,性能测试已经越来越受到软件开发商和用户的重视,成为软件测试的重中之重。性能测试通常在系统测试阶段执行,常常与强度测试结合起来,一般需要使用测试工具。一个优秀的软件测试工具,不仅可以辅助测试工作,满足科学测试的基本要求;而且可以自动化测试过程,节约大量的时间、成本、人员和资源,提高软件产品的质量。目前市场上主要使用的测试工具有微软公司的 WAS(Web Application Stress Tool)、 RadView 公司的 WebRunner、HP(Mercury)公司的LoadRunner。下面以 LoadRunner 为例。简单介绍软件测试工具的工作流程。薊镔竖牍熒浹醬籬铃騫。LoadRunner 是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能检测来确认和查找问题,能够对整个企业架构进行测试。通过使用LoadRunner,企业能够最大限度的缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner 能支持广泛的协议和技术,功能比较强大,可以为特殊环境提供特殊的解决方案。LoadRunner 由下面三部分组成:Virtual UserGenerator 用来录制脚本、编辑脚本 Controller 用来布置测试场景、执行测试场景;Analysis 用来对测试结果进行分析。齡践砚语蜗铸转絹攤濼。10用 LoadRunner 进行负载测试的流程通常由五个阶段组成:计划、脚本创建、场景定义、场景执行、监视执行和结果分析。151)计划负载测试:定义性能测试要求,例如并发用户的数量、典型业务流程和所响应时间;根据软件项目相关需求,定义相关测试的细节,撰写性能测试报告。2)创建 Vuser 脚本:将最终用户活动捕获到自动脚本中 LoadRunner 的脚本是 C 语言代码,LoadRunner 有自己的一整套函数接口,可以供外部调用。脚本可分INIT、ACTION、END 三部分,其中:INIT 部分可以理解为初始部分。ACTION 可以理解为事务部分,也是测试的主体,END 是退出结束。当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本的灵活性。一般情况下,我们通过以下几种方法来完善测试脚本。插人事务、插入结合点、插入注解、参数化输入。3)定义场景:使用 LoadRunner Controller 设置测试环境;录制好脚本之后,就可以把脚本加入到场景里面去了,这里只介绍一下 LR 的场景类型。绅薮疮颧訝标販繯轅赛。LR 的场景类型: Manual Scenario:该项要完全手动的设置场景,这项下面还可以设置为每一个脚本分配要运行的虚拟用户的百分比,可在 Controller 的 Scenario 菜单下设置。饪箩狞屬诺釙诬苧径凛。5. 总结软件测试本质上是一种“比对”技术,测试就是试图制定一种可判定是非的规则和标准,从而用以确认软件是否满足其预定设计规格。目前,软件测试最核心的技术是用例技术,用例是当前承载这种规则和技术的唯一手段。为了保证测试用例的正确有效建立,测试设计人员对于软件需求、规格的熟悉程度、分析力度以及建立测试用例的方法正确性是至关重要的,只有保证了透彻分析用户需求,熟悉软件规格,采用正确的用例建立方法才能获得有意义,有价值的功能测试与性能测试的结论。烴毙潜籬賢擔視蠶贲粵。本文通过对软件功能性测试方法的研究,阐述了功能测试的基本模型理论,在软件项目基于不同开发方式下进行功能测试的方式与大致策略。对功能测试一般性流程、步骤进行了划分,明确了各阶段的定义和主要任务。对性能测试的目标、分析与性能测试工具进行了解释,明确了测试了目的。鋝岂涛軌跃轮莳講嫗键。在实际项目的功能与性能测试中对传统的测试方法进行了创新的尝试,通过实例的操作,此种性能测试工具具有可行性,不仅缩短了测试环境搭建时间还提高了测试的准确性。撷伪氢鱧轍幂聹諛詼庞。11注释1黎连业,王华,李淑春.软件测试与测试技术M.北京:清华大学出版社,2009 版,第 298 页。2朱少民,全程软件测试M.北京:电子工业出版社,2007 版,第 275 页。3袁玉宇.软件测试与质量保证M.北京:北京邮电大学出版社,2008 版,第 382 页。4梁伯,许珊,徐歆恺.测试有道M.北京:电子工业出版社,2009 版,第 183 页。5李
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东耕作学自考试题及答案
- 广东房地产发自考试题及答案
- 馈电开关考试题及答案
- 押题宝典教师招聘之《幼儿教师招聘》模考模拟试题及答案详解(有一套)
- 课件春晓教学课件
- 客户服务考试题及答案
- 课件时间控制
- 镁氯化工数字化技能考核试卷及答案
- 聚氯乙烯塑料配制工安全规范考核试卷及答案
- 京剧练功考试题及答案
- 静脉导管常见并发症临床护理实践指南1
- 启东事业单位考试真题2022
- 导尿术导尿术课件
- 燃气轮机控制系统
- 规划用地性质调整论证报告
- 法考客观题历年真题及答案解析卷二(第3套)
- YS/T 261-2011锂辉石精矿
- 公路水运项目危大工程专项方案技术培训课件
- 五大连池市财政资金支出审批管理办法
- 货币与金融统计学课件
- 《资本论》解读课件
评论
0/150
提交评论