硕士论文-FastHelp项目测试——基于UML模型图生成测

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

山东大学硕士学位论文FastHelp项目测试——基于UML模型图生成测试用例姓名:李研岩申请学位级别:硕士专业:软件工程指导教师:李庆忠20070420FastHelp项目测试——基于UML模型图生成测试用例作者:李研岩学位授予单位:山东大学相似文献(10条)1.学位论文侯姗姗软件服务的集成测试充分性准则及其应用技术研究2009近年来,WebServices及其相关的SOA(Service—OrientedArchitecture,缩写为SOA)技术获得广泛应用,通过集成以WebServices为代表的软什服务来构造面向服务的软件系统(Service—OrientedSoftware,缩写为SOS)已经成为一种重要的软件开发的方式。相应地,在复用了高质量软件服务的基础上,如何进行软件服务的集成测试成为SOS质量保证的焦点问题。br  适用的测试充分性准则是软件服务集成测试的理论基础和指导原则。虽然以往的工作已经对集成测试充分性准则进行了探讨,但是这些准则的定义都依赖于被集成的软件制品的代码和规约。对SOS而言,其集成的软件服务的交付方式不同于其他软件制品,它们的软件实体始终运行在服务提供者一方,系统集成者(即SOS开发者)不能拥有软件服务的实体,无法获得已有准则所依赖的信息,从而无法使用已有的集成测试准则。另外,当前已有的SOS测试准则都是从单元测试的角度考虑SOS的内部结构,没有考虑SOS与其集成的软件服务之间的交互,不适用于本文讨论的服务集成测试。缺失了集成测试充分性准则这个理论基石,SOS的测试用例生成、测试用例序列化和测试用例精简等以测试充分性准则以为依据的测试场景也缺乏有效的支撑。br  本文提出一种适用于软件服务的集成测试充分性准则以及该准则的应用技术,具体工作包括:br  (1)提出一种基于服务接口合约变异的集成测试充分性准则。该准则以服务的接口合约为核心,不依赖于服务的软件实体或详细设计信息。本文首先分析了SOS的服务集成的问题,即提供者和服务集成者之间可能存在“误解”;然后将这种“误解”可能导致的集成错误建模为服务提供者和集成者对接口合约的背离;最后,设计了一组接口合约变异算子用于模拟上述集成错误,并把SOS的接口合约变异充分度作为其集成测试充分性准则。br  (2)基于上述准则,提出SOS测试用例自动生成方法。为了生成能够达到较高接口合约变异充分度的高质量测试用例,本文首先分析了杀死接口合约变异体的约束系统,包括可达性条件和充要性条件。然后,以WebServices的集成为研究载体,分别为业务流程和客户端应用程序提出基于消息序列图的测试用例生成方法和基于路径分析的适应性测试用例生成方法,旨在为被测对象生成满足上述约束系统的测试用例。br  (3)给出基于上述准则的测试用例序列化方法,并在测试用例序列化的场景下验证上述允分性准则的有效性。软件服务是运行在提供者一方的软件实体,提供者施加的任何访问约束都会影响到SOS的测试过程。回归测试通常需要大量、密集地执行测试用例,因此这种服务访问约束对回归测试的影响尤为显著。针对上述问题,本文进一步提出基于服务访问约束的测试用例序列化方法。该方法包括两种新的测试用例序列化策略,能够基于整数线性规划(IntegerLinearProgramming,ILP)对测试用例进行排序。br  (4)给出基于上述准则的测试用例精简方法,并在测试用例精简的场景下验证上述充分性准则的有效性。由于服务访问约束会对SOS的回归测试产生不利影响,本文进一步提出基于服务访问约束的测试用例精简方法。该方法把基于服务访问约束的测试用例精简问题建模为ILP问题,并对其进行求解,以期获得既能满足服务访问约束,又能最大化测试充分度的代表性子集。br  (5)设计实验验证本文提出的测试用例生成、序列化和精简方法,设计和实现上述三个方法的支持工具并集成到北京大学Java测试平台中。2.期刊论文辛欣.XINXin一种从UML模型生成测试用例方法的研究与实现-电脑知识与技术2009,5(23)测试用例生成是软件自动化测试的基础与关键.随着UML的广泛应用,基于UML模型来自动生成用例的技术日益受到关注.在UML模型中,顺序图描述了软件系统的动态行为,是软件集成测试中一个重要的来源.文中提出一种基于UML顺序图与类图相结合的方法来自动生成测试用例,定义了相应的测试覆盖准则及测试衡量标准.并用一个具体实例验证了测试用例的生成过程.最后给出了测试用例自动生成工具的框架.3.学位论文张捷基于工作流的集成测试环境的设计与实现2009软件测试是软件开发生命周期中不可或缺的一部分。自动化测试更是提高软件测试效率的有效途径。然而,虽然目前业界存在一些测试工具可以实现测试执行的自动化,但是对于整个测试流程(包括设计、调度、执行、分析等环节)的自动化仍然缺乏足够的支持。事实上,测试用例的执行不应是孤立的。首先,测试用例是相互关联的,测试用例的运行参数及其相对执行顺序都会影响测试结果的确定性,测试结果也往往需要统一作分析;另外,测试用例与测试环境也是相互关联的,测试用例必须运行于相应的测试环境当中测试结果才是有效的。br  为此,本文针对目前业界关注的软件自动化测试热点开展研究及开发,具体完成以下工作:br  第一、有别于传统的以测试用例作为执行单元的自动化测试框架,提出以“工作流”作为自动化测试框架的执行单元。工作流是测试流程的抽象,它将一组逻辑相关的测试用例关联起来作统一地管理。我们可以为工作流定义共同的测试环境参数,配置测试用例的执行顺序;运行时,执行引擎根据工作流定义配置测试环境,并以确定的顺序调度测试用例;工作流执行结束后,我们可以对测试结果作统一的分析和统计。br  第二、在工作流的基础上,本文探讨了“集成测试环境”1的设计与实现。集成测试环境本质上是一个通用的模拟测试环境的虚拟工作台,通过该工作台,测试人员可以统一地管理整个测试流程。本文通过分析集成测试环境的核心需求,提出了一个基于工作流的体系结构,并着重论述如何通过工作流引擎对测试用例进行集成和调度。另外,还通过实验数据分析验证了工作流对测试效率的提高(其中测试执行时间节省约34%,测试结果准确率提升约26%),证实了工作流的有效性。br  第三、结合作者的项目实践,本文分析了如何在开源项目STAF的基础上以较为低廉的成本搭建一个基于工作流的集成测试环境。通过这个的基于STAF的解决方案,进一步论证了本文所提出的集成测试环境的通用性。br  本文的研究表明,基于工作流的集成测试环境可以在更大的粒度上更为有效地管理整个测试流程,减少其中的人工干预,并节约了测试时间。同时,由于工作流明确地定义了测试用例相互之间、测试用例与测试环境之间的关系,工作流的自动化执行改善了测试的确定性,并提升了测试结果的准确性。4.学位论文赵静一种基于规约自动生成Tuscany集成测试用例工具的设计与实现2009ApacheTuscany提供全方位的开源SOA基础架构以利于开发、发布、组装和管理组件式服务及数据处理。然而Tuscany的集成测试有以下两个问题:一方面,Tuscany从孵化项目到正式项目的升级过程中,集成测试都以人工测试为主要手段,耗费开发人员大量时间和精力。另一方面,Tuscany基于规约来设计生成集成测试用例,需要开发人员具有相应的测试知识并进行测试用例设计。对于开源组织中的孵化项目,集成测试的通过对于其升级为正式项目显得尤其重要。基于规约描述文件来进行集成测试用例的设计是目前很多开源项目采用的方法。br  本文针对上述两个问题,提出了一种基于规约自动生成Tuscany集成测试用例工具的设计与实现的解决方案。它可以根据用户输入的规约描述文件及被测元素内容进行集成测试用例的设计与开发,从而减轻了开发者劳动量。本文使用服务器端Java技术和客户端PHP技术实现了一个原型系统,自定义了规约文档的结构化XML形式以及测试用例的生成规则,从技术层面解决上述问题。客户端用于提供规约文件的上传和获取测试用例。服务器端对结构化XML文档的内容进行分析提取,通过测试用例生成规则来设计并生成集成测试用例集,此外服务端可以自动执行测试用例并收集测试结果。br  最后,针对Tuscanv规约文档进行了18组数据实验,该原型系统能够生成覆盖组件连接方式的集成测试用例,取得了预期的效果。在原型系统的基础上,进一步的工作包括测试用例生成规则的优化及代码的完善和改进。5.期刊论文吴静莉.韩松峰.刁海南.WUJing-li.HANSong-feng.DIAOHai-nan基于UML集成测试用例的算法研究-计算机工程与设计2008,29(17)对基于状态图生成集成测试用例的方法进行了研究,通过构造集成测试模型,重点描述了两个对象或组件的状态图进行合并的方法,并给出了状态图的形式化描述,以及如何对组合状态图进行展开用于集成测试用例的生成.为了验证该方法的实用性,又以实际项目研究为例,实现了基于状态图集成测试用例的生成工具,对该方法进行了验证,并给出了算法的部分实现代码.该方法将系统设计和测试用例的设计统一起采,是软件测试自动化的一个探索.6.学位论文刁华丽基于UML的集成测试用例生成方法的研究与应用2005软件测试是软件工程的一个重要阶段。随着软件工程的发展,软件设计规模的增大,软件测试的地位变得日益重要。测试用例的设计和编制是软件测试最重要的活动。测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。目前,测试用例大多是由软件测试人员手动编写。因此,测试用例的质量完全取决于测试人员的水平。这就很难保证软件测试的质量,进而影响到整个软件产品的质量。因此,如何自动生成测试用例具有重要的现实意义。国内外,对于自动生成测试用例的研究主要集中在单元测试用例的生成上。主要以UML中的状态图为测试模型,生成针对类测试的测试用例。对于集成测试用例生成的研究,主要以UML中的通信图或顺序图作为测试模型。并且大部分研究处于理论阶段,真正投入使用的工具很少。随着UML的广泛应用,以UML中的设计模型作为测试的模型,具有重要的现实意义。本文在总结前人研究的基础上,将UML通信图和状态图结合起来,共同作为生成测试用例的模型,用于集成测试用例的生成。该方法首先以通信图为依据确定进行集成测试的对象,然后对集成测试的对象的状态图逐步进行组合,形成既包含状态变化又包含对象之间交互的组合状态图。重点描述了两个对象或组件的状态图进行组合的方法,并给出了状态图的形式化描述,以及如何对组合状态图进行展开用于集成测试用例的生成。为了检验该方法的实用性,作者实现了利用通信图和状态图共同生成测试用例的工具。并以实际项目为例,对该方法进行了验证。结果表明,该方法是可行的。该方法将系统的设计和测试用例的设计统一起来,是对软件测试自动化的一个探索。7.学位论文尚绪全构件化软件集成测试研究2005随着信息技术的发展,当前基于构件的软件开发正在被越来越广泛的应用。构件技术是面向对象技术的进一步发展,它适应了软件的大规模、短周期的开发需要,使人们能够在不同语言、不同平台下开发软件.本文讨论了面向构件软件的特点及其对软件测试的影响,同时分析了构件化软件集成测试方法——采用UML测试模型,对UML状态图进行语法扩展,使之能够描述构件间的动态交互,并结合序列图/协作图,对UML规约进行分析,从其中提取测试四要素,针对测试要素的提取,提出了相应的算法。对只具有值域自身关系的测试数据的生成,采用等价类划分和边界值分析结合的方法;对具有值域相关关系的测试数据,采用迭代松弛法产生输入数据。将获得的两类测试数据作为测试用例的输入值,根据本文提出的测试覆盖策略选取测试序列,并结合得到的测试输入值产生测试用例。8.学位论文马伟面向对象软件簇级测试用例自动生成方法与实现2005随着软件规模及其复杂度的不断增长,软件系统存在的潜在错误也越来越多。尽管编程语言、编程模型以及软件工程方法在逐步改

1 / 54
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功