[go: up one dir, main page]

CN1786925A - TTCN-3 testing system basedon C++ mapping and its testing method - Google Patents

TTCN-3 testing system basedon C++ mapping and its testing method Download PDF

Info

Publication number
CN1786925A
CN1786925A CN 200510053524 CN200510053524A CN1786925A CN 1786925 A CN1786925 A CN 1786925A CN 200510053524 CN200510053524 CN 200510053524 CN 200510053524 A CN200510053524 A CN 200510053524A CN 1786925 A CN1786925 A CN 1786925A
Authority
CN
China
Prior art keywords
test
ttcn
manager
mapping
test case
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.)
Granted
Application number
CN 200510053524
Other languages
Chinese (zh)
Other versions
CN100435113C (en
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/en
Publication of CN1786925A publication Critical patent/CN1786925A/en
Application granted granted Critical
Publication of CN100435113C publication Critical patent/CN100435113C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Figure 200510053524

The invention proposes a TTCN-3 test system and test method based on C++ mapping. The test system and its test method are based on the C++ mapping standard of TTCN-3, and the TTCN-3 test cases are converted into semantically equivalent C++ test cases through the language converter, and compiled, loaded and executed in the TTCN-3 operating environment to achieve Implement testing of the system under test. In the test cases generated by conversion, each test component is realized as a process, which avoids the limitation of the stack space and the number of test components in the commonly used thread technology. The TTCN-3 operating environment realized by the invention can not only satisfy the black-box test of general systems, but also be suitable for the tests of those systems with the characteristics of concurrency, interaction, real-time and the like.

Figure 200510053524

Description

基于C++映射的TTCN-3测试系统及测试方法TTCN-3 Test System and Test Method Based on C++ Mapping

技术领域technical field

本发明涉及一种基于C++映射而实现的TTCN-3测试系统,也涉及利用该测试系统的测试方法,属于软件测试技术领域。The invention relates to a TTCN-3 test system realized based on C++ mapping, and also relates to a test method utilizing the test system, which belongs to the technical field of software test.

背景技术Background technique

TTCN(Testing and Test Control Notation,测试和测试控制符号表示法)是一种广泛使用的国际性标准测试系统,目前最新的版本是TTCN-3。TTCN-3可以用于描述在多种通信端口上的各种响应系统测试。它应用的典型领域是协议测试(包括移动和互联网协议)、服务测试、基于平台的CORBA测试、API测试等等。TTCN-3并不仅限于一致性测试,它还可以用于许多其他种类的测试,如互操作性测试、健壮性测试、回归测试、系统和集成测试等。TTCN (Testing and Test Control Notation, test and test control notation) is a widely used international standard test system, the latest version is TTCN-3. TTCN-3 can be used to describe various responsive system tests on various communication ports. Typical areas of its application are protocol testing (including mobile and Internet protocols), service testing, platform-based CORBA testing, API testing, and more. TTCN-3 is not limited to conformance testing, it can also be used in many other kinds of testing, such as interoperability testing, robustness testing, regression testing, system and integration testing, etc.

当前,已有的TTCN-3运行环境都是基于Java或C的映射方法实现的。由于Java语言需要具备良好的平台无关性,由此带来执行效率比较低的问题,很难满足实时系统在反应时间上的测试需要。而对于C的映射方法而言,尽管其执行效率比较高,但是采用该方法实现的TTCN-3运行环境的耦合性过于紧密,不利于针对具体的被测系统进行二次开发。Currently, the existing TTCN-3 operating environments are all implemented based on Java or C mapping methods. Since the Java language needs to have good platform independence, it brings about the problem of relatively low execution efficiency, and it is difficult to meet the test needs of real-time systems in response time. As for the C mapping method, although its execution efficiency is relatively high, the coupling of the TTCN-3 operating environment realized by this method is too tight, which is not conducive to the secondary development of the specific system under test.

另外,目前已有的TTCN-3的测试系统都是采用多线程技术实现的,这种实现方式比较简单,能满足大部分的黑盒测试需要。然而,操作系统对线程技术存在堆栈空间大小的约束,并且,当线程数量达到一定规模时,会导致系统的执行效率急剧下降。这些限制导致了采用多线程技术实现的TTCN-3运行环境无法应用于大规模的压力测试。In addition, the existing TTCN-3 test systems are implemented by multi-thread technology, which is relatively simple and can meet the needs of most black-box tests. However, the operating system has constraints on the size of the stack space for thread technology, and when the number of threads reaches a certain scale, the execution efficiency of the system will drop sharply. These limitations lead to the fact that the TTCN-3 operating environment implemented by multi-threading technology cannot be applied to large-scale stress testing.

发明内容Contents of the invention

鉴于现有技术的上述缺陷,本发明的目的是提供一种基于C++映射的TTCN-3测试系统及测试方法。该测试系统及测试方法充分利用C++的特点,可以使相应的TTCN-3运行环境满足执行效率和针对被测系统进行二次开发的需要,并避免线程技术所带来的相关限制。In view of the above-mentioned defects of the prior art, the object of the invention is to provide a TTCN-3 testing system and testing method based on C++ mapping. The test system and test method make full use of the characteristics of C++, which can make the corresponding TTCN-3 operating environment meet the needs of execution efficiency and secondary development for the system under test, and avoid the relevant restrictions brought by thread technology.

为实现上述的发明目的,本发明采用下述的技术方案:For realizing above-mentioned purpose of the invention, the present invention adopts following technical scheme:

一种基于C++映射的TTCN-3测试系统,其特征在于:A kind of TTCN-3 test system based on C++ mapping is characterized in that:

所述系统包括测试管理器、语言转换器、测试用例执行器、共享内存管理器、内部编码/解码器、C++映射接口、被测系统适配器和操作系统适配器,其中The system includes a test manager, a language converter, a test case executor, a shared memory manager, an internal encoder/decoder, a C++ mapping interface, a system under test adapter, and an operating system adapter, wherein

所述测试管理器对整个测试系统进行管理;所述语言转换器转换TTCN-3测试用例,并生成语义等价的C++测试用例,由所述测试用例执行器负责执行;The test manager manages the entire test system; the language converter converts the TTCN-3 test case, and generates a semantically equivalent C++ test case, which is executed by the test case executor;

测试用例中的测试组件通过所述内部编码/解码器对其存放到共享内存的数据进行编解码,所述共享内存管理器对所述共享内存进行管理;The test component in the test case encodes and decodes the data stored in the shared memory by the internal encoder/decoder, and the shared memory manager manages the shared memory;

所述C++映射接口包括测试控制接口和测试执行接口,所述测试控制接口实现所述测试用例执行器与所述被测系统适配器及所述操作系统适配器之间的连接,所述测试执行接口实现所述测试管理器与所述测试用例执行器之间的连接。The C++ mapping interface includes a test control interface and a test execution interface, the test control interface realizes the connection between the test case executor and the system adapter under test and the operating system adapter, and the test execution interface realizes A connection between the test manager and the test case executor.

其中,所述测试用例执行器包括TTCN_Proces类,TTCN_Process_Options类和TTCN_Process_Manager类,其中所述类TTCN_Proces实现对测试组件/进程的封装;类TTCN_Process_Options实现测试组件/进程相关属性的封装;类TTCN_Process_Manager用于管理测试组件。Wherein, the test case executor includes the TTCN_Proces class, the TTCN_Process_Options class and the TTCN_Process_Manager class, wherein the class TTCN_Proces realizes the encapsulation of the test component/process; the class TTCN_Process_Options realizes the encapsulation of the test component/process-related attributes; the class TTCN_Process_Manager is used to manage the test components.

所述共享内存管理器对应用程序开放三层接口,包括符合STL规格的容器库;符合C++规格的new,delete接口;以及符合C规格的allocate,deallocate接口。The shared memory manager opens a three-layer interface to the application program, including the container library conforming to the STL specification; the new and delete interfaces conforming to the C++ specification; and the allocate and deallocate interfaces conforming to the C specification.

所述测试用例中的各测试组件都被实现为一个进程。Each test component in the test case is implemented as a process.

所述各进程之间采用符合POSIX标准的进程间通信技术。The inter-process communication technology conforming to the POSIX standard is adopted among the processes.

所述测试系统采用分层结构,各层之间的功能调用接口严格满足C++映射标准。The test system adopts a layered structure, and the function call interface between layers strictly meets the C++ mapping standard.

所述内部编码/解码器利用反射机制动态识别数据的类型和大小。The inner encoder/decoder uses reflection mechanism to dynamically identify the type and size of data.

一种基于上述的TTCN-3测试系统实现的测试方法,其特征在于包括如下步骤:A kind of test method realized based on above-mentioned TTCN-3 test system, it is characterized in that comprising the steps:

(1)对于TTCN-3的抽象测试套,由语言转换器将其转换为C++测试用例套;(1) For the abstract test suite of TTCN-3, it is converted into a C++ test case suite by the language converter;

(2)所述C++测试用例套与运行环境库一起,在C++编译器中进行联编,生成测试用例库文件供测试用例执行器加载执行;(2) described C++ test case cover is together with operating environment library, is linked in C++ compiler, generates test case library file and loads and executes for test case executor;

(3)测试系统启动后台进程,并对环境进行初始化,加载配置文件;(3) The test system starts the background process, initializes the environment, and loads the configuration file;

(4)根据要执行的测试用例,加载相应的测试用例库文件;(4) According to the test case to be executed, load the corresponding test case library file;

(5)启动测试管理进程,实例化库文件中的测试用例;(5) Start the test management process and instantiate the test cases in the library file;

(6)执行测试用例,报告测试执行结果。(6) Execute test cases and report test execution results.

其中,所述语言转换器对TTCN-3的抽象测试套进行如下处理:经过词法分析器和语法分析器之后,生成抽象语法树,由语义信息提取器在做语义检查的同时,从抽象语法树中提取出语义信息,填写各个管理器,包括符号管理器、类型管理器、转换器、全局信息索引和作用域管理器,最后由代码生成器对各个管理器的信息进行处理,在助手类的帮助下,生成满足C++映射接口的测试用例。Wherein, the language converter performs the following processing on the abstract test suite of TTCN-3: after the lexical analyzer and the syntax analyzer, an abstract syntax tree is generated, and the semantic information extractor extracts the abstract syntax tree from the abstract syntax tree while doing semantic inspection. Extract the semantic information from , fill in each manager, including symbol manager, type manager, converter, global information index and scope manager, and finally the code generator will process the information of each manager, in the helper class With help, generate test cases that satisfy the C++ mapping interface.

所述语言转换器在生成的C++测试用例中为数据添加类型属性信息。The language converter adds type attribute information to the data in the generated C++ test case.

本发明所实现的基于C++映射的TTCN-3测试系统及测试方法不但可以适应一般系统进行黑盒测试的要求,还能够满足具有并发、交互、实时等特点的系统进行测试的实际需求,因此适用范围更广。The TTCN-3 test system and test method based on C++ mapping implemented by the present invention can not only adapt to the requirements of general systems for black-box testing, but also meet the actual needs of testing systems with concurrent, interactive, and real-time characteristics. Wider range.

附图说明Description of drawings

下面结合附图和具体实施方式对本发明作进一步的说明。The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments.

图1为语言转换器的基本执行流程示意图。Figure 1 is a schematic diagram of the basic execution flow of the language converter.

图2为测试用例执行器的主要的类结构关系示意图。Figure 2 is a schematic diagram of the main class structure relationship of the test case executor.

图3为共享内存管理器的基本层次结构示意图。FIG. 3 is a schematic diagram of a basic hierarchical structure of a shared memory manager.

图4为基于共享内存的两个进程之间进行过程调用的示意图。FIG. 4 is a schematic diagram of a procedure call between two processes based on shared memory.

图5为面向测试管理器的测试控制接口的基本结构示意图。Fig. 5 is a schematic diagram of the basic structure of the test control interface oriented to the test manager.

图6为测试执行接口以及面向测试执行器的测试控制接口的基本结构示意图。FIG. 6 is a schematic diagram of the basic structure of the test execution interface and the test control interface oriented to the test executor.

图7为本发明所述的基于C++映射的TTCN-3测试方法的流程图。Fig. 7 is a flow chart of the TTCN-3 testing method based on C++ mapping according to the present invention.

具体实施方式Detailed ways

众所周知,C并不是一种面向对象的编程语言,并不具有重用的特性,针对某一具体环境编制的程序很难直接移植到另外的环境中使用,因此使用C语言的开发效率不高。而C++和Java一样,都是面向对象的编程语言,它们都能够通过封装、继承、多态等技术手段实现重用。但是,Java语言的编译代码是一种字节代码,在运行时由操作系统上的Java虚拟机来解释执行,因此运行效率远不如C++。C++与C相比,具备面向对象的特性,便于针对具体的被测系统进行二次开发;另一方面,它又与C语言一样,具有较高的运行效率。因此采用C++来实现TTCN-3运行环境是目前比较理想的选择。As we all know, C is not an object-oriented programming language, and it does not have the feature of reuse. It is difficult to directly transplant the program compiled for a specific environment to another environment, so the development efficiency of using C language is not high. C++, like Java, is an object-oriented programming language, and they can be reused through technical means such as encapsulation, inheritance, and polymorphism. However, the compiled code of the Java language is a kind of byte code, which is interpreted and executed by the Java virtual machine on the operating system at runtime, so the operating efficiency is far inferior to that of C++. Compared with C, C++ has object-oriented features, which is convenient for secondary development of the specific system under test; on the other hand, it has higher operating efficiency just like C language. So using C++ to realize TTCN-3 operating environment is an ideal choice at present.

为了利用C++来实现TTCN-3运行环境,我们需要进行的工作包括建立相应的C++映射接口。该映射接口包括测试控制接口和测试执行接口。除此之外,还需要建立包括测试管理器、语言转换器、测试执行器、共享内存管理器、内部编码/解码器、被测系统适配器和操作系统适配器在内的功能模块。上述这些功能模块的集合就是本发明所述的基于C++映射的TTCN-3测试系统。下面分别对这些功能模块加以说明。In order to use C++ to realize the TTCN-3 operating environment, the work we need to do includes establishing the corresponding C++ mapping interface. The mapping interface includes a test control interface and a test execution interface. In addition, functional modules including test manager, language converter, test executor, shared memory manager, internal encoder/decoder, system under test adapter and operating system adapter need to be established. The above-mentioned collection of these functional modules is the TTCN-3 test system based on C++ mapping in the present invention. These functional modules are described separately below.

测试管理器的功能在于负责整个TTCN-3测试系统的管理工作,其主要的工作内容包括:The function of the test manager is to be responsible for the management of the entire TTCN-3 test system, and its main tasks include:

◆测试控制:当系统初始化之后,所有的测试都从测试控制服务开始执行,它负责加载测试套,并提供相应的测试套启动参数。◆Test control: After the system is initialized, all tests are executed from the test control service, which is responsible for loading the test suite and providing the corresponding test suite startup parameters.

◆日志管理:负责维护系统日志,并负责记录测试执行过程中其他模块向其发出的各种需要记录的事件通知内容。◆Log management: responsible for maintaining the system log, and responsible for recording the content of various event notifications sent to it by other modules during the test execution process.

◆测试组件管理:在许多情形下,一个测试用例的执行需要由多个测试组件来共同完成,这些组件可能分布在不同的物理系统当中。测试组件管理功能负责各个测试组件的创建、分发和协调执行工作。◆Test component management: In many cases, the execution of a test case needs to be completed by multiple test components, and these components may be distributed in different physical systems. The test component management function is responsible for the creation, distribution and coordinated execution of each test component.

◆出错处理:当测试执行过程中发生错误或者异常的时候,进行错误(异常)恢复和错误(异常)清理工作。◆Error handling: When errors or exceptions occur during test execution, error (abnormal) recovery and error (abnormal) cleaning are performed.

上述的测试套(test suite)是TTCN-3系统特有的模块,它通过引入语句(import statements)显式或隐式地完整描述所有定义和完整定义一组测试例所需的行为描述。The above-mentioned test suite is a unique module of the TTCN-3 system, which explicitly or implicitly describes all definitions and behavior descriptions required to completely define a set of test cases through import statements.

在实际的TTCN-3系统运行环境中,测试管理器表现为图形用户界面,其菜单结构包括如下内容:In the actual TTCN-3 system operating environment, the test manager is displayed as a graphical user interface, and its menu structure includes the following contents:

●配置:系统的各种参数和适配器的配置。● Configuration: various parameters of the system and the configuration of the adapter.

◆系统参数配置:实现测试系统的有关系统配置,以读取系统初始化文件的方式实现;◆System parameter configuration: realize the relevant system configuration of the test system by reading the system initialization file;

◆适配器设置:设置当前测试用例所用的适配器文件。◆Adapter Settings: Set the adapter file used by the current test case.

●执行:实现测试用例的执行流程。● Execution: implement the execution flow of test cases.

◆模块加载:将编译成动态(或共享库)以后的模块加载;◆Module loading: load the modules compiled into dynamic (or shared library);

◆测试模块指定:指定已加载的模块列表中用于当前测试任务的模块名称;◆Test module specification: specify the module name used for the current test task in the loaded module list;

◆模块参数设置:支持动态设置模块参数,允许测试人员在GUI界面设置模块相应的参数;◆Module parameter setting: support dynamic setting of module parameters, allowing testers to set the corresponding parameters of the module on the GUI interface;

◆指定执行测试用例:在模块加载完成,并指定测试用的模块以后,在菜单项上自动列出当前模块中的所有测试用例,用户可以指定当前测试任务中所用的测试用例;◆Specify test case execution: After the module is loaded and the test module is specified, all test cases in the current module will be automatically listed on the menu item, and the user can specify the test case used in the current test task;

◆执行测试:开始执行测试;◆Execute test: start to execute the test;

◆执行取消:取消当前正在执行的测试任务。◆Execution cancel: cancel the test task currently being executed.

●统计:反映当前的测试执行情况,统计正常结束、失败等PTC的个数。主要实现以下几个指标的统计:●Statistics: reflect the current test execution status, and count the number of PTCs such as normal end and failure. The statistics of the following indicators are mainly realized:

◆当前测试任务的用例总数;◆The total number of use cases of the current test task;

◆当前通过测试的用例总数;◆The total number of test cases currently passed;

◆当前正在运行的PTC数据;◆Currently running PTC data;

◆当前测试任务的PTC峰值;◆PTC peak value of the current test task;

◆当前测试用例的通过的PTC数;◆The number of PTCs passed by the current test case;

◆当前测试用例未通过的PTC数据;◆PTC data that the current test case fails;

◆当前测试用例的PTC峰值;◆PTC peak value of the current test case;

◆测试系统的进程总数;◆The total number of processes in the test system;

◆系统请求共享内存数;◆The number of shared memory requested by the system;

◆当前已用共享内存数;◆The number of shared memory currently used;

◆所用内存峰值;◆Peak value of memory used;

●日志查询:系统支持对测试日志的查询,本项实现将写入测试日志文件的日志重新输出到控制台上。●Log query: the system supports the query of the test log, and this item realizes re-outputting the log written in the test log file to the console.

●联机帮助:实现本测试系统的联机帮助功能。●Online help: Realize the online help function of the test system.

语言转换器的作用在于转换TTCN-3测试用例,并生成语义等价的C++测试用例,同时这些转换得到的测试用例满足C++映射接口标准。它是本发明的核心技术之一。The role of the language converter is to convert TTCN-3 test cases and generate semantically equivalent C++ test cases, and these converted test cases meet the C++ mapping interface standard. It is one of the core technologies of the present invention.

图1给出了语言转换器的基本执行流程。TTCN-3测试套在经过词法分析器和语法分析器之后,生成语法正确的抽象语法树,但此时语义并不一定正确,需要从抽象语法树中抽取出语义信息进行检查;另外,在转换过程中,有许多地方需要的信息可能在后面才会提供,通常所采用的回填机制比较简单,但是不够灵活,特别是在需要回填的信息比较多,而我们又对其结构不清楚的时候。因此,语义信息提取器在做语义检查的同时,从抽象语法树中提取出语义信息,填写各个管理器,包括符号管理器、类型管理器、转换器、全局信息索引和作用域管理器。最后由代码生成器对各个管理器的信息进行处理,在助手类的帮助下,生成满足C++映射接口的测试用例。Figure 1 shows the basic execution flow of the language converter. The TTCN-3 test suite generates an abstract syntax tree with correct syntax after passing through the lexical analyzer and syntax analyzer, but the semantics are not necessarily correct at this time, and the semantic information needs to be extracted from the abstract syntax tree for inspection; in addition, when converting During the process, the information needed in many places may be provided later. Usually, the backfill mechanism adopted is relatively simple, but it is not flexible enough, especially when there is a lot of information to be backfilled, and we do not know its structure. Therefore, while doing semantic check, the semantic information extractor extracts semantic information from the abstract syntax tree and fills in various managers, including symbol manager, type manager, converter, global information index and scope manager. Finally, the information of each manager is processed by the code generator, and with the help of the helper class, a test case that satisfies the C++ mapping interface is generated.

语言转换器采用编译技术实现。这是本领域一般技术人员都能轻易解决的课题,故在此就不详细说明了。The language converter is implemented using compiling technology. This is a subject that can be easily solved by those skilled in the art, so it will not be described in detail here.

测试用例执行器负责执行由标准测试语言书写的测试用例,并提供各种基本服务,包括:The test case executor is responsible for executing test cases written in a standard test language and provides various basic services, including:

◆测试配置:一个测试配置由一组相互通过通信端口进行关联测试的组件构成。该服务可以实现对测试组件的动态配置。◆Test configuration: A test configuration consists of a group of components that are associated with each other through communication ports. This service can implement dynamic configuration of test components.

◆用例选择:一个测试套往往包含为数众多的测试用例。用例选择服务根据测试策略决定了每个测试用例是否执行以及执行的次数。◆Selection of use cases: A test suite often contains a large number of test cases. The use case selection service determines whether each test case is executed and the number of execution times according to the test strategy.

◆执行引擎:负责标准测试语言的编译与执行。◆Execution engine: responsible for compiling and executing the standard test language.

◆模板及匹配:提供数据之间的匹配服务,用于对数据进行检测。此服务可以用于接受和发送一些特定的数据集合。◆Template and matching: Provide matching service between data, used for data detection. This service can be used to accept and send some specific data sets.

◆时钟管理:提供时钟的基本管理功能,包括启动、读写、停止、触发等;同时隐藏了不同操作系统的时钟实现细节从而提供统一的时钟服务接口。◆Clock management: Provide basic clock management functions, including start, read, write, stop, trigger, etc.; meanwhile, hide the clock implementation details of different operating systems to provide a unified clock service interface.

◆测试组件通信:提供基于消息或过程的组件通信服务,方便测试组件之间合作,以共同完成一个测试用例的执行。◆Test component communication: Provide message or process-based component communication services to facilitate the cooperation between test components to jointly complete the execution of a test case.

◆参数化:测试运行过程中对测试用例中的各种数据进行多种形式的参数化。◆Parameterization: Various forms of parameterization are performed on various data in the test case during the test operation.

◆执行结果评估:评估测试用例的执行结果,其中引入了二级评估机制,即局部结果评估和全局结果评估,并规定了4种可能值以及相关的值覆盖规则。◆Evaluation of Execution Results: Evaluate the execution results of test cases, which introduces a two-level evaluation mechanism, that is, local result evaluation and global result evaluation, and specifies 4 possible values and related value coverage rules.

图2描述了测试用例执行器的主要的类结构关系。因为测试组件都被实现为进程,所以这些类的功能和结构与进程的管理方式和功能密切相关。其中类TTCN_Proces实现了对测试组件/进程的封装;类TTCN_Process_Options实现了测试组件/进程相关属性的封装;类TTCN_Process_Manager主要用于管理测试组件。Figure 2 depicts the main class structure relationships of the test case executor. Because test components are all implemented as processes, the functions and structures of these classes are closely related to the management methods and functions of processes. The class TTCN_Proces implements the encapsulation of test components/processes; the class TTCN_Process_Options implements the encapsulation of test components/process-related attributes; the class TTCN_Process_Manager is mainly used to manage test components.

共享内存管理器的基本层次结构如图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等接口,实际中,应用程序完全可以根据需要自主选择要使用的一层或者若干层接口。The basic hierarchy of the shared memory manager is shown in Figure 3. Among them, the role of the ShmInitializer class is to initialize the entire shared memory area. It directly calls shmget, shmat and other functions to apply for shared memory space, and guarantees the size of shared memory and the uniqueness of multi-process applications are all the work of this class. The SharedMemory class is responsible for direct management of shared memory. It provides C-standard shared memory operation interfaces such as Allocate and Deallocate for applications, and shared memory object operation interfaces such as AddObject and GetObject. The latter enables inter-processes to use the shared memory manager. Communication becomes possible. The ShmObject class uses the interface of SharedMemory and encapsulates its functions such as Allocate, and provides C++ standard memory operation interfaces such as new and delete for applications. As long as any class inherits from ShmObject, it can directly use new and delete operations. Based on the ShmObject class, a simple STL type container library can be developed. Among them, List, Queue, and Priority Queue are three relatively complete containers, and their interfaces basically conform to the STL specification. In addition, in Figure 3, the shared memory manager opens three-layer interfaces to the application program, including the above-mentioned container library conforming to the STL specification, the new and delete interfaces of the C++ specification, and the allocate and deallocate interfaces of the C specification. In practice, The application program can completely choose one or more layers of interfaces to use according to the needs.

在测试时,测试用例中的每一个测试组件,包括主测试组件、平行测试组件、系统测试组件,都被实现为一个进程。和线程实现方式相比,避免了堆栈空间大小的约束,另外,也不会因为测试组件数量的迅速增加,而导致系统执行效率的急剧下降。进程的创建与测试组件的create动作对应。在具体的代码实现上,先调用系统调用fork()创建子进程,然后再创建平行测试组件或主测试组件的实例。为了方便快速的进行进程间的数据交换,系统采用了POSIX(可移植操作系统接口)进程间通信技术,包括共享内存、互斥锁、事件等等,其中共享内存用于存放通信数据,事件用于通知共享内存中数据的变化,互斥锁用于各个进程对共享内存的同步访问。When testing, each test component in the test case, including the main test component, parallel test component, and system test component, is implemented as a process. Compared with the thread implementation method, it avoids the constraint of the size of the stack space. In addition, it will not cause a sharp drop in system execution efficiency due to the rapid increase in the number of test components. The creation of a process corresponds to the create action of the test component. In terms of specific code implementation, first call the system call fork () to create a child process, and then create an instance of the parallel test component or the main test component. In order to facilitate and quickly exchange data between processes, the system adopts POSIX (Portable Operating System Interface) inter-process communication technology, including shared memory, mutex lock, event, etc., among which shared memory is used to store communication data, and event is used to In order to notify the change of data in the shared memory, the mutex is used for the synchronous access of each process to the shared memory.

基于共享内存的两个进程之间进行过程调用的过程如图4所示。进程PTC1通过端口Port1将调用申请通过编码/解码器编码后写到写入共享内存,进程PTC2的读事件线程从共享内存中读出过程调用事件并利用编码/解码器进行解码,解码后发现是属于端口Port2的过程调用申请,便将其分发到PTC2上的端口Port2,Port2执行被调用的过程,并将执行结果编码写入共享内存;PTC1的读事件线程从共享内存中读出过返回结果并解码,将其分发到PTC1上的端口Port1。The process of making a procedure call between two processes based on shared memory is shown in FIG. 4 . The process PTC1 writes the call application to the shared memory after being encoded by the encoder/decoder through the port Port1. The read event thread of the process PTC2 reads the procedure call event from the shared memory and uses the encoder/decoder to decode it. After decoding, it is found that The procedure call application belonging to port Port2 is distributed to port Port2 on PTC2, and Port2 executes the called procedure, and writes the execution result code into the shared memory; the read event thread of PTC1 reads the returned result from the shared memory And decode it, distribute it to port Port1 on PTC1.

内部编码/解码器的作用是对以C++表示的数据进行加解码。一个测试组件在将数据在存放到共享内存之前必须要利用内部编码/解码器进行编码;另一个测试组件在从共享内存读到的数据,还需要利用内部编码/解码器进行解码之后才能使用。为了进行编码,我们针对C++的数据对象,实现了一套简化的反射机制,该机制可以支持:1)实现对象的按名实例化;2)在不知道对象类型的情况下遍历对象中的变量,对变量进行赋值取值操作。下面介绍该机制的具体实现方法。The role of the internal encoder/decoder is to add and decode data expressed in C++. A test component must use the internal encoder/decoder to encode the data before storing it in the shared memory; another test component needs to use the internal encoder/decoder to decode the data read from the shared memory before it can be used. For coding, we implement a set of simplified reflection mechanism for C++ data objects, which can support: 1) instantiation of objects by name; 2) traversal of variables in objects without knowing the object type , to assign and retrieve values for variables. The specific implementation method of this mechanism is introduced below.

