CN100435113C - 基于c++映射的ttcn-3测试系统及测试方法 - Google Patents

基于c++映射的ttcn-3测试系统及测试方法 Download PDF

Info

Publication number
CN100435113C
CN100435113C CNB2005100535248A CN200510053524A CN100435113C CN 100435113 C CN100435113 C CN 100435113C CN B2005100535248 A CNB2005100535248 A CN B2005100535248A CN 200510053524 A CN200510053524 A CN 200510053524A CN 100435113 C CN100435113 C CN 100435113C
Authority
CN
China
Prior art keywords
test
ttcn
manager
test case
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100535248A
Other languages
English (en)
Other versions
CN1786925A (zh
Inventor
赵琛
潘远明
陈伟
薛云志
杨宗奎
孙丽霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heilongjiang Zhongke Software Co., Ltd.
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CNB2005100535248A priority Critical patent/CN100435113C/zh
Publication of CN1786925A publication Critical patent/CN1786925A/zh
Application granted granted Critical
Publication of CN100435113C publication Critical patent/CN100435113C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提出了一种基于C++映射的TTCN-3测试系统及测试方法。该测试系统及其测试方法基于TTCN-3的C++映射标准,通过语言转换器将TTCN-3测试用例转换成语义相等的C++测试用例,并在TTCN-3运行环境进行编译、加载、执行,以实现对被测系统的测试。在转换生成的测试用例中每一个测试组件都实现为一个进程,避免了通常采用的线程技术在堆栈空间和测试组件数量上的限制。采用本发明实现的TTCN-3运行环境不但可以满足一般系统的黑盒测试,还适用于那些具有并发、交互、实时等特点的系统的测试。

Description

基于C++映射的TTCN-3测试系统及测试方法
技术领域
本发明涉及一种基于C++映射而实现的TTCN-3测试系统,也涉及利用该测试系统的测试方法,属于软件测试技术领域。
背景技术
TTCN(Testing and Test Control Notation,测试和测试控制符号表示法)是一种广泛使用的国际性标准测试系统,目前最新的版本是TTCN-3。TTCN-3可以用于描述在多种通信端口上的各种响应系统测试。它应用的典型领域是协议测试(包括移动和互联网协议)、服务测试、基于平台的CORBA测试、API测试等等。TTCN-3并不仅限于一致性测试,它还可以用于许多其他种类的测试,如互操作性测试、健壮性测试、回归测试、系统和集成测试等。
当前,已有的TTCN-3运行环境都是基于Java或C的映射方法实现的。由于Java语言需要具备良好的平台无关性,由此带来执行效率比较低的问题,很难满足实时系统在反应时间上的测试需要。而对于C的映射方法而言,尽管其执行效率比较高,但是采用该方法实现的TTCN-3运行环境的耦合性过于紧密,不利于针对具体的被测系统进行二次开发。
另外,目前已有的TTCN-3的测试系统都是采用多线程技术实现的,这种实现方式比较简单,能满足大部分的黑盒测试需要。然而,操作系统对线程技术存在堆栈空间大小的约束,并且,当线程数量达到一定规模时,会导致系统的执行效率急剧下降。这些限制导致了采用多线程技术实现的TTCN-3运行环境无法应用于大规模的压力测试。
发明内容
鉴于现有技术的上述缺陷,本发明的目的是提供一种基于C++映射的TTCN-3测试系统及测试方法。该测试系统及测试方法充分利用C++的特点,可以使相应的TTCN-3运行环境满足执行效率和针对被测系统进行二次开发的需要,并避免线程技术所带来的相关限制。
为实现上述的发明目的,本发明采用下述的技术方案:
一种基于C++映射的TTCN-3测试系统,其特征在于:
所述系统包括测试管理器、语言转换器、测试用例执行器、共享内存管理器、内部编码/解码器、C++映射接口、被测系统适配器和操作系统适配器,其中
所述测试管理器对整个测试系统进行管理;所述语言转换器包括词法分析器、语法分析器、语义信息提取器、符号管理器、类型管理器、转换器、全局信息索引、作用域管理器和代码生成器,所述词法分析器连接所述语法分析器,所述语法分析器连接所述语义信息提取器,所述语义信息提取器分别连接所述符号管理器、类型管理器、转换器、全局信息索引和作用域管理器,所述符号管理器、类型管理器、转换器、全局信息索引和作用域管理器分别连接所述代码生成器;
所述语言转换器转换TTCN-3测试用例,并生成语义等价的C++测试用例,由所述测试用例执行器负责执行;
测试用例中的测试组件通过所述内部编码/解码器对其存放到共享内存的数据进行编解码,所述共享内存管理器对所述共享内存进行管理;
所述C++映射接口包括测试控制接口和测试执行接口,所述测试执行接口实现所述测试用例执行器与所述被测系统适配器及所述操作系统适配器之间的连接,所述测试控制接口实现所述测试管理器与所述测试用例执行器之间的连接。
其中,所述测试用例执行器包括TTCN_Proces类,TTCN_Process_Options类和TTCN_Process_Manager类,其中所述类TTCN_Proces实现对测试组件/进程的封装;类TTCN_Process_Options实现测试组件/进程相关属性的封装;类TTCN_Process_Manager用于管理测试组件。
所述测试用例中的各测试组件都被实现为一个进程。
所述内部编码/解码器利用反射机制动态识别数据的类型和大小。
一种基于上述的TTCN-3测试系统实现的测试方法,其特征在于包括如下步骤:
(1)对于TTCN-3的抽象测试套,由语言转换器将其转换为C++测试用例套;
(2)所述C++测试用例套与运行环境库一起,在C++编译器中进行联编,生成测试用例库文件供测试用例执行器加载执行;
(3)测试系统启动后台进程,并对环境进行初始化,加载配置文件;
(4)根据要执行的测试用例,加载相应的测试用例库文件;
(5)启动测试管理进程,实例化库文件中的测试用例;
(6)执行测试用例,报告测试执行结果。
其中,所述语言转换器对TTCN-3的抽象测试套进行如下处理:经过词法分析器和语法分析器之后,生成抽象语法树,由语义信息提取器在做语义检查的同时,从抽象语法树中提取出语义信息,填写各个管理器,包括符号管理器、类型管理器、转换器、全局信息索引和作用域管理器,最后由代码生成器对各个管理器的信息进行处理,在助手类的帮助下,生成满足C++映射接口的测试用例。
所述语言转换器在生成的C++测试用例中为数据添加类型属性信息。
本发明所实现的基于C++映射的TTCN-3测试系统及测试方法不但可以适应一般系统进行黑盒测试的要求,还能够满足具有并发、交互、实时等特点的系统进行测试的实际需求,因此适用范围更广。
附图说明
下面结合附图和具体实施方式对本发明作进一步的说明。
图1为语言转换器的基本执行流程示意图。
图2为测试用例执行器的主要的类结构关系示意图。
图3为共享内存管理器的基本层次结构示意图。
图4为基于共享内存的两个进程之间进行过程调用的示意图。
图5为面向测试管理器的测试控制接口的基本结构示意图。
图6为测试执行接口以及面向测试执行器的测试控制接口的基本结构示意图。
图7为本发明所述的基于C++映射的TTCN-3测试方法的流程图。
具体实施方式
众所周知,C并不是一种面向对象的编程语言,并不具有重用的特性,针对某一具体环境编制的程序很难直接移植到另外的环境中使用,因此使用C语言的开发效率不高。而C++和Java一样,都是面向对象的编程语言,它们都能够通过封装、继承、多态等技术手段实现重用。但是,Java语言的编译代码是一种字节代码,在运行时由操作系统上的Java虚拟机来解释执行,因此运行效率远不如C++。C++与C相比,具备面向对象的特性,便于针对具体的被测系统进行二次开发;另一方面,它又与C语言一样,具有较高的运行效率。因此采用C++来实现TTCN-3运行环境是目前比较理想的选择。
为了利用C++来实现TTCN-3运行环境,我们需要进行的工作包括建立相应的C++映射接口。该映射接口包括测试控制接口和测试执行接口。除此之外,还需要建立包括测试管理器、语言转换器、测试执行器、共享内存管理器、内部编码/解码器、被测系统适配器和操作系统适配器在内的功能模块。上述这些功能模块的集合就是本发明所述的基于C++映射的TTCN-3测试系统。下面分别对这些功能模块加以说明。
测试管理器的功能在于负责整个TTCN-3测试系统的管理工作,其主要的工作内容包括:
◆测试控制:当系统初始化之后,所有的测试都从测试控制服务开始执行,它负责加载测试套,并提供相应的测试套启动参数。
◆日志管理:负责维护系统日志,并负责记录测试执行过程中其他模块向其发出的各种需要记录的事件通知内容。
◆测试组件管理:在许多情形下,一个测试用例的执行需要由多个测试组件来共同完成,这些组件可能分布在不同的物理系统当中。测试组件管理功能负责各个测试组件的创建、分发和协调执行工作。
◆出错处理:当测试执行过程中发生错误或者异常的时候,进行错误(异常)恢复和错误(异常)清理工作。
上述的测试套(test suite)是TTCN-3系统特有的模块,它通过引入语句(import statements)显式或隐式地完整描述所有定义和完整定义一组测试例所需的行为描述。
在实际的TTCN-3系统运行环境中,测试管理器表现为图形用户界面,其菜单结构包括如下内容:
●配置:系统的各种参数和适配器的配置。
◆系统参数配置:实现测试系统的有关系统配置,以读取系统初始化文件的方式实现;
◆适配器设置:设置当前测试用例所用的适配器文件。
●执行:实现测试用例的执行流程。
◆模块加载:将编译成动态(或共享库)以后的模块加载;
◆测试模块指定:指定已加载的模块列表中用于当前测试任务的模块名称;
◆模块参数设置:支持动态设置模块参数,允许测试人员在GUI界面设置模块相应的参数;
◆指定执行测试用例:在模块加载完成,并指定测试用的模块以后,在菜单项上自动列出当前模块中的所有测试用例,用户可以指定当前测试任务中所用的测试用例;
◆执行测试:开始执行测试;
◆执行取消:取消当前正在执行的测试任务。
●统计:反映当前的测试执行情况,统计正常结束、失败等PTC的个数。主要实现以下几个指标的统计:
◆当前测试任务的用例总数;
◆当前通过测试的用例总数;
◆当前正在运行的PTC数据;
◆当前测试任务的PTC峰值;
◆当前测试用例的通过的PTC数;
◆当前测试用例未通过的PTC数据;
◆当前测试用例的PTC峰值;
◆测试系统的进程总数;
◆系统请求共享内存数;
◆当前已用共享内存数;
◆所用内存峰值;
●日志查询:系统支持对测试日志的查询,本项实现将写入测试日志文件的日志重新输出到控制台上。
●联机帮助:实现本测试系统的联机帮助功能。
语言转换器的作用在于转换TTCN-3测试用例,并生成语义等价的C++测试用例,同时这些转换得到的测试用例满足C++映射接口标准。它是本发明的核心技术之一。
图1给出了语言转换器的基本执行流程。TTCN-3测试套在经过词法分析器和语法分析器之后,生成语法正确的抽象语法树,但此时语义并不一定正确,需要从抽象语法树中抽取出语义信息进行检查;另外,在转换过程中,有许多地方需要的信息可能在后面才会提供,通常所采用的回填机制比较简单,但是不够灵活,特别是在需要回填的信息比较多,而我们又对其结构不清楚的时候。因此,语义信息提取器在做语义检查的同时,从抽象语法树中提取出语义信息,填写各个管理器,包括符号管理器、类型管理器、转换器、全局信息索引和作用域管理器。最后由代码生成器对各个管理器的信息进行处理,在助手类的帮助下,生成满足C++映射接口的测试用例。
语言转换器采用编译技术实现。这是本领域一般技术人员都能轻易解决的课题,故在此就不详细说明了。
测试用例执行器负责执行由标准测试语言书写的测试用例,并提供各种基本服务,包括:
◆测试配置:一个测试配置由一组相互通过通信端口进行关联测试的组件构成。该服务可以实现对测试组件的动态配置。
◆用例选择:一个测试套往往包含为数众多的测试用例。用例选择服务根据测试策略决定了每个测试用例是否执行以及执行的次数。
◆执行引擎:负责标准测试语言的编译与执行。
◆模板及匹配:提供数据之间的匹配服务,用于对数据进行检测。此服务可以用于接受和发送一些特定的数据集合。
◆时钟管理:提供时钟的基本管理功能,包括启动、读写、停止、触发等;同时隐藏了不同操作系统的时钟实现细节从而提供统一的时钟服务接口。
◆测试组件通信:提供基于消息或过程的组件通信服务,方便测试组件之间合作,以共同完成一个测试用例的执行。
◆参数化:测试运行过程中对测试用例中的各种数据进行多种形式的参数化。
◆执行结果评估:评估测试用例的执行结果,其中引入了二级评估机制,即局部结果评估和全局结果评估,并规定了4种可能值以及相关的值覆盖规则。
图2描述了测试用例执行器的主要的类结构关系。因为测试组件都被实现为进程,所以这些类的功能和结构与进程的管理方式和功能密切相关。其中类TTCN_Proces实现了对测试组件/进程的封装;类TTCN_Process_Options实现了测试组件/进程相关属性的封装;类TTCN_Process_Manager主要用于管理测试组件。
共享内存管理器的基本层次结构如图3所示。其中,ShmInitializer类的作用是初始化整个共享内存区域。它直接调用shmget,shmat等函数来为申请共享内存空间,对共享内存的大小、多进程申请的唯一性等方面的保证都是这个类的工作。SharedMemory类负责直接管理共享内存,它对应用程序提供了Allocate,Deallocate等的C规格的共享内存操作接口,以及AddObject,GetObject等共享内存对象操作接口,后者使得进程间使用该共享内存管理器进行通信成为可能。ShmObject类使用SharedMemory的接口,并封装其Allocate等函数,为应用程序提供了new,delete等C++规格的内存操作接口,任何类只要从ShmObject继承,就能够直接使用new,delete操作。基于ShmObject类,可开发一个简单的STL类型的容器库。其中List,Queue,Priority Queue是比较完整的三种容器,其接口基本符合STL规格。另外,在图3中,共享内存管理器对应用程序开放了三层接口,包括上述符合STL规格的容器库、C++规格的new,delete接口,以及C规格的allocate,deallocate等接口,实际中,应用程序完全可以根据需要自主选择要使用的一层或者若干层接口。
在测试时,测试用例中的每一个测试组件,包括主测试组件、平行测试组件、系统测试组件,都被实现为一个进程。和线程实现方式相比,避免了堆栈空间大小的约束,另外,也不会因为测试组件数量的迅速增加,而导致系统执行效率的急剧下降。进程的创建与测试组件的create动作对应。在具体的代码实现上,先调用系统调用fork()创建子进程,然后再创建平行测试组件或主测试组件的实例。为了方便快速的进行进程间的数据交换,系统采用了POSIX(可移植操作系统接口)进程间通信技术,包括共享内存、互斥锁、事件等等,其中共享内存用于存放通信数据,事件用于通知共享内存中数据的变化,互斥锁用于各个进程对共享内存的同步访问。
基于共享内存的两个进程之间进行过程调用的过程如图4所示。进程PTC1通过端口Port1将调用申请通过编码/解码器编码后写到写入共享内存,进程PTC2的读事件线程从共享内存中读出过程调用事件并利用编码/解码器进行解码,解码后发现是属于端口Port2的过程调用申请,便将其分发到PTC2上的端口Port2,Port2执行被调用的过程,并将执行结果编码写入共享内存;PTC1的读事件线程从共享内存中读出过返回结果并解码,将其分发到PTC1上的端口Port1。
内部编码/解码器的作用是对以C++表示的数据进行加解码。一个测试组件在将数据在存放到共享内存之前必须要利用内部编码/解码器进行编码;另一个测试组件在从共享内存读到的数据,还需要利用内部编码/解码器进行解码之后才能使用。为了进行编码,我们针对C++的数据对象,实现了一套简化的反射机制,该机制可以支持:1)实现对象的按名实例化;2)在不知道对象类型的情况下遍历对象中的变量,对变量进行赋值取值操作。下面介绍该机制的具体实现方法。
一.按名实例化的实现:
1.所有的类要继承于基类TTCNValue,这样所有的对象才能通过TTCNValue指针来引用。
2.在每个需要实现反射的类中需要提供一个TTCNValue*newInstance()方法,类似于工厂模式,该方法中会创建一个具体的对象的指针。
3.在程序的静态区创建一个静态的map指针,用来保存类名与类型信息的映射,以便实现按名实例化。前面提到创建的对象中保存着该类的所有信息,所以map中保存的是类名和该类的对象的指针。这个map在程序启动的时候就要建立起来。
4.当给定一个类的名字时,我们就到map的映射中去查找,如果找到这个类的名字,就调用其对应的对象的newInstance()方法,这样就创建了一个新的该类的对象。也就实现了对象的按名实例化。
二.对象中变量的按名遍历
1.TTCNType类用来保存类的变量的信息,类TTCNValue的拥有一个静态的指向TTCNType*的protected成员变量。这样每一个继承于TTCNValue的类都拥有唯一一个TTCNType对象来报存其类型信息。
2.每个类对应的TTCNType中保存着类的名字。
3.TTCNValue中拥有一个保存成员变量的指针的vector<TTCNValue*>values。在每个具体类型的构造函数中将其成员变量的指针按顺序保存在该vector中。
4.类的成员变量的信息(变量名,类型名)保存在简单类Attribute{attrName,typeName}中。
5.在TTCNType中有一个保存成员变量属性(Attribute)的vector<Attribute>attributes。在每个具体类型的构造函数中将其成员变量的属性按顺序保存在该vector中。
6.TTCNValue中提供了方法TTCNValue&getAttributeByName(stringname),setAttributeValue(string name,TTCNValue&value),就可以通过变量的名字对成员变量的值进行操作。
利用该反射机制,内部编码/解码器可以动态识别数据的类型和大小。为了能够在执行时间使用这种反射机制,语言转换器还需要在生成的C++测试用例中为各种数据添加了各种类型属性信息。
被测系统适配器的作用在于:测试执行器在测试用例运行过程中需要和被测系统进行不断的基于消息和过程的通信完成交互操作,而这些交互操作必须通过由系统适配器对具体被测系统进行的适配才能完成。另外,为了能够进行通信,被测系统适配器还需要对所传输数据做相应的格式转换。
操作系统适配器的作用在于:在测试用例的执行过程中,测试执行器需要调用各种外部函数。操作系统适配器对不同的操作系统进行适配,向测试执行器隐藏不同操作系统的细节。另外,操作系统适配器除了可以方便测试执行器使用外部函数之外,还可以提供统一的运行时间支持。
图5显示了面向测试管理器的测试控制接口的基本结构,图6显示了测试执行接口以及面向测试执行器的测试控制接口的基本结构。如图5和图6所示,其中TriCommunicationSA、TriPlatformSA和TriPlatformPA构成了测试执行接口,前两个是测试用例执行器和被测系统适配器之间的调用接口,第三个是测试用例执行器和操作系统适配器之间的调用接口。测试执行接口是TTCN-3运行环境和外界系统交互的标准接口,被测系统适配器、操作系统适配器都是基于它进行开发的。TciTMRequired、TciTMProvided、TciCHRequired和TciCHProvided一起构成了测试控制接口,其中前两个接口类描述了测试管理器被调用和应提供的方法,后两个接口类描述了测试用例执行器被调用和应提供的方法。测试控制接口是测试管理器和测试用例执行器之间的接口,它主要用于在测试用例执行过程中测试管理器和测试用例执行器之间的消息传递。测试用例执行器由测试管理器启动,测试用例执行器在执行过程中,需要不断的向测试管理器通报当前的执行状态,测试管理器根据执行状态信息,向用户汇报当前测试用例执行状况,以及最终的测试结果。
由上述各模块构成的TTCN-3测试系统采用分层结构,各层之间的功能调用接口严格满足C++映射标准。
利用上述的功能模块,执行测试的具体方法如图7所示,包括如下步骤:
(1)对于TTCN-3的抽象测试套(ATS),由语言转换器将其转换为C++测试用例套;
(2)上述C++测试用例套与运行环境库RBLib.a一起,在C++编译器中进行联编,生成测试用例库文件TSlib.a供测试用例执行器加载执行;
(3)测试系统启动后台进程,并对环境进行初始化,加载配置文件;
(4)根据要执行的测试用例,加载相应的测试用例库文件TSlib.a;
(5)启动测试管理进程,实例化库文件中的测试用例testcase;
(6)执行测试用例testcase,报告测试执行结果。
在图7中,右侧是TTCN-3运行环境的主流程,左边是语言转换器执行的流程。通过上述的各步骤,可以通过制订C++映射接口标准,由语言转换器将以TTCN-3描述的测试用例转换成等价的以C++描述的测试用例,运行环境编译、加载、执行转换生成的C++测试用例,从而能够充分利用C++的特点,实现测试过程的高效率,满足具有并发、交互、实时等特点的系统进行测试的要求。
上面对本发明所述的基于C++映射的TTCN-3测试系统及测试方法进行了详细的说明,但显然本发明的具体实现形式并不局限于此。对于本技术领域的一般技术人员来说,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。

