基于UML的面向对象的类测试研究

基于UML的面向对象的类测试研究

张术梅[1]2006年在《基于UML的软件测试用例自动生成技术的研究》文中进行了进一步梳理软件测试是软件开发中极为重要的过程,通常,测试在整个软件开发过程中所占的比例约为40%,因此测试技术的发展对于缩短测试周期、降低维护成本、提高软件质量有重要意义。软件测试在软件开发过程中有着越来越重要的地位。它贯穿于软件定义与开发的整个期间即整个软件开发过程。而测试用例的生成设计又是软件测试过程中的难点和重点所在,而它的主要依据应该来自于软件需求和软件设计。统一建模语言(UML)是一种通用的图形化语言,在面向对象系统的分析和设计中,它已经成为事实上的工业标准。随着UML在软件界的应用日益广泛,基于UML的软件测试也日益引起人们的重视。现今,软件测试界对基于UML的软件测试研究主要集中在UML状态图和活动图,并提出了一些相应的分析方法。目前虽然面向对象的程序设计方法在全世界范围内得到广泛应用,但是相对而言对面向对象软件测试方面的研究却是非常滞后的。另一方面,目前基于UML模型的测试用例自动生成技术的研究主要集中在类的层次,而且大多数是以State Diagram为基础进行分析的。类级测试的一个重要方面就是对类状态的测试。基于状态的测试主要考察类的实例在其生命周期各个状态下的情况。这类方法的优势是可以充分借鉴成熟的有限状态自动机理论。类的基于状态的测试是目前面向对象软件测试技术研究的热点问题之一。这方面研究的基本方法之一就是利用传统的基于扩展有限状态机的状态测试方法,其核心问题是测试用例自动生成方法的研究。本文的研究主要针对叁点,一是关于状态的研究,二是关于模型的研究,叁是测试用例的创建及其对应用程序进行的测试的过程的研究。在总结类的基于状态测试的理论基础上,结合UML的状态图和类图模型,研究和探讨了状态识别(预测)方法,其中引入了状态不变量对状态进行预测;将UML模型转变成代码,使模型和代码保持一致性;测试用例的创建及其对应用程序进行的测试的过程。

梁利亭[2]2010年在《基于UML的面向对象的软件测试研究与应用》文中研究说明在现今的软件开发中,软件测试是保证软件质量的重要手段。随着软件开发技术的不断发展,面向对象的软件开发技术的全面应用,给软件测试带来了新的挑战,对面向对象的软件测试技术的研究也就越来越重要。本文首先分析了软件测试的起源,国内外在软件测试上面的各种理念和发展。从软件测试的角度分析了软件测试的分类以及常用的软件测试模型,软件测试当中质量的分析和质量的评估。现在软件测试当中最重要的是面向对象的软件测试技术,它的新的特性封装性,继承性,多态性给软件测试技术提出了新的挑战。在面向对象的软件测试技术当中所面对的层次和数据流基础上。指出了面向对象的软件测试的几个重要的阶段单元测试,集成测试,系统测试所使用的常用的方法。重点论述了面向对象的软件测试当中最常用的UML技术,利用UML图在面向对象的开发过程和测试阶段的对应关系。本文的重点是利用UML知识,对面向对象开发的IPv6网络监控系统的各个测试阶段生成不同的测试用例。根据UML状态图,基于数据流的分析技术,生成了对IPv6网络监控系统单元测试的测试用例。根据活动图,生成了IPv6网络监控系统集成测试的测试用例。以上工作为IPv6入侵检测系统提供了相关测试用例,最后针对该系统设计了测试管理流程和相关保障,具体的测试执行流程,为顺利的完成IPv6入侵检测系统的软件测试提供了保障。