一.按名实例化的实现:1. Realization of instantiation by name:

1.所有的类要继承于基类TTCNValue,这样所有的对象才能通过TTCNValue指针来引用。1. All classes must inherit from the base class TTCNValue, so that all objects can be referenced through TTCNValue pointers.

2.在每个需要实现反射的类中需要提供一个TTCNValue*newInstance()方法,类似于工厂模式,该方法中会创建一个具体的对象的指针。2. In each class that needs to implement reflection, a TTCNValue*newInstance() method needs to be provided, similar to the factory pattern, in which a pointer to a specific object will be created.

3.在程序的静态区创建一个静态的map指针,用来保存类名与类型信息的映射,以便实现按名实例化。前面提到创建的对象中保存着该类的所有信息,所以map中保存的是类名和该类的对象的指针。这个map在程序启动的时候就要建立起来。3. Create a static map pointer in the static area of the program to save the mapping between the class name and type information, so as to realize instantiation by name. As mentioned earlier, all the information of the class is saved in the created object, so the map saves the class name and the pointer of the object of the class. This map is created when the program starts.

4.当给定一个类的名字时,我们就到map的映射中去查找,如果找到这个类的名字,就调用其对应的对象的newInstance()方法,这样就创建了一个新的该类的对象。也就实现了对象的按名实例化。4. When the name of a class is given, we go to the mapping of the map to find it. If we find the name of the class, we call the newInstance() method of the corresponding object, thus creating a new instance of the class. object. It also realizes the instantiation of the object by name.