Claims (8)

1.一种基于C++映射的TTCN-3测试系统,其特征在于:
所述系统包括测试管理器、语言转换器、测试用例执行器、共享内存管理器、内部编码/解码器、C++映射接口、被测系统适配器和操作系统适配器,其中
所述测试管理器对整个测试系统进行管理;所述语言转换器包括词法分析器、语法分析器、语义信息提取器、符号管理器、类型管理器、转换器、全局信息索引、作用域管理器和代码生成器,所述词法分析器连接所述语法分析器,所述语法分析器连接所述语义信息提取器,所述语义信息提取器分别连接所述符号管理器、类型管理器、转换器、全局信息索引和作用域管理器,所述符号管理器、类型管理器、转换器、全局信息索引和作用域管理器分别连接所述代码生成器;
所述语言转换器转换TTCN-3测试用例,并生成语义等价的C++测试用例,由所述测试用例执行器负责执行;
测试用例中的测试组件通过所述内部编码/解码器对其存放到共享内存的数据进行编解码,所述共享内存管理器对所述共享内存进行管理;
所述C++映射接口包括测试控制接口和测试执行接口,所述测试执行接口实现所述测试用例执行器与所述被测系统适配器及所述操作系统适配器之间的连接,所述测试控制接口实现所述测试管理器与所述测试用例执行器之间的连接。
2.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:
所述测试用例执行器包括TTCN_Proces类,TTCN_Process_Options类和TTCN_Process_Manager类,其中所述类TTCN_Proces实现对测试组件/进程的封装;类TTCN_Process_Options实现测试组件/进程相关属性的封装;类TTCN_Process_Manager用于管理测试组件。
3.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:
所述共享内存管理器对应用程序开放三层接口,包括符合STL规格的容器库;符合C++规格的new,delete接口;以及符合C规格的allocate,deallocate接口。
4.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:
所述测试用例中的各测试组件都被实现为一个进程。
5.如权利要求4所述的基于C++映射的TTCN-3测试系统,其特征在于:
所述各进程之间采用符合POSIX标准的进程间通信技术。
6.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:
所述测试系统采用分层结构,各层之间的功能调用接口严格满足C++映射标准。
7.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:
所述语言转换器在生成的C++测试用例中为数据添加类型属性信息,所述内部编码/解码器利用反射机制动态识别数据的类型和大小。
8.一种基于如权利要求1所述的TTCN-3测试系统实现的测试方法,其特征在于包括如下步骤:
(1)对于TTCN-3的抽象测试套,在经过词法分析器和语法分析器之后,生成抽象语法树,由语义信息提取器在做语义检查的同时,从抽象语法树中提取出语义信息,填写各个管理器,包括符号管理器、类型管理器、转换器、全局信息索引和作用域管理器,最后由代码生成器对各个管理器的信息进行处理,在助手类的帮助下,生成C++测试用例套;
(2)所述C++测试用例套与运行环境库一起,在C++编译器中进行联编,生成测试用例库文件供测试用例执行器加载执行;
(3)测试系统启动后台进程,并对环境进行初始化,加载配置文件;
(4)根据要执行的测试用例,加载相应的测试用例库文件;
(5)启动测试管理进程,实例化库文件中的测试用例;
(6)执行测试用例,报告测试执行结果。
CNB2005100535248A 2005-03-08 2005-03-08 基于c++映射的ttcn-3测试系统及测试方法 Expired - Fee Related CN100435113C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100535248A CN100435113C (zh) 2005-03-08 2005-03-08 基于c++映射的ttcn-3测试系统及测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100535248A CN100435113C (zh) 2005-03-08 2005-03-08 基于c++映射的ttcn-3测试系统及测试方法