苏荟[3]2005年在《基于UML的面向对象软件簇级测试方法研究》文中研究指明随着面向对象软件开发方法的广泛应用,针对于此的测试方法也得到了越来越多的重视。面向对象软件的特征,如封装性、继承性、多态和动态绑定等,这些特征的引入增加了测试的复杂性。使得针对于此的测试与传统的软件测试有很大的不同。特别是针对类级和簇级的测试,给测试带来了很大的困难。 统一建模语言UML具有定义良好、易于表达、功能强大的特点,不仅支持面向对象的分析和设计。而且支持从需求分析开始的软件开发的全过程。UML的目标是以面向对象的方式来描述任何类型的系统。它提供了非常丰富的图例模型,为将其引入到软件测试中提供了可能。 本文讨论了面向对象软件的特点及其对测试的影响,同时分析研究了面向对象软件簇级测试的方法。本文研究设计了一个基于UML顺序图的簇级测试的模型,该模型主要针对C++语言。它以UML顺序图为OO软件测试的重要依据,通过对UML文档的信息提取;同时,对源代码插装,以提取程序运行时类间实际的交互信息。在此基础上,编译、运行插桩后的代码,分析测试结果,生成测试报告。

丁娜[4]2012年在《带OCL约束的活动图多态测试方法的研究》文中研究表明目前基于UML模型的软件测试是面向对象软件测试技术研究的重要方向。UML是一种流行的面向对象建模语言,其活动图模型具有描述系统工作流程和并行活动的能力,是集成测试和系统测试的重要依据。但是UML是一种半形式化建模语言,在提供灵活的建模方法的同时,也带来了无法精确的描述系统模型的问题。而且UML模型不能直接描述系统中的多态特性,所以目前的测试研究大多忽视了多态性。本文在上述背景下,研究基于活动图生成多态测试用例的方法,实现对面向对象软件中多态性的测试,这在理论和技术方面均具有重要意义。本文从UML约束扩展机制出发,利用对象约束语言OCL描述模型元素的约束信息,从而获得精确的UML模型。接着为了能够从UML模型中提取多态测试用例,本文研究了类图、活动图的结构信息,以及在类图中加入OCL约束的方式,提出了类图、活动图的形式化方法,并给出具体的形式化定义。深入研究面向对象设计原则和设计模式的相关知识,分析多态性产生的原因,并根据类图中继承信息、Liskov替换原则和OCL约束信息,提取出多态性信息—多态性方法类集(CSPM)。根据活动图中的活动节点与类中方法的对应关系,将方法的约束信息加入到活动图中,并利用CSPM寻找和扩展活动图中的多态的节点,得到带OCL的多态扩展活动图模型。对多态扩展活动图中多态节点,分支、循环和并发结构进行分析并给出在构造测试线索时的覆盖策略。设计测试用例覆盖准则,利用覆盖准则遍历多态扩展活动图获取多态测试线索。结合OCL约束信息应用等价类划分法和边界值分析法,为多态测试线索中需要输入的活动构造测试数据集合,设计测试数据的组合策略,将组合测试数据与多态测试线索结合得到完整的多态测试用例。根据上述理论研究,本文设计了基于活动图的多态测试框架,对该框架的主要模块和实现技术进行了深入研究。在对开源建模工具ArgoUML模型文件结构进行深入研究的基础上,开发了一个基于该框架的活动图多态测试用例生成工具原型。最后利用该工具针对实例进行实验验证,实验结果表明,本文所给方法生成的测试用例能够对系统中的多态性进行有效的测试,这对于提高面向对象软件测试的充分性有着重要意义。

郭荣侠[5]2009年在《基于UML的类测试技术研究与实现》文中研究说明软件测试是保证软件质量的一个重要手段。随着面向对象技术的广泛应用,特别是基于统一建模语言(UML)软件开发技术的逐渐普及,为了满足软件测试自动化的要求,基于UML的面向对象软件测试正日益受到关注。本文主要研究工作是通过实例分析UML图,生成面向对象软件不同测试级别的测试用例。论文首先分析了面向对象软件的特点对软件测试的影响、面向对象软件测试的层次划分与内容,以及UML与面向对象软件测试的关系,然后研究了基于UML的类测试技术。在对基于服务的测试技术的研究中,提出了块分支测试模式;对基于状态图的测试技术研究中,实现了状态图向扩展的有限状态机(EFSM)的转化,根据EFSM的覆盖准则研究了基于EFSM生成测试序列的方法;对基于顺序图的测试技术研究中,实现了顺序图向过程间受限控制流图(IRCFG)的转化,根据IRCFG的覆盖准则研究了基于IRCFG生成测试序列的方法。本文通过对图书馆管理系统(LMS)的实验分析,验证了所研究的类测试技术能够生成符合测试规格的测试用例,在一定程度上解决了测试用例数量膨胀的问题。

