基于UML序列图测试方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于UML序列图测试方法

基于UML序列图测试方法   摘要:提出了一种基于UML序列图的面向对象类簇级测试的方法。这种方法根据序列图进行分析提取类交互信息和用户的输入数据生成测试用例,并根据序列图对代码进行插桩,构造测试模块;最后测试驱动器执行测试模块得到测试结果。 该方法也支持UML2.0 中为序列图添加的新特征。??   关键词:规格说明;面向对象;统一建模语言;序列图;软件测试??   中图分类号:TP391.76文献标志码:A   文章编号:1001-3695(2008)01-0151-03      随着面向对象技术的不断发展,软件系统的设计和实现变得越来越复杂,如何对面向对象的软件系统实施有效的测试显得至关重要。在软件测试中,基于规格说明测试是一类重要方法。UML作为一种图形化建模语言,在面向对象软件分析与设计中得到了广泛应用。因此,基于UML的软件测试的研究具有重要意义。??   序列图(sequence diagram)作为UML交互图(interaction diagram)的一种,在面向对象测试中用于进行类间交互正确性的测试。当前已有许多文献对基于UML序列图的测试进行了研究。文献[1]中将序列图或协作图转换为合同规格说明,然后使用文献[2]中提出的TACCLE方法进行类簇级测试。文献[3]在现有的UML标准基础上对序列图的概念进行了扩展,引入了新的序列图模型。文献[4]中用序列图作为规格说明来生成JUnit测试用例。在文献[5]中介绍了可测试序列图(testable sequence diagram)的概念,并实现了相关工具。然而这些研究中还存在一些问题:例如文献[4]中难以实现对象之间的交互;文献[5]中仅对UML1.0的特征进行了分析和处理,而对UML2.0中的新特性未提供解决方案。??   本文对文献[5]中提出的基于可测试序列图的测试方法进行了改进,并提出了对UML2.0中序列图的新特性的解决方法。??      1基于UML序列图的测试??      序列图是UML交互图的一种,表述各组对象如何以某种行为进行协作的模型。序列图的抽象级别是类簇级的,所以使用序列图作为规格说明的测试是类簇级的。而测试的内容则包括序列图中的对象与对象方法之间的交互。??   1.1基于可测试序列图的测试??   1.1.1基本概念??   文献[5]中提出了可测试序列图的概念。一个可测试序列图应包含一个对象方法调用序列,这个对象方法序列在实现的系统运行中也应该被调用。下面列出了作为可测试序列图需要满足的条件:??   a)仅一个活动者(actor)作为测试驱动器;??   b)除测试驱动器对象外,至少存在一个对象;??   c)序列图中的对象必须都有对应的接口或类;??   d)每个非类方法的调用都只有一个名字(用于序列图的合并);??   e) 序列图中的第一个方法是由活动者用来初始化的;??   f) 每个方法调用均是与对应对象方法相关联的;??   g)方法调用序列是在单线程中的相互调用(无并发的进程、异步调用和条件逻辑)。??   通过可测试序列图生成测试用例需要获取在序列图中被调用方法的详细信息,这些信息包括:顺序;名称;对应的对象名称;参数和返回值。??   这些信息称为测试用例数据集。一个测试用例数据集就构成了可测试序列图的一个测试用例。相应地将序列图执行一次得到的方法调用信息称为执行数据集。??   1.1.2测试方法??   基于可测试序列图的测试方法描述如下:??   a)用户输入序列图中被调用方法的参数和返回值,通过分析序列图,结合用户的输入得到测试用例数据集。??   b)根据序列图对代码进行插桩,以获取代码执行时方法调用信息。取出测试用例数据集内的第一个被调用的方法以及调用参数,利用插桩后的代码生成的调用该方法的代码作为测试模块。??   c)测试驱动(test driver)执行测试模块,执行过程中每次进入方法调用和退出方法调用均会得到相应的方法调用信息,执行完测试模块后,由这些调用方法信息得到执行测试数据集。??   d)测试驱动通过比较执行数据集和测试用例数据集来判断测试用例数据集执行是否成功。如果两个数据集的内容相等,就表示系统在测试中表现出了期望的行为,此次测试用例数据集执行通过;否则执行失败。??   1.2存在的问题??   1.1节中描述了可测试序列图的测试方法,这种方法还存在以下问题。??   1.2.1UML 2.0扩展??   1.1.1节中所列出的条件基于UML 1.0的,在UML 2.0中为序列图添加了一些新特征,如交互、交互事件、组合片段、交互操作数及交互操作符等。交互操作符又包含选择(alternatives)、并发

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档