Publications (2)

Publication Number Publication Date
CN1786925A CN1786925A (zh) 2006-06-14
CN100435113C true CN100435113C (zh) 2008-11-19

Family

ID=36784396

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100535248A Expired - Fee Related CN100435113C (zh) 2005-03-08 2005-03-08 基于c++映射的ttcn-3测试系统及测试方法

Country Status (1)

Country Link
CN (1) CN100435113C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212357B (zh) * 2006-12-31 2010-09-15 亿阳信通股份有限公司 一种接口的测试方法和装置
CN101685420B (zh) * 2008-09-24 2013-06-12 中兴通讯股份有限公司 多线程调试方法和装置
CN102035896B (zh) * 2010-12-31 2012-12-05 北京航空航天大学 一种适用于软件系统的基于ttcn-3的分布式测试框架
CN102426534B (zh) * 2011-11-02 2014-06-04 大唐联仪科技有限公司 一种实现测试脚本语言转换成可执行指令的方法及系统
CN102929680B (zh) * 2012-10-19 2016-03-02 普华基础软件股份有限公司 一种将TTCN-3脚本转换为Java源代码的方法,装置和系统
CN103473109B (zh) * 2013-08-30 2017-01-04 北京中创信测科技股份有限公司 基于System Verilog对TTCN-3进行编译的方法及系统
CN106933554A (zh) * 2015-12-30 2017-07-07 北京国双科技有限公司 类转换方法和装置
CN106095668B (zh) * 2016-06-02 2018-12-11 上海科梁信息工程股份有限公司 基于事件和动作的c++测试用例的生成方法
CN109726096B (zh) * 2017-10-27 2022-04-01 中移(苏州)软件技术有限公司 一种测试数据生成方法及装置
CN109408358A (zh) * 2018-08-03 2019-03-01 中国人民解放军63928部队 一种操作系统间互操作性测试方法和系统
CN112256457A (zh) * 2020-11-06 2021-01-22 开普云信息科技股份有限公司 一种基于共享内存的数据载入加速方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1417678A (zh) * 2001-11-07 2003-05-14 华为技术有限公司 Ttcn测试用例执行方法
CN1432916A (zh) * 2002-11-01 2003-07-30 英业达股份有限公司 多线程自动测试方法
CN1519721A (zh) * 2003-01-23 2004-08-11 英业达股份有限公司 可动态扩充的计算机测试系统及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1417678A (zh) * 2001-11-07 2003-05-14 华为技术有限公司 Ttcn测试用例执行方法
CN1432916A (zh) * 2002-11-01 2003-07-30 英业达股份有限公司 多线程自动测试方法
CN1519721A (zh) * 2003-01-23 2004-08-11 英业达股份有限公司 可动态扩充的计算机测试系统及其方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TRI在TTCN-3测试系统实现中的应用. 曾洪涛,陈凯,白英彩.微型电脑应用,第21卷第2期. 2005 *
基于抽象语法树的软件度量工具的设计与实现. 牛家浩,黄志球,张静,刘佳.计算机应用,第23卷第10期. 2003 *
并发TTCN测试执行机的设计与实现. 张卫星,蒋凡.软件学报,第14卷第3期. 2003 *