刘烁[6]2007年在《基于UML的CPN模型在软件测试中的应用》文中进行了进一步梳理软件测试是保证软件质量的重要手段,也是软件开发过程中一项非常重要的工作。一直以来,国内的很多软件企业对于软件测试的重要性缺乏足够的认识,测试水平不高,软件质量无法得到保证。质量有问题的软件会导致无法预测的后果,因而如何保证软件质量以及如何最大限度地提高软件质量就成为一个重要课题。传统的测试理论与方法并不完全适合用于新兴的面向对象软件系统。随着面向对象分析和面向对象设计的成熟,如何对面向对象软件进行测试是一个非常值得研究的问题,也是测试领域的一个难题。现代测试理论规定软件必须在其生命周期的全过程进行测试,很多测试不能简单地靠手工测试实现,必然会导致自动化测试的产生和应用。UML在被工业界广泛接受的同时也成为学术界遵循的一种标准建模语言。许多面向对象软件测试的研究都围绕从UML模型构造软件模型开展。研究基于UML模型的软件测试有利于把测试工作提前到软件开发周期的早期进行。但UML模型属于半形式化模型,往往无法自动生成测试用例。而Petri网作为离散系统的建模和分析工具,适合于描述系统中顺序、并发、冲突以及同步等关系,拥有丰富的系统描述手段和系统行为分析技术。将UML模型与Petri网相结合,能够弥补其数学支持的不足。国内已有基于Petri网模型的软件测试研究,但较为少见。国外有文献提出了CPN模型和UML图表到CPN模型的映射方法,并将其应用于模型检测领域。我们发现CPN模型经过改进也可以运用于面向对象的类测试和簇级测试。为此,本文主要做了以下几方面的工作:首先,以基于模型的测试用例的自动化生成为主线,提出了基于UML的CPN模型的测试框架。其次,在介绍国外文献中的CPN模型和UML图表到CPN模型的映射方法的基础上,针对软件测试的具体需要,对CPN模型做出了相应改进,并在时间准确性方面,进一步完善了映射的算法。再次,在研究基于状态覆盖准则的基础上,提出了库所-变迁覆盖准则,并介绍了基于此覆盖准则的测试用例生成策略。最后,构建了自动化测试用例生成工具,工具包括四个部分:模型转化工具、用例生成工具、代码插装工具和信息比较工具。实验内容主要包括使用已实现的工具,从任意包含完整信息的MDL文件中提取有用信息生成对应的CPN模型。实验证明将基于UML的CPN模型引入基于模型的软件测试是可行的。

谢丽丽[7]2007年在《基于UML的面向对象软件测试方法的研究》文中指出随着面向对象软件开发方法的广泛应用,面向对象软件测试方法也得到了人们的广泛重视。由于面向对象自身的特征,传统的测试方法已不再适用于面向对象的软件测试,因此,必须找出一种适合于面向对象软件的测试方法,这便给测试增加了难度。本文以面向对象软件的特点为依据,讨论了面向对象软件测试层次划分和测试方法等问题,并提出了一种测试用例生成的具体解决方法。 统一建模语言UML具有定义良好、易于表达,功能强大的特点,同时还提供了非常强大的图例模型。它不仅支持面向对象的分析和设计,而且支持从需求分析开始的软件开发的整个过程,这就为UML引入到面向软件测试中提供了可能。 测试用例生成是软件测试的核心问题之一,所以将测试用例设计作为本文研究的重点。本文将UML与统一软件开发过程(RUP)有效结合起来,针对面向对象软件测试的各个阶段特点,在RUP迭代的基础上,采用不同的UML图来讨论测试各个阶段中测试用例的生成方法。其中重点讨论了类簇级测试阶段的测试用例生成方法,该方法以分析、设计阶段的顺序图为基础;然后结合顺序图中交互的类的状态图合并成组合状态图;最后对组合状态图进行优化,在优化后的状态图的基础上生成测试用例。该方法完全基于UML,利用分析、设计阶段的图例,摆脱了由于编码阶段引入的错误而导致测试用例错误的情况。