二.对象中变量的按名遍历2. Traversal of variables in objects by name

1.TTCNType类用来保存类的变量的信息,类TTCNValue的拥有一个静态的指向TTCNType*的protected成员变量。这样每一个继承于TTCNValue的类都拥有唯一一个TTCNType对象来报存其类型信息。1. The TTCNType class is used to save the variable information of the class, and the class TTCNValue has a static protected member variable pointing to TTCNType*. In this way, each class inherited from TTCNValue has a unique TTCNType object to report its type information.

2.每个类对应的TTCNType中保存着类的名字。2. The TTCNType corresponding to each class stores the name of the class.

3.TTCNValue中拥有一个保存成员变量的指针的vector<TTCNValue*>values。在每个具体类型的构造函数中将其成员变量的指针按顺序保存在该vector中。3. TTCNValue has a vector<TTCNValue*>values that holds pointers to member variables. In the constructor of each concrete type, the pointers to its member variables are stored in the vector in sequence.

4.类的成员变量的信息(变量名,类型名)保存在简单类Attribute{attrName,typeName}中。4. The information (variable name, type name) of the member variables of the class is stored in the simple class Attribute{attrName, typeName}.

5.在TTCNType中有一个保存成员变量属性(Attribute)的vector<Attribute>attributes。在每个具体类型的构造函数中将其成员变量的属性按顺序保存在该vector中。5. In TTCNType, there is a vector<Attribute>attributes that saves member variable attributes (Attribute). In the constructor of each concrete type, the properties of its member variables are stored in the vector in order.