Also Published As

Publication number Publication date
CN1786925A (zh) 2006-06-14

Similar Documents

Publication Publication Date Title
CN100435113C (zh) 基于c++映射的ttcn-3测试系统及测试方法
US7506311B2 (en) Test tool for application programming interfaces
CN101620536A (zh) 一种调用功能函数的方法和装置
US20140143762A1 (en) Symbolic execution of dynamic programming languages
CN100561476C (zh) 一种基于asn类型对象的代码生成方法
CN111782513B (zh) 基于dll的卫星地面通用自动化测试方法
CN111767116A (zh) 面向机械臂程序开发编程语言的虚拟机及对汇编文件的运行方法
CN113254317A (zh) 基于字节码的指标自动生成方法及系统
US6799320B1 (en) Providing binding options for component interfaces
CN100549978C (zh) 一种数据驱动的单元测试方法
Wolczko Semantics of object-oriented languages
Schieferdecker et al. A meta-model for TTCN-3
CN111324395B (zh) 调用方法、装置和计算机可读存储介质
Asai On typing delimited continuations: three new solutions to the printf problem
CN103019922A (zh) 一种可独立测试的组件架构实现方法
CN101303646A (zh) 基于可执行元语言的电信领域建模方法
Davies et al. Concurrency and refinement in the unified modeling language
US20110246967A1 (en) Methods and systems for automation framework extensibility
CN108804103A (zh) 一种扫描接口并生成可调用api接口文档的方法
CN101263459A (zh) 图形xml编程系统和引擎
CN109308256A (zh) 一种java程序动态分析方法、设备和存储介质
Chen et al. Do no harm: Model checking ehome applications
Harrrison et al. Using recombinance to improve modularity
Xiong et al. HLA Based Collaborative Simulation with MATLAB Seamlessly Embedded
Taylor Object-oriented concepts for distributed systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NATIONAL FUNDAMENTAL SOFTWARE OF HEILONGJIANG

Free format text: FORMER OWNER: INST. OF SOFTWARE, CHINESE ACADEMY OF SCIENCES

Effective date: 20100919

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 NO.4, ZHONGGUANCUN SOUTH STREET 4, HAIDIAN DISTRICT, BEIJING TO: 150090 1-3/F, NO.258, HONGQI STREET, NANGANG DISTRICT, HARBIN CITY, HEILONGJIANG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20100919

Address after: 150090, 1-3 floor, 258 Hongqi Avenue, Nangang District, Heilongjiang, Harbin

Patentee after: Heilongjiang Zhongke Software Co., Ltd.

Address before: 100080 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun

Patentee before: Institute of Software, Chinese Academy of Sciences

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081119

Termination date: 20180308

CF01 Termination of patent right due to non-payment of annual fee