刁华丽[8]2005年在《基于UML的集成测试用例生成方法的研究与应用》文中进行了进一步梳理软件测试是软件工程的一个重要阶段。随着软件工程的发展,软件设计规模的增大,软件测试的地位变得日益重要。测试用例的设计和编制是软件测试最重要的活动。测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。 目前,测试用例大多是由软件测试人员手动编写。因此,测试用例的质量完全取决于测试人员的水平。这就很难保证软件测试的质量,进而影响到整个软件产品的质量。因此,如何自动生成测试用例具有重要的现实意义。国内外,对于自动生成测试用例的研究主要集中在单元测试用例的生成上。主要以UML中的状态图为测试模型,生成针对类测试的测试用例。对于集成测试用例生成的研究,主要以UML中的通信图或顺序图作为测试模型。并且大部分研究处于理论阶段,真正投入使用的工具很少。随着UML的广泛应用,以UML中的设计模型作为测试的模型,具有重要的现实意义。 本文在总结前人研究的基础上,将UML通信图和状态图结合起来,共同作为生成测试用例的模型,用于集成测试用例的生成。该方法首先以通信图为依据确定进行集成测试的对象,然后对集成测试的对象的状态图逐步进行组合,形成既包含状态变化又包含对象之间交互的组合状态图。重点描述了两个对象或组件的状态图进行组合的方法,并给出了状态图的形式化描述,以及如何对组合状态图进行展开用于集成测试用例的生成。 为了检验该方法的实用性,作者实现了利用通信图和状态图共同生成测试用例的工具。并以实际项目为例,对该方法进行了验证。结果表明,该方法是可行的。该方法将系统的设计和测试用例的设计统一起来,是对软件测试自动化的一个探索。

杨旭文[9]2008年在《基于UML的CBTC系统区域控制器的建模与安全性验证》文中进行了进一步梳理基于通信的列车控制(Communication Based Train Control,CBTC)系统是利用连续、大容量的车地双向数字通信实现列车控制信息和列车状态信息传输的先进列车控制系统,是今后轨道交通列车运行控制系统的发展趋势。区域控制器(Zone Controller,简称ZC)是CBTC系统的核心,对应用软件设计的合理性和安全性有很高的要求。论文首先介绍了CBTC系统区域控制器的基本原理和结构,根据安全苛求系统的“V”型框架,从功能需求的角度入手,结合安全计算机平台的安全性需求,对区域控制器应用软件进行了详细的功能划分。并基于软件蓝图方法论进行了应用软件的设计,体现了结构化设计的特点。论文选择了统一建模语言(UML)及其嵌入式开发环境Rhapsody的形式化建模方法建立了CBTC系统区域控制器的模型,以区域控制器系统为模型主体,描述了区域控制器应用软件的系统模型,随后对ZC子系统中发挥关键作用的功能模块进行了具体细化,完善整体功能。通过形式化的建模和分析,有效地排除了系统原有设计中存在的矛盾、二义性、含糊性等情况,保证区域控制器应用软件切实满足功能需求和安全性需求。论文最后在建立模型的基础上,通过将模型导入高安全性应用开发环境(SCADE)中对ZC子系统应用软件的设计进行相关的安全性验证,通过对模型的模拟仿真、形式验证以及覆盖率分析,验证了设计的安全性、功能的完备性以及模型的覆盖程度,为ZC子系统的设计提供了理论依据,给应用软件设计的完善提供了参考和指导。