TTCNValue中提供了方法TTCNValue &getAttributeByName(stringname),setAttributeValue(string name,TTCNValue &value),就可以通过变量的名字对成员变量的值进行操作。 TTCNValue provides the methods TTCNValue &getAttributeByName(stringname), setAttributeValue(string name, TTCNValue &value), and you can operate on the value of the member variable by the name of the variable.

利用该反射机制,内部编码/解码器可以动态识别数据的类型和大小。为了能够在执行时间使用这种反射机制,语言转换器还需要在生成的C++测试用例中为各种数据添加了各种类型属性信息。Using this reflection mechanism, the internal encoder/decoder can dynamically identify the type and size of data. In order to be able to use this reflection mechanism at execution time, the language converter also needs to add various type attribute information for various data in the generated C++ test case.

被测系统适配器的作用在于:测试执行器在测试用例运行过程中需要和被测系统进行不断的基于消息和过程的通信完成交互操作,而这些交互操作必须通过由系统适配器对具体被测系统进行的适配才能完成。另外,为了能够进行通信,被测系统适配器还需要对所传输数据做相应的格式转换。The role of the system under test adapter is: the test executor needs to communicate with the system under test continuously based on message and process to complete the interactive operation during the test case running, and these interactive operations must be carried out by the system adapter to the specific system under test. The adaptation can be completed. In addition, in order to be able to communicate, the adapter of the system under test needs to convert the corresponding format of the transmitted data.

