从功能性与性能性角度论述如何提高软件质量_毕业论文(编辑修改稿)内容摘要:
法、软件性能测试工具 LoadRunner。 5. 对功能测试与性能测试方法进行总结,并结合在实习单位测试功能中总结经验教训 2 功能 性 测试基本理论 软 件功能测试的定义 早期的测试理论通常使用黑盒测试的概念定义功能性测试,但经过测试技术的不断发展,仅以功能性测试作为黑盒测试的全部过程已经不能满足软件质量的要求,因此功能性测试的内容被更加细化,目标及其定义也变得更加明确。 恰当的功能性测试被定义为:根据软件产品的特征、操作、描述和用户方案对软件系统特性和可操作行为进行测试,以确定它们满足需求中预期功能性的行为 称为软件的功能性测试。 [5] 3 功能测试通常在已知软件应当具有哪些功能后,以用户角度来进行程序功能的使用,参照需求分析和规格说明书作为评定标准,以确保 软件中各个可以功能满足用户需求,并且功能可以有效运行。 功能测试在测试阶段中得定位 一般来讲,对软件产品进行的测试统称为软件测试,软件测试大致可分为单元测试、集成测试、功能测试、性能测试、兼容性测试、可靠性测试、验收测试 [6]等 7 个阶段,软件的功能性测试属于软件测试中黑盒测试的一部分。 软件的功能性测试是在单元测试与集成测试完成后进行的一项检验软件功能是否符合预期要求及功能正确性的测试过程 [7]。 软件性能的指标 为 了能够客观地度量软件的性能,人们定义了一系列性能指标,比便于在不同情况下度量软件的性能。 合理的性能指标应该记能够以客观的方式进行度量,也能够基本与人对软件性能的主观感受比较一致。 之所以人们在性能测试中使用多种性能指标,是因为不同人员对软件性能的视角不同,关注点也不同。 图 21 显示了功能测试 与性能测试 在软件测试过程中的定位,及测试进行的顺序。 图 21 软件测试中的功能测试 因此,功能性测试 与性能性测试 的开展是有前提条件的。 在软件未实现功能的集成前进行的单一功能测试都含有风险,无法保证后续集成进的模块不会对之前正确的功能带来负面影响。 基于软件模型的功能测试策略 软件测试工作是有组织有计划的对某个软件进行的缺陷暴露工作。 因此为了做到有计划有针对性,在不同软件开发模式下都应当有相对应的软件开发模型,使得测试工作能够满足整个软件制造流程的风格要求,并且能与各阶段顺畅衔接。 原型模型 原型模型是指在软件开发过程中,开发方通过制作形象化的模型展示最终软件系统的外观(原型体现软件的功能外观,并辅以功能机制说明来掩饰工作流程与处理逻辑,并非实际的软件程序),来响应客户需求的方法。 在基于原型模型进行的开发中,开发方和客户在项目初始阶段不断审评该原型,以最终确定的软件 原型生成系统需求、规格说明书,并以此作为项目开发的基础。 4 因此,在测试以原型模型进行的项目的功能时,评判功能是否完备、以及功能是否正确的标准来自最终的系统需求、规格说明书,并且功能测试应当在根据需求、规格研发出软件实体之后进行。 根据以上分析,基于原型模型的功能测试应如图 22 所示。 图 22 基于原型模型的功能测试 原型模型是比较简单的软件工程模型,依照此模型进行的功能测试只能测试出软件产品针对于需求、规格说明文档中不符的缺陷。 对于软件需求中存在的错 [8]误,通过基于此模型进行的 功能测试是很难发现其缺陷所在的。 V 模型 V 模型是在古老的瀑布模型基础上演变而来的软件工程模型,由于将软件开发与测试构造成一个 V 字形而得名。 V 模型中的功能测试被定义在了整个软件开发过程的后半部分,它强调了测试活动与软件设计间的关系,将软件实现和验证有机的结合起来,以确保较高的软件质量。 在 V 模型中各个测试阶段的测试标准都参考相对应的设计文档, 若测试出缺陷则通过相对应的文档入手返回开发阶段按照模型一次修改。 因此,在测试以 V 模型进行的项目时,功能测试的依据主要来自于软件的概 要设计、规格说明书,以验证集成在一起的软件系统是否符合概要设计、规格说明书内的要求。 根据以上分析,基于 V 模型的功能测试应如图 23 所示。 图 23 基于 V 模型的功能测试 V 模型是标准的软件开发模型,具备完善的各类设计与文档,功能测试阶段具有自己独立的测试参考标准 —— 概要设计,因此在进行功能测试的时候只需要分析概要设计中对软件功能的描述,即可对系统进行测试 [6]。 但使用 V 只有在后期的功能测试中才可发现前期设计上面的问题,发现缺陷 后需要较多的工序来进行修改。 虽可保证软件产品的质量,但是整个周期较长。 PTGM 测试过程模型 5 与 功能性测试相比,性能测试的复杂性更高,测试执行的困难更大,对测试工具的依赖也更强,更需要过程模型的指导。 图 24 给出一个性能测试的过程模型 —— 性能测试通用模型( Performance Testing General Model,PTGM) ,该模型的实质是将针对功能测试的自动化测试模型进行适当调整,以适应性能测试的需要,在第四章中进行详细介绍 [9] 图 24 PTGM 模型示意图 3. 功能性 测试方法 功能性测试流程 功能性测试按步骤可划分为 7 个部分,即获取测试系统、测试方法选定、进行测试需求分析、功能点分解、建立测试用例、测试执行、 BUG 管理。 图 31 展示了功能性测试经历的 7 个步骤。 图 31 功能性测试流程 每一步按照箭头所示方向向下进行,最终完成功能性测试过程。 测试需求分析 测试需求分析阶段是研究用户需求,完全理解用户对软件所需求的完功能,并确认用户对软件功能的需求,建立可评判的、可验证的基本依据的的过程。 6 因此,测试需求分析阶段就 是对用户需求的理解过程,通过研究需求分析文档把用户想要哪些功能摸清,把用户对于每个功能想要达到的目标摸清,就完成了测试需求的分析。 功能点分解 软件的功能繁多而复杂,即使是单一的文本输入框在功能测试时也不只是测试能否输入文本这么简单,能输入的最大字符长度、可输入的字符类型、输入超过超过规格限定的数据时的系统反馈等都是需要进行测试的项目。 功能测试的功能点分解阶段即是将软件中所有功能的测试点分解出来,建立一个可视化的、有规律的、全面性的文档指导之后的测试用例建立,以及测试执行时覆盖这些功能点的依据。 建立测试用例 建立测试用例阶段在功能分解之后进行,此阶段主要进行的是根据测试需求分析阶段获得的功能正确性评判依据对分解出的每个功能点进行测试执行时具体操作的规划。 建立出的测试用例集可 以作为执行测试时每一步操作的依据,并记录测试执行的结果以备分析缺陷情况使用。 测试执行 测试执行阶段是在之前的准备工作完成后具体实施测试操作的环节,在此环节中通过已建立的评判体系对系统各个功能点进行验证,以求暴露出所有存在的缺陷。 通过实习期间的亲身体会,在测试执行时,一昧的按照测试用例去执行,以期单 纯的使用这样的方法来发现软件缺陷往往是不够的。 更多时候,需要测试操作者通过自己已有的知识、经验和灵感增加随机的测试用例,丰富按照固定模式生成的测试用例集的覆盖的场景,才可更多的暴露出软件潜藏的缺陷与不足。 BUG 管理 BUG 管理阶段是对已发现的软件缺陷进行确认、上报、跟踪、回归的过程 [10]。 在测试。从功能性与性能性角度论述如何提高软件质量_毕业论文(编辑修改稿)
相关推荐
和拓展模块 ,对三个级别要求也分为基本要求、较高要求和更高要求。 这样做给每个学生以展示提高的空间 ,在同等级的竞争中让其有了斗志 ,不断的进步 ,组间的竞争产生赶帮带的效果。 3 多元化教育的评定 8 3 多元化教育的评定 多元化教育的优缺点 随着教育改革的不断深入和发展,素质教育已成为我国教育的发展方向,培养高素质全面发展的创新人才已成为全社会的共识,课程改革也由此应运而生
er contempt of feudal orthodoxy. She denies Xi Shi, and says that Xi Shi is just a kind of political tool , the victim of political struggle. Besides, she praises Hong Fu. Actually, she hopes she can
people, male and female” (Walker, 1983:77). Survival whole is the core of womanism. Walker‟s womanism is not only against the gender discrimination, but also against the inequality of race and class.
explanatory ones, revealing ones and associating ones based on the relationship between two parts. Characteristics of Twopart Allegoric Sayings “Twopart allegotic sayings is ubiquitous, vividly
师表示自己对儿童文学相关理论和作品有所了解,但在回答儿童文学的本质特征时, 仅有一位老师选择了 “ 本位说 ” ,其余的则多认为是 “ 教育说 ” 、 “ 情趣说 ” 以及 “ 多功能说 ” , 比例分别为 %、 %和 %。 另外,在征求语文教师对于儿童文学的可行推广方式的意见方面, 虽然接受调查的语文教师中 有 近六成的老师 认同需要“ 发挥家庭在儿童阅读中的作用 ”,但仍有相当一 部分教
于 ASP,Java 已经有很多非常好的开发工具 ,和许多可以是免费的 ,他们中的许多已经能够在多种平台上运行。 (5)支持服务器端组件。 web 应用程序需要服务器组件的强有力的支持 ,开发者需要通过使用其他工具实现复杂的功能 ,提高系统性能。 JSP 可以使用 JAVA bean 组件实现复杂的业务功能。 东华理工大学毕业设计(论文) 开发语言和软件平台介绍 3 软件开发平台