颜炯[10]2005年在《基于UML的软件统计测试研究》文中研究指明计算机已经广泛地应用于航空、航天、武器装备、工业控制、交通、金融和医疗等领域,这些系统越来越多地使用软件进行控制,软件是否正确运行关系到人的生命安危,软件失效会引起巨大的损失,因此这类软件被称为安全攸关软件。安全攸关软件往往都是开发费用昂贵的复杂高可信软件系统,这类软件一般都具有极高的可靠性指标。统计测试(Statistical Testing)可以用于估计和预测软件可靠性,并可以有效地提高软件质量。作为高可信软件测试的重要组成部分,统计测试是高可靠软件质量保证和软件可靠性验证的重要技术,因此得到了广泛的重视和比较深入的研究。 统一建模语言(Unified Modeling Language,UML)是一种描述能力强大且涵义直观的面向对象系统可视化建模语言,它提供多种图形元素从不同角度和应用层次描述系统特征及其运行环境。基于UML的软件开发过程和建模环境已被工业界广泛接受,其应用领域包括了航天、国防、汽车等许多安全攸关领域。因此基于UML的软件测试得到了学术界和工业界的广泛重视,基于UML的软件统计测试也成为值得深入研究的内容。 论文提出了一个从软件UML模型生成统计测试Markov链使用模型的方法:首先针对软件使用的特点,为UML用例图和序列图引入统计测试约束,并给出相应的形式定义。基于加入统计测试约束的UML模型,论文提出了一个自动构造软件Markov链使用模型的算法。在定义了加入统计测试约束的UML用例图和序列图的一致性的基础上,论文证明了当加入统计测试约束的UML用例图和序列图满足一致性要求时,根据论文的方法生成的Markov链使用模型描述了软件的使用。 由于实时软件控制系统的广泛使用和高度复杂性,对实时软件进行统计测试已经成为一项复杂而且费用庞大的工作。为了自动化实时软件统计测试,论文通过为UML序列图加入时间约束,并为UML用例图和序列图加入统计测试约束,提出了一个自动生成实时软件Markov链使用模型的方法。在定义了加入时间约束和统计测试约束的UML用例图和序列图的一致性的基础上,论文证明了当加入上述约束的UML模型满足一致性要求时,根据论文的方法生成的Markov链使用模型描述了实时软件的使用。 由于高可靠软件特别是安全攸关软件基于使用模型的统计测试开销巨大,导致统计测试往往难以进行,论文提出一种基于重要抽样技术的统计测试加速方法,在通过统计测试验证软件达到可靠性指标时,可以大大减少所需要的统计测试例数量,从而有效地提高了安全攸关软件的统计测试效率。 基于软件Markov链使用模型,论文讨论了软件统计测试例产生问题。针对实

参考文献:

[1]. 基于UML的软件测试用例自动生成技术的研究[D]. 张术梅. 大连交通大学. 2006

[2]. 基于UML的面向对象的软件测试研究与应用[D]. 梁利亭. 南京理工大学. 2010

[3]. 基于UML的面向对象软件簇级测试方法研究[D]. 苏荟. 西安理工大学. 2005

[4]. 带OCL约束的活动图多态测试方法的研究[D]. 丁娜. 重庆大学. 2012

[5]. 基于UML的类测试技术研究与实现[D]. 郭荣侠. 西安电子科技大学. 2009

[6]. 基于UML的CPN模型在软件测试中的应用[D]. 刘烁. 太原理工大学. 2007

[7]. 基于UML的面向对象软件测试方法的研究[D]. 谢丽丽. 大连海事大学. 2007

[8]. 基于UML的集成测试用例生成方法的研究与应用[D]. 刁华丽. 大连理工大学. 2005

[9]. 基于UML的CBTC系统区域控制器的建模与安全性验证[D]. 杨旭文. 北京交通大学. 2008

[10]. 基于UML的软件统计测试研究[D]. 颜炯. 国防科学技术大学. 2005

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

基于UML的面向对象的类测试研究
下载Doc文档

猜你喜欢