操作系统适配器的作用在于:在测试用例的执行过程中,测试执行器需要调用各种外部函数。操作系统适配器对不同的操作系统进行适配,向测试执行器隐藏不同操作系统的细节。另外,操作系统适配器除了可以方便测试执行器使用外部函数之外,还可以提供统一的运行时间支持。The function of the operating system adapter is that during the execution of the test case, the test executor needs to call various external functions. The operating system adapter adapts to different operating systems and hides the details of different operating systems from the test executor. In addition, operating system adapters can provide unified runtime support in addition to facilitating the use of external functions by the test executor.

图5显示了面向测试管理器的测试控制接口的基本结构,图6显示了测试执行接口以及面向测试执行器的测试控制接口的基本结构。如图5和图6所示,其中TriCommunicationSA、TriPlatformSA和TriPlatformPA构成了测试执行接口,前两个是测试用例执行器和被测系统适配器之间的调用接口,第三个是测试用例执行器和操作系统适配器之间的调用接口。测试执行接口是TTCN-3运行环境和外界系统交互的标准接口,被测系统适配器、操作系统适配器都是基于它进行开发的。TciTMRequired、TciTMProvided、TciCHRequired和TciCHProvided一起构成了测试控制接口,其中前两个接口类描述了测试管理器被调用和应提供的方法,后两个接口类描述了测试用例执行器被调用和应提供的方法。测试控制接口是测试管理器和测试用例执行器之间的接口,它主要用于在测试用例执行过程中测试管理器和测试用例执行器之间的消息传递。测试用例执行器由测试管理器启动,测试用例执行器在执行过程中,需要不断的向测试管理器通报当前的执行状态,测试管理器根据执行状态信息,向用户汇报当前测试用例执行状况,以及最终的测试结果。Figure 5 shows the basic structure of the test control interface facing the test manager, and Figure 6 shows the basic structure of the test execution interface and the test control interface facing the test executive. As shown in Figure 5 and Figure 6, TriCommunicationSA, TriPlatformSA and TriPlatformPA constitute the test execution interface, the first two are the call interface between the test case executor and the system adapter under test, the third is the test case executor and the operation Call interface between system adapters. The test execution interface is a standard interface for the interaction between the TTCN-3 operating environment and the external system, and the system adapter under test and the operating system adapter are all developed based on it. TciTMRequired, TciTMProvided, TciCHRequired and TciCHProvided together constitute the test control interface, where the first two interface classes describe the methods that the test manager is called and should provide, and the latter two interface classes describe the methods that the test case executor is called and should provide method. The test control interface is the interface between the test manager and the test case executor, and it is mainly used for message passing between the test manager and the test case executor during test case execution. The test case executor is started by the test manager. During the execution process, the test case executor needs to continuously report the current execution status to the test manager. The test manager reports the current test case execution status to the user according to the execution status information, and Final test results.

