基于TTCN-3测试系统的逆向模型发现框架的设计

发表于:2011-12-21 10:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:柳永坡    来源:51Testing软件测试网采编

分享:

  3、模型发现系统框架设计

  一般来说,逆向工程包括如下两个部分:一是识别构件并分析构件之间的依赖关系;二是建立系统的另外的或在更高抽象级别上的表达形式。逆向工程本质上是一个知识恢复、知识发现的过程。因此本文将逆向工程分为三个步骤:

  (1)数据的提取:此时的数据是未经处理,通过静态或动态分析获得源文件的元数据,这是逆向分析和模型发现的基础;

  (2)知识的组织:将提取到的元数据进行分类和存储,此时主要使用已经定义的通用模型或规格等将元数据进行重组,实现知识的构建;

  (3)信息的展现:在已获得知识的基础上,施加某种领域相关的算法实现系统更高层次信息的组织和提取。

  基于对逆向工程和模型发现技术的总结,本文为基于TTCN-3测试语言的逆向工程设计了模型发现的系统框架,如图1所示。该框架建立在Eclipse平台之上,使用了Eclipse平台所提供的插件扩展机制,使得该框架易于维护和扩展。同时该框架还重用了Eclipse平台所提供的大量基础设施,利于系统的集成和开发。框架主要分为三个部分:静态分析部分输入为TTCN-3测试集,输出为抽象语法树和符号表,同时还包括动态轨迹的提取,即获取了测试集的元数据;建模部分输入为U2TP和TTCN-3规范,在这个过程中设计了TTCN-3测试系统元模型,实现了U2TP到TTCN-3映射规则,输出为TTCN-3测试系统模型,即实现了数据的重组和信息的形成;展现部分输入为TTCN-3测试系统模型,通过施加领域相关的算法实现测试设计和测试模型的发现,输出为TTCN-3测试系统的各种视图,即进行了模型的展现。

图1  逆向模型发现框架

  4、TTCN-3测试系统元模型设计

  TTCN-3虽然提供了诸如TFT和GFT这种表格和图形化的描述形式,但只是描述测试用例的一种格式而已,无法展现一个测试系统的整体结构和逻辑。为了解决维护、改进和复用大量遗留测试系统代码的问题,需要为TTCN-3测试系统提供一个抽象层次更高的描述方法。因此,本文针对模型发现目标,借用U2TP中的具体概念,实现了U2TP和TTCN-3之间的映射关系,设计了TTCN-3测试系统元模型。

图2  TTCN-3测试系统元模型

  参照U2TP对测试系统的描述和上面所制定的映射规则,本文将TTCN-3测试集抽象为四个部分:TestArchitecture、TestBehavior、TestData、Time,并定义了如图2所示的测试系统元模型。在设计过程中,本文考虑了逆向工程的特殊需求,对TTCN-3的元模型进行了相应的裁剪,方便测试系统模型的表示和展现。同时为了便于TTCN-3测试系统中基本信息的组织和存储,测试系统元模型中还定义了用于测试信息记录的相关数据结构。从图中可以看到,整个测试系统的根节点是TestSystem,每个测试系统会有自己的名字system,一般都是抽象测试集的名字。一个TestSystem中会包括四个逻辑部分,TestArchitecture、TestBehavior、TestData和Time。

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号