由上述各模块构成的TTCN-3测试系统采用分层结构,各层之间的功能调用接口严格满足C++映射标准。The TTCN-3 test system composed of the above modules adopts a layered structure, and the function call interface between each layer strictly meets the C++ mapping standard.

利用上述的功能模块,执行测试的具体方法如图7所示,包括如下步骤:Using the above-mentioned functional modules, the specific method for performing the test is shown in Figure 7, including the following steps:

(1)对于TTCN-3的抽象测试套(ATS),由语言转换器将其转换为C++测试用例套;(1) For the abstract test suite (ATS) of TTCN-3, it is converted into a C++ test case suite by a language converter;

(2)上述C++测试用例套与运行环境库RBLib.a一起,在C++编译器中进行联编,生成测试用例库文件TSlib.a供测试用例执行器加载执行;(2) The above-mentioned C++ test case cover is combined with the runtime environment library RBLib.a in the C++ compiler to generate the test case library file TSlib.a for the test case executor to load and execute;

(3)测试系统启动后台进程,并对环境进行初始化,加载配置文件;(3) The test system starts the background process, initializes the environment, and loads the configuration file;

(4)根据要执行的测试用例,加载相应的测试用例库文件TSlib.a;(4) According to the test case to be executed, load the corresponding test case library file TSlib.a;

(5)启动测试管理进程,实例化库文件中的测试用例testcase;(5) Start the test management process and instantiate the test case testcase in the library file;

(6)执行测试用例testcase,报告测试执行结果。(6) Execute the test case testcase and report the test execution result.

在图7中,右侧是TTCN-3运行环境的主流程,左边是语言转换器执行的流程。通过上述的各步骤,可以通过制订C++映射接口标准,由语言转换器将以TTCN-3描述的测试用例转换成等价的以C++描述的测试用例,运行环境编译、加载、执行转换生成的C++测试用例,从而能够充分利用C++的特点,实现测试过程的高效率,满足具有并发、交互、实时等特点的系统进行测试的要求。In Figure 7, the right side is the main flow of the TTCN-3 operating environment, and the left side is the flow executed by the language converter. Through the above steps, by formulating the C++ mapping interface standard, the test case described in TTCN-3 can be converted into an equivalent test case described in C++ by the language converter, and the operating environment compiles, loads, and executes the converted C++ Test cases can make full use of the characteristics of C++ to achieve high efficiency in the testing process and meet the requirements for testing systems with concurrency, interaction, and real-time characteristics.

上面对本发明所述的基于C++映射的TTCN-3测试系统及测试方法进行了详细的说明,但显然本发明的具体实现形式并不局限于此。对于本技术领域的一般技术人员来说,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。The C++ mapping-based TTCN-3 test system and test method of the present invention have been described in detail above, but obviously the specific implementation form of the present invention is not limited thereto. For those skilled in the art, various obvious changes made to the method of the present invention without departing from the spirit of the method and the scope of the claims are within the protection scope of the present invention.

Claims (10)

1.一种基于C++映射的TTCN-3测试系统,其特征在于:1. a kind of TTCN-3 test system based on C++ mapping, is characterized in that: 所述系统包括测试管理器、语言转换器、测试用例执行器、共享内存管理器、内部编码/解码器、C++映射接口、被测系统适配器和操作系统适配器,其中The system includes a test manager, a language converter, a test case executor, a shared memory manager, an internal encoder/decoder, a C++ mapping interface, a system under test adapter, and an operating system adapter, wherein 所述测试管理器对整个测试系统进行管理;所述语言转换器转换TTCN-3测试用例,并生成语义等价的C++测试用例,由所述测试用例执行器负责执行;The test manager manages the entire test system; the language converter converts the TTCN-3 test case, and generates a semantically equivalent C++ test case, which is executed by the test case executor; 测试用例中的测试组件通过所述内部编码/解码器对其存放到共享内存的数据进行编解码,所述共享内存管理器对所述共享内存进行管理;The test component in the test case encodes and decodes the data stored in the shared memory by the internal encoder/decoder, and the shared memory manager manages the shared memory; 所述C++映射接口包括测试控制接口和测试执行接口,所述测试控制接口实现所述测试用例执行器与所述被测系统适配器及所述操作系统适配器之间的连接,所述测试执行接口实现所述测试管理器与所述测试用例执行器之间的连接。The C++ mapping interface includes a test control interface and a test execution interface, the test control interface realizes the connection between the test case executor and the system adapter under test and the operating system adapter, and the test execution interface realizes A connection between the test manager and the test case executor. 2.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:2. the TTCN-3 test system based on C++ mapping as claimed in claim 1, is characterized in that: 所述测试用例执行器包括TTCN_Proces类,TTCN_Process_Options类和TTCN_Process_Manager类,其中所述类TTCN_Proces实现对测试组件/进程的封装;类TTCN_Process_Options实现测试组件/进程相关属性的封装;类TTCN_Process_Manager用于管理测试组件。Described test case executor comprises TTCN_Proces class, TTCN_Process_Options class and TTCN_Process_Manager class, wherein said class TTCN_Proces realizes the encapsulation to test component/process; Class TTCN_Process_Options realizes the encapsulation of test component/process related attribute; Class TTCN_Process_Manager is used for managing test component. 3.如权利要求所述的基于C++映射的TTCN-3测试系统,其特征在于:3. the TTCN-3 test system based on C++ mapping as claimed in claim, is characterized in that: 所述共享内存管理器对应用程序开放三层接口,包括符合STL规格的容器库;符合C++规格的new,delete接口;以及符合C规格的allocate,deallocate接口。The shared memory manager opens a three-layer interface to the application program, including the container library conforming to the STL specification; the new and delete interfaces conforming to the C++ specification; and the allocate and deallocate interfaces conforming to the C specification. 4.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:4. the TTCN-3 test system based on C++ mapping as claimed in claim 1, is characterized in that: 所述测试用例中的各测试组件都被实现为一个进程。Each test component in the test case is implemented as a process. 5.如权利要求4所述的基于C++映射的TTCN-3测试系统,其特征在于:5. the TTCN-3 test system based on C++ mapping as claimed in claim 4, is characterized in that: 所述各进程之间采用符合POSIX标准的进程间通信技术。The inter-process communication technology conforming to the POSIX standard is adopted among the processes. 6.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:6. the TTCN-3 test system based on C++ mapping as claimed in claim 1, is characterized in that: 所述测试系统采用分层结构,各层之间的功能调用接口严格满足C++映射标准。The test system adopts a layered structure, and the function call interface between layers strictly meets the C++ mapping standard. 7.如权利要求1所述的基于C++映射的TTCN-3测试系统,其特征在于:7. the TTCN-3 test system based on C++ mapping as claimed in claim 1, is characterized in that: 所述内部编码/解码器利用反射机制动态识别数据的类型和大小。The inner encoder/decoder uses reflection mechanism to dynamically identify the type and size of data. 8.一种基于如权利要求1所述的TTCN-3测试系统实现的测试方法,其特征在于包括如下步骤:8. A test method realized based on TTCN-3 test system as claimed in claim 1, is characterized in that comprising the steps: (1)对于TTCN-3的抽象测试套,由语言转换器将其转换为C++测试用例套;(1) For the abstract test suite of TTCN-3, it is converted into a C++ test case suite by the language converter; (2)所述C++测试用例套与运行环境库一起,在C++编译器中进行联编,生成测试用例库文件供测试用例执行器加载执行;(2) described C++ test case cover is together with operating environment library, is linked in C++ compiler, generates test case library file and loads and executes for test case executor; (3)测试系统启动后台进程,并对环境进行初始化,加载配置文件;(3) The test system starts the background process, initializes the environment, and loads the configuration file; (4)根据要执行的测试用例,加载相应的测试用例库文件;(4) According to the test case to be executed, load the corresponding test case library file; (5)启动测试管理进程,实例化库文件中的测试用例;(5) Start the test management process and instantiate the test cases in the library file; (6)执行测试用例,报告测试执行结果。(6) Execute test cases and report test execution results. 9.如权利要求8所述的测试方法,其特征在于:9. testing method as claimed in claim 8, is characterized in that: 所述语言转换器对TTCN-3的抽象测试套进行如下处理:经过词法分析器和语法分析器之后,生成抽象语法树,由语义信息提取器在做语义检查的同时,从抽象语法树中提取出语义信息,填写各个管理器,包括符号管理器、类型管理器、转换器、全局信息索引和作用域管理器,最后由代码生成器对各个管理器的信息进行处理,在助手类的帮助下,生成满足C++映射接口的测试用例。The language converter performs the following processing on the abstract test suite of TTCN-3: after the lexical analyzer and the syntax analyzer, an abstract syntax tree is generated, and the semantic information extractor extracts from the abstract syntax tree while performing semantic inspection. Output semantic information, fill in each manager, including symbol manager, type manager, converter, global information index and scope manager, and finally the code generator will process the information of each manager, with the help of helper class , to generate test cases that satisfy the C++ mapping interface. 10.如权利要求9所述的测试方法,其特征在于:10. testing method as claimed in claim 9, is characterized in that: 所述语言转换器在生成的C++测试用例中为数据添加类型属性信息。The language converter adds type attribute information to the data in the generated C++ test case.
CNB2005100535248A 2005-03-08 2005-03-08 TTCN-3 Test System and Test Method Based on C++ Mapping Expired - Fee Related CN100435113C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100535248A CN100435113C (en) 2005-03-08 2005-03-08 TTCN-3 Test System and Test Method Based on C++ Mapping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100535248A CN100435113C (en) 2005-03-08 2005-03-08 TTCN-3 Test System and Test Method Based on C++ Mapping

Publications (2)

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

Family

ID=36784396

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100535248A Expired - Fee Related CN100435113C (en) 2005-03-08 2005-03-08 TTCN-3 Test System and Test Method Based on C++ Mapping

Country Status (1)

Country Link
CN (1) CN100435113C (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212357B (en) * 2006-12-31 2010-09-15 亿阳信通股份有限公司 Method and device for testing an interface
CN102035896A (en) * 2010-12-31 2011-04-27 北京航空航天大学 TTCN-3-based distributed testing framework applicable to software system
CN102426534A (en) * 2011-11-02 2012-04-25 大唐移动通信设备有限公司 Method and system for converting test script language into executable instruction
CN102929680A (en) * 2012-10-19 2013-02-13 普华基础软件股份有限公司 Method, device and system for converting a testing and test control notation version 3 (TTCN-3) script into a Java source code
CN101685420B (en) * 2008-09-24 2013-06-12 中兴通讯股份有限公司 Multithreading debugging method and device
CN103473109A (en) * 2013-08-30 2013-12-25 北京中创信测科技股份有限公司 Method and system for compiling TTCN-3 (testing and test control notation 3) based on System Verilog
CN106095668A (en) * 2016-06-02 2016-11-09 上海科梁信息工程股份有限公司 Generation method based on the C++ test case of event and action
CN106933554A (en) * 2015-12-30 2017-07-07 北京国双科技有限公司 Class conversion method and device
CN109408358A (en) * 2018-08-03 2019-03-01 中国人民解放军63928部队 Interoperability Test Method and system between a kind of operating system
CN109726096A (en) * 2017-10-27 2019-05-07 中移(苏州)软件技术有限公司 Method and device for generating test data
CN112256457A (en) * 2020-11-06 2021-01-22 开普云信息科技股份有限公司 A shared memory-based data loading acceleration method, device, electronic device and storage medium
CN112363942A (en) * 2020-11-17 2021-02-12 浪潮云信息技术股份公司 System and method for realizing reusable unit test

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100403264C (en) * 2001-11-07 2008-07-16 华为技术有限公司 TTCN test case execution method
CN1212569C (en) * 2002-11-01 2005-07-27 英业达股份有限公司 Multi-threaded automated testing method
CN1519721A (en) * 2003-01-23 2004-08-11 英业达股份有限公司 Computer test system capable of dynamic expansion and method thereof

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212357B (en) * 2006-12-31 2010-09-15 亿阳信通股份有限公司 Method and device for testing an interface
CN101685420B (en) * 2008-09-24 2013-06-12 中兴通讯股份有限公司 Multithreading debugging method and device
CN102035896A (en) * 2010-12-31 2011-04-27 北京航空航天大学 TTCN-3-based distributed testing framework applicable to software system
CN102035896B (en) * 2010-12-31 2012-12-05 北京航空航天大学 TTCN-3-based distributed testing framework applicable to software system
CN102426534B (en) * 2011-11-02 2014-06-04 大唐联仪科技有限公司 Method and system for converting test script language into executable instruction
CN102426534A (en) * 2011-11-02 2012-04-25 大唐移动通信设备有限公司 Method and system for converting test script language into executable instruction
CN102929680B (en) * 2012-10-19 2016-03-02 普华基础软件股份有限公司 TTCN-3 script is converted to a method for Java source code, device and system
CN102929680A (en) * 2012-10-19 2013-02-13 普华基础软件股份有限公司 Method, device and system for converting a testing and test control notation version 3 (TTCN-3) script into a Java source code
CN103473109A (en) * 2013-08-30 2013-12-25 北京中创信测科技股份有限公司 Method and system for compiling TTCN-3 (testing and test control notation 3) based on System Verilog
CN103473109B (en) * 2013-08-30 2017-01-04 北京中创信测科技股份有限公司 Method and system TTCN-3 being compiled based on System Verilog
CN106933554A (en) * 2015-12-30 2017-07-07 北京国双科技有限公司 Class conversion method and device
CN106095668A (en) * 2016-06-02 2016-11-09 上海科梁信息工程股份有限公司 Generation method based on the C++ test case of event and action
CN106095668B (en) * 2016-06-02 2018-12-11 上海科梁信息工程股份有限公司 The generation method of C++ test case based on event and movement
CN109726096A (en) * 2017-10-27 2019-05-07 中移(苏州)软件技术有限公司 Method and device for generating test data
CN109726096B (en) * 2017-10-27 2022-04-01 中移(苏州)软件技术有限公司 Test data generation method and device
CN109408358A (en) * 2018-08-03 2019-03-01 中国人民解放军63928部队 Interoperability Test Method and system between a kind of operating system
CN112256457A (en) * 2020-11-06 2021-01-22 开普云信息科技股份有限公司 A shared memory-based data loading acceleration method, device, electronic device and storage medium
CN112363942A (en) * 2020-11-17 2021-02-12 浪潮云信息技术股份公司 System and method for realizing reusable unit test

Also Published As

Publication number Publication date
CN100435113C (en) 2008-11-19

Similar Documents

Publication Publication Date Title
US8978020B2 (en) Generating reusable test components out of remote application programming interface
CN1313923C (en) Software distribution method and system
CN100351785C (en) Method for debuging embedded system and equipment
CN1786925A (en) TTCN-3 testing system basedon C++ mapping and its testing method
CN1688970A (en) Classes and Interfaces of the User Interface Automation Framework
CN1537271A (en) Computer processing and programming method using autonomous data processor
CN1543601A (en) Supervisory process control and manufacturing information system application with hierarchical structure
CN1567301A (en) Method and apparatus for accessing database
CN1641601A (en) Software unit measuring method
CN1313920C (en) Member assembling method based on united member package structure
CN1755617A (en) Entity domain
CN100337216C (en) Software test method
CN1264090C (en) Packaging method for intelligent pointer of calling structure object function
CN1866283A (en) System and method for implementing regular system triggering
CN1777124A (en) Protocol test device and method for realizing protocol test
CN1737755A (en) Modeling and code generating method of embedded real-time operating system
US10635416B2 (en) Property filtering
CN101055521A (en) Mapping rule visualized generation method and system
CN1677361A (en) Distributed test assembly frame system and test assembly transparent transmission method
CN1863102A (en) System and method for testing apparatus based on managing information base
CN101075190A (en) Data engine in resource management platform
CN1967475A (en) Development system of script command line
CN100343819C (en) Method for traversing and accessing object in tested application program
CN110502230A (en) A kind of application development method based on dynamically load component
CN1975669A (en) Method for service logic mapping onto applied language discribed by XML language

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