CN103164306B - 一种测试逻辑的生成方法及装置 - Google Patents

一种测试逻辑的生成方法及装置 Download PDF

Info

Publication number
CN103164306B
CN103164306B CN201310097591.4A CN201310097591A CN103164306B CN 103164306 B CN103164306 B CN 103164306B CN 201310097591 A CN201310097591 A CN 201310097591A CN 103164306 B CN103164306 B CN 103164306B
Authority
CN
China
Prior art keywords
module
logic
testing
configuration file
working group
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.)
Active
Application number
CN201310097591.4A
Other languages
English (en)
Other versions
CN103164306A (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.)
Beijing Runke General Technology Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech Co Ltd
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 Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201310097591.4A priority Critical patent/CN103164306B/zh
Publication of CN103164306A publication Critical patent/CN103164306A/zh
Application granted granted Critical
Publication of CN103164306B publication Critical patent/CN103164306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/26Arrangements for supervision, monitoring or testing with means for applying test signals or for measuring
    • H04M3/28Automatic routine testing ; Fault testing; Installation testing; Test methods, test equipment or test arrangements therefor
    • H04M3/30Automatic routine testing ; Fault testing; Installation testing; Test methods, test equipment or test arrangements therefor for subscriber's lines, for the local loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/18Comparators

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种测试逻辑的生成方法,所述方法基于配置语言来设计解析和执行引擎,并分离逻辑控制与模块配置内容,测试软件中执行特定动作的模块和整个测试逻辑也采用上述配置语言来统一描述,从而用户可以通过应用程序提供的界面,根据测试软件中已被描述和分离的具有特定测试功能的模块来定义目标测试逻辑需完成的动作及动作顺序。该方法在测试不同功能的电子产品时,能够使用户方便的自由定义测试功能及测试顺序,不需要用户再专门编写特定功能的程序。同时本发明还公开了一种测试逻辑的生成装置,所述装置同样不需要用户在面对不同功能电子产品的测试问题时专门编写测试程序,对使用者的专业水平要求低,适用性强。

Description

一种测试逻辑的生成方法及装置
技术领域
本发明涉及测控技术领域,更具体的说,是涉及一种测试逻辑的生成方法及装置。
背景技术
随着人们生活水平的提高,各种各样的电子产品也进入越来越多用户的日常生活中。面对用户越来越高的要求,电子产品的可靠性成为界内人员关注的一个重点。而自动测试技术,是检测电子产品可靠性的有效技术手段。
自动测试的测试逻辑取决于被测电子产品的功能特性,例如,一个手机具有蓝牙通讯功能,那么其自动测试的测试逻辑里就要有测试蓝牙通讯功能的相关程序及该程序的执行条件;而如果上述手机不具备蓝牙通信功能,其自动测试的测试逻辑里就不需要具有测试蓝牙通讯功能的相关程序及该程序的执行条件。针对某一具有固定功能的电子产品,其测试逻辑也是固定的,当被测电子产品的功能发生变化时,对应的测试逻辑同样的需要变化。而目前市场上的电子产品功能各异,为了满足一套自动测试平台能够适应于不同功能的电子产品的测试工作的要求,现有技术中通常采用脚本方式或替换不同的接口程序来执行不同的测试程序,以实现对不同功能电子产品进行测试的目的。但是,现有技术中的脚本方式和替换不同的接口程序都需要通过编程的方式来实现,这就大大提高了对使用者的专业要求,降低了自动测试平台的适用性。
发明内容
有鉴于此,本发明提供了一种测试逻辑的生成方法及装置,以克服现有技术中由于采用脚本方式和替换不同的接口程序执行对不同功能电子产品的测试需要通过编程的方式来实现而导致的,对使用者专业要求高、自动测试平台适用性低的问题。
为实现上述目的,本发明提供如下技术方案:
一种测试逻辑的生成方法,包括:
获取配置文件的结构;
根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离;
采用所述配置文件描述所述功能模块,描述内容包括所述功能模块的功能特性及配置;
根据所述功能模块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
可选的,所述将测试软件中的逻辑控制部分与功能模块部分分离,包括:将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;
所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;
所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;
所述模块集合由用户或开发商预先配置;
所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中的模块的实现提供基础。
可选的,还包括:
采用动态库方式将所述模块集合中不存在的模块添加至所述模块集合中。
可选的,所述动态库包括多个函数,所述多个函数用于实现创建模块、销毁模块、指定模块的配置文件路径、获取模块类的名称和运行模块。
可选的,所述配置文件包括:可扩展标记语言文件、初始化文件和二进制文件。
可选的,所述目标测试逻辑的描述内容包括将模块集合中的模块分为多个工作组,包括:
获取测试逻辑配置文件中的第一个工作组,并执行工作组流程;
所述工作组流程包括:判断所述工作组是否为阻塞式;如果是,在阻塞式工作线程中运行所述工作组中的模块;如果否,则创建一个非阻塞式工作线程,并在所述非阻塞式工作线程中运行所述工作组中的模块;
判断所述测试逻辑配置文件中是否存在下一个工作组,如果存在,则获取所述下一个工作组并执行所述工作组流程,直至所有的工作组都执行过所述工作组流程。
可选的,所述运行所述工作组中的模块,包括:
获取所述工作组中的第一个模块并执行;
获取模块返回值,并根据所述返回值获取下一个模块的描述名称;
判断当前工作线程中是否存在符合所述描述名称的模块;
如果是,则获取符合所述描述名称的模块并执行;
如果否,判断当前工作组中是否存在下一模块;如果存在,则获取下一模块并执行。
一种测试逻辑的生成装置,包括:
结构获取模块,用于预先获取配置文件的结构;
软件划分模块,用于根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离;
模块描述模块,用于采用所述配置文件描述所述功能模块,描述内容包括所述功能模块的功能特性及配置;
测试逻辑描述模块,用于根据所述功能模块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
可选的,所述软件划分模块包括:划分子模块,用于将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;所述模块集合由开发商预先配置,或由用户根据实际情况配置;所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中的模块的实现提供基础。
可选的,还包括:
模板添加模块,用于采用动态库方式将所述模块集合中不存在的模块添加至所述模块集合中。
经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种测试逻辑的生成方法,所述方法基于配置语言来设计解析和执行引擎,并分离逻辑控制与模块配置内容,测试软件中执行特定动作的模块和整个测试逻辑也采用上述配置语言来统一描述,从而用户可以通过应用程序提供的界面,根据测试软件中已被描述和分离的具有特定测试功能的模块来定义目标测试逻辑需完成的动作及动作顺序。该方法在测试不同功能的电子产品时,能够使用户方便的自由定义测试功能及测试顺序,不需要用户再专门编写特定功能的程序。同时本发明还公开了一种测试逻辑的生成装置,所述装置同样不需要用户在面对不同功能电子产品的测试问题时专门编写测试程序,对使用者的专业水平要求低,适用性强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的测试逻辑生成方法的流程图;
图2为本发明实施例公开的测试软件的结构流程图;
图3为本发明实施例公开的工作组逻辑执行流程图;
图4为图3所示实施例公开的工作组中模块逻辑执行流程图;
图5为本发明实施例公开的另一测试逻辑生成方法的流程图;
图6为本发明实施例公开的测试逻辑生成装置的结构框图;
图7为本发明实施例公开的另一测试逻辑生成装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例公开的测试逻辑生成方法的流程图,图2为本发明实施例公开的测试软件的结构流程图,参见图1和图2所示,所述方法可以包括:
步骤101:获取配置文件的结构;
配置文件的结构可以包括两部分内容,一是具有执行单元的相关参数设置,即指示怎样执行动作;二是具有执行单元的逻辑控制设置,即指示跳转、条件和是否阻塞等动作走向的相关内容。由于每一种配置文件都具有特定的格式,这个格式必须能够被测试软件解析,因此需要预先确定配置文件的结构。
本发明实施例中,所述配置文件可以是可扩展标记语言文件、初始化文件和二进制文件中的一种,也可以是现有技术中的其他配置语言。
需要说明的是,并不是每一次生成测试逻辑都需要执行步骤101,如果需要生成多组不同的测试逻辑,且所述多组不同的测试逻辑都可以采用同一种配置文件的格式来描述和配置,那么在第一次生成测试逻辑时,执行步骤101,后面几组的测试逻辑生成过程中则不需要再执行步骤101,只需从下述的步骤102开始执行。
步骤102:根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离。
在步骤101获取配置文件的结构之后,测试软件可以根据所述配置文件设计解析和执行引擎,用以测试逻辑的执行,并可以通过所述应用程序按照所述配置文件的格式生成配置界面,使得用户可以通过该配置界面修改配置参数,并执行逻辑。
步骤102中,所述将测试软件中的逻辑控制部分与功能模块部分分离,具体可以包括将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;所述模块集合由用户预先配置;所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中是模块的实现提供基础。具体的结构和关系可以参见图2,图2中,模块集合中以电源模块、DIO模块、1553模块、延时模块和通知模块为例,基础库以1553操作API(应用程序编程接口)、DIO操作API、电源操作API和与应用程序通信API为例。
步骤102后,经过对测试软件的划分,才能够将控制逻辑和模块的实际功能分离,从而实现通过配置的改变来改变测试流程,实现用户根据电子产品的功能自主定义测试逻辑。
步骤103:采用所述配置文件描述所述功能模块,描述内容包括所述功能模块的功能特性及配置。
本发明实施例中,所述模块采用动态库来实现,在模块的描述文件中,通过文件路径的方式描述相应的模块以及其配置内容。当前测试软件支持的模块可以在配置界面中进行修改,例如添加、移动和删除。
步骤104:根据所述功能块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
其中,所述目标测试逻辑的描述内容可以包括将模块集合中的模块分为多个工作组,则具体操作流程可以参见图3,图3为本发明实施例公开的工作组逻辑执行流程图,如图3所示,可以包括:
步骤301:获取测试逻辑配置文件中的第一个工作组。
在对模块集合中的模块划分工作组时,可以给划分好的工作组进行编号,这样,在步骤301中可以方便的获取第一个工作组。
步骤302:判断所述工作组是否为阻塞式,如果否,进入步骤303;如果是,进入步骤304。
工作组指定了模块的运行方式,分为阻塞式和非阻塞式两种。阻塞式的工作组使用应用程序的主工作线程,而每一个非阻塞式工作组都需要具有各自独立的工作线程,跳转动作只能出现在同一个工作线程中。
步骤303:创建一个非阻塞式工作线程。
在工作组为非阻塞式工作组时,需要为所述非阻塞式的工作组单独建立一个工作线程。
步骤304:在相应的工作线程中运行工作组中的模块。
如果是阻塞式工作组,则在应用程序的主工作线程中运行工作组中的模块;如果是非阻塞式工作组,则在为其单独建立的工作线程中运行所述非阻塞式工作组中的模块。
步骤305:判断所述测试逻辑配置文件中是否存在下一个工作组,如果是,进入步骤306。
步骤306:获取所述下一个工作组,并进入步骤302。
步骤306中,如果判断结果为否,则流程结束。
上述步骤302~步骤304可以统称为工作组流程,在对第一个工作组执行完工作组流程后,判断所述测试逻辑配置文件中是否存在下一个工作组,如果存在,则获取所述下一个工作组并执行所述工作组流程,直至所有的工作组都执行过所述工作组流程。
图4为图3所示实施例公开的工作组中模块逻辑执行流程图,参见图4所示,可以包括:
步骤401:获取所述工作组中的第一个模块。
步骤402:执行模块。
步骤403:获取模块返回值,并根据所述返回值获取下一个模块的描述名称。
步骤404:判断当前工作线程中是否存在符合所述描述名称的模块,如果是,进入步骤405;如果否,进入步骤406。
步骤405:获取符合所述描述名称的模块,并进入步骤402。
步骤406:判断当前工作组中是否存在下一模块,如果存在,进步步骤407。
如果判断结果为不存在,则流程结束。
步骤407:获取下一模块,并进入步骤402。
本发明实施例中,一个模块是一个模块以及模块配置的一份拷贝,从而能够实现针对不同的模块进行单独的配置。其中,模块可以包含两部分内容,一是模板实例运行配置内容,二是模板实例的跳转定义,即模板实例运行完毕后,应该跳转至哪一个模板实例。每一个模板实例在所述目标测试逻辑中具有唯一的名称。
本实施例中,所述测试逻辑的生成方法基于配置语言来设计解析和执行引擎,并分离逻辑控制与模块配置内容,测试软件中执行特定动作的模块和整个测试逻辑也采用上述配置语言来统一描述,从而用户可以通过应用程序提供的界面,根据测试软件中已被描述和分离的具有特定测试功能的模块来定义目标测试逻辑需完成的动作及动作顺序。该方法在测试不同功能的电子产品时,能够使用户方便的自由定义测试功能及测试顺序,不需要用户再专门编写特定功能的程序。
实施例二
图5为本发明实施例公开的另一测试逻辑生成方法的流程图,参见图5所示,所述方法可以预先获取配置文件的结构,可以包括步骤:
步骤501:根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离。
本发明实施例中,所述配置文件可以是可扩展标记语言文件、初始化文件和二进制文件中的一种,也可以是现有技术中的其他配置语言。
所述将测试软件中的逻辑控制部分与功能模块部分分离,具体可以包括:将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;所述模块集合由用户预先配置;所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中是模块的实现提供基础。
步骤502:采用动态库方式将所述模块集合中不存在的模块添加至所述模块集合中。
其中,所述动态库具备特定的接口,能够实现模块的第三方扩充。配合提供模块配置文件,可以将所述模块集合中不存在的模块添加至所述模块的描述文件中。
所述动态库包括多个函数,能够实现多种功能,例如:实现创建模块、销毁模块、指定模块的配置文件路径、获取模块类的名称和运行模块等功能,由于动态库的每一个函数都有特定唯一的名称,从而所述动态库具备特定的接口。具体的,创建模块的过程可以返回能够唯一标识模块的句柄;销毁模块的过程可以包括通过句柄下回模块;定模块的配置文件路径可以包括设置模块的运行参数,将模块的配置文件与模块进行绑定;获取模块类的名称可以包括获取模块类的描述字符串,用于UI显示;运行模块可以包括指定上下文运行模块。
步骤503:采用所述配置文件描述所述模块集合中的模块,描述内容包括所述模块的功能特性及配置。
步骤504:根据所述模块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
本实施例中,所述测试逻辑的生成方法基于配置语言来设计解析和执行引擎,并分离逻辑控制与模块配置内容,测试软件中执行特定动作的模块和整个测试逻辑也采用上述配置语言来统一描述,从而用户可以通过应用程序提供的界面,根据测试软件中已被描述和分离的具有特定测试功能的模块来定义目标测试逻辑需完成的动作及动作顺序。该方法在测试不同功能的电子产品时,能够使用户方便的自由定义测试功能及测试顺序,不需要用户再专门编写特定功能的程序。且能够通过动态数据库实现专业水平高的用户对编程内容的扩充,方便专业水平高的用户使用。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
实施例三
图6为本发明实施例公开的测试逻辑生成装置的结构框图,参见图6所示,所述测试逻辑生成装置60可以包括:
结构获取模块601,用于预先获取配置文件的结构。
软件划分模块602,用于根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离。
所述装置会预先获取配置文件的结构,配置文件的结构可以包括两部分内容,一是具有执行单元的相关参数设置,即指示怎样执行动作;二是具有执行单元的逻辑控制设置,即指示跳转、条件和是否阻塞等动作走向的相关内容。通过结构获取模块预先获取配置文件的结构,测试软件可以根据所述配置文件设计解析和执行引擎,用以测试逻辑的执行,并可以通过所述应用程序按照所述配置文件的格式生成配置界面,使得用户可以通过该配置界面修改配置参数,并执行逻辑。
本发明实施例中,所述配置文件可以是可扩展标记语言文件、初始化文件和二进制文件中的一种,也可以是现有技术中的其他配置语言。
其中,所述软件划分模块602可以包括子划分模块,用于将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;所述模块集合由用户预先配置;所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中是模块的实现提供基础。
模块描述模块603,用于采用所述配置文件描述所述功能模块,描述内容包括所述功能模块的功能特性及配置。
本发明实施例中,所述功能模块采用动态库来实现,在功能模块的描述文件中,通过文件路径的方式描述相应的功能模块以及其配置内容。
测试逻辑描述模块604,用于根据所述功能模块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
本实施例中,所述测试逻辑生成装置能够采用配置语言来设计解析和执行引擎,并分离逻辑控制与模块配置内容,测试软件中执行特定动作的模块和整个测试逻辑也采用上述配置语言来统一描述,从而用户可以通过应用程序提供的界面,根据测试软件中已被描述和分离的具有特定测试功能的模块来定义目标测试逻辑需完成的动作及动作顺序。该方法在测试不同功能的电子产品时,能够使用户方便的自由定义测试功能及测试顺序,不需要用户再专门编写特定功能的程序。
实施例四
图7为本发明实施例公开的另一测试逻辑生成装置的结构框图,参见图7所示,所述测试逻辑生成装置70可以包括:
结构获取模块601,用于预先获取配置文件的结构。
软件划分模块602,用于根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离。
其中,所述软件划分模块602可以包括子划分模块,用于将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;所述模块集合由用户预先配置;所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中是模块的实现提供基础。
模板添加模块701,用于采用动态库方式将所述模块集合中不存在的模块添加至所述模块集合中。
其中,所述动态库具备特定的接口,能够实现模块的第三方扩充。配合提供模块配置文件,可以将所述模块集合中不存在的模块添加至所述模块的描述文件中。
模块描述模块603,用于采用所述配置文件描述所述模块集合中的模块,描述内容包括所述模块的功能特性及配置。
测试逻辑描述模块604,用于根据所述模块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
本实施例中,所述测试逻辑的生成装置可以基于配置语言来设计解析和执行引擎,并分离逻辑控制与模块配置内容,测试软件中执行特定动作的模块和整个测试逻辑也采用上述配置语言来统一描述,从而用户可以通过应用程序提供的界面,根据测试软件中已被描述和分离的具有特定测试功能的模块来定义目标测试逻辑需完成的动作及动作顺序。该方法在测试不同功能的电子产品时,能够使用户方便的自由定义测试功能及测试顺序,不需要用户再专门编写特定功能的程序。且能够通过动态数据库实现专业水平高的用户对编程内容的扩充,方便专业水平高的用户使用。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种测试逻辑的生成方法,其特征在于,包括:
获取配置文件的结构;
根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离;其中,所述解析引擎用于解析所述配置文件,所述执行引擎用于执行生成的测试逻辑;
采用所述配置文件描述所述功能模块,描述内容包括所述功能模块的功能特性及配置;
根据所述功能模块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
2.根据权利要求1所述的方法,其特征在于,所述将测试软件中的逻辑控制部分与功能模块部分分离,包括:将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;
所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;
所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;
所述模块集合由用户或开发商预先配置;
所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中的模块的实现提供基础。
3.根据权利要求2所述的方法,其特征在于,还包括:
采用动态库方式将所述模块集合中不存在的模块添加至所述模块集合中。
4.根据权利要求3所述的方法,其特征在于,所述动态库包括多个函数,所述多个函数用于实现创建模块、销毁模块、指定模块的配置文件路径、获取模块类的名称和运行模块。
5.根据权利要求1所述的方法,其特征在于,所述配置文件包括:可扩展标记语言文件、初始化文件和二进制文件。
6.根据权利要求2所述的方法,其特征在于,所述目标测试逻辑的描述内容包括将模块集合中的模块分为多个工作组,包括:
获取测试逻辑配置文件中的第一个工作组,并执行工作组流程;
所述工作组流程包括:判断所述工作组是否为阻塞式;如果是,在阻塞式工作线程中运行所述工作组中的模块;如果否,则创建一个非阻塞式工作线程,并在所述非阻塞式工作线程中运行所述工作组中的模块;
判断所述测试逻辑配置文件中是否存在下一个工作组,如果存在,则获取所述下一个工作组并执行所述工作组流程,直至所有的工作组都执行过所述工作组流程。
7.根据权利要求6所述的方法,其特征在于,所述运行所述工作组中的模块,包括:
获取所述工作组中的第一个模块并执行;
获取模块返回值,并根据所述返回值获取下一个模块的描述名称;
判断当前工作线程中是否存在符合所述描述名称的模块;
如果是,则获取符合所述描述名称的模块并执行;
如果否,判断当前工作组中是否存在下一模块;如果存在,则获取下一模块并执行。
8.一种测试逻辑的生成装置,其特征在于,包括:
结构获取模块,用于预先获取配置文件的结构;
软件划分模块,用于根据所述配置文件的结构生成解析引擎和执行引擎,并将测试软件中的逻辑控制部分与功能模块部分分离;其中,所述解析引擎用于解析所述配置文件,所述执行引擎用于执行生成的测试逻辑;
模块描述模块,用于采用所述配置文件描述所述功能模块,描述内容包括所述功能模块的功能特性及配置;
测试逻辑描述模块,用于根据所述功能模块的功能特性及配置,采用所述配置文件描述出目标测试逻辑。
9.根据权利要求8所述的装置,其特征在于,所述软件划分模块包括:划分子模块,用于将测试软件分为应用程序、逻辑管理模块、模块集合和基础库;所述应用程序用于为用户提供协议定制的界面,并控制测试动作的开始和停止以及所述基础库的初始化;所述逻辑管理模块用于在所述应用程序运行后,基于所述应用程序配置的协议调度所述模块集合中的模块;所述模块集合由开发商预先配置,或由用户根据实际情况配置;所述基础库封装多种应用程序编程接口函数,用于为所述模块集合中的模块的实现提供基础。
10.根据权利要求9所述的装置,其特征在于,还包括:
模板添加模块,用于采用动态库方式将所述模块集合中不存在的模块添加至所述模块集合中。
CN201310097591.4A 2013-03-25 2013-03-25 一种测试逻辑的生成方法及装置 Active CN103164306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310097591.4A CN103164306B (zh) 2013-03-25 2013-03-25 一种测试逻辑的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310097591.4A CN103164306B (zh) 2013-03-25 2013-03-25 一种测试逻辑的生成方法及装置

Publications (2)

Publication Number Publication Date
CN103164306A CN103164306A (zh) 2013-06-19
CN103164306B true CN103164306B (zh) 2015-05-20

Family

ID=48587416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310097591.4A Active CN103164306B (zh) 2013-03-25 2013-03-25 一种测试逻辑的生成方法及装置

Country Status (1)

Country Link
CN (1) CN103164306B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309783B (zh) * 2013-07-08 2017-02-08 北京经纬恒润科技有限公司 一种基于总线通信的测试方法及装置
CN105319480B (zh) * 2014-07-21 2019-11-12 南京中兴新软件有限责任公司 线路诊断方法及装置
CN105868095B (zh) * 2015-01-22 2018-11-13 阿里巴巴集团控股有限公司 生成测试数据的方法及设备
CN105204383B (zh) * 2015-08-11 2018-03-02 中国航空工业集团公司西安飞机设计研究所 应用伺服系统的生成方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243609A (zh) * 2011-06-15 2011-11-16 惠州运通信息技术有限公司 一种基于嵌入式软件的测试分析方法及系统
CN102495802A (zh) * 2011-12-26 2012-06-13 华为技术有限公司 测试软件系统的方法和装置以及计算机系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102243609A (zh) * 2011-06-15 2011-11-16 惠州运通信息技术有限公司 一种基于嵌入式软件的测试分析方法及系统
CN102495802A (zh) * 2011-12-26 2012-06-13 华为技术有限公司 测试软件系统的方法和装置以及计算机系统

Also Published As

Publication number Publication date
CN103164306A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
KR102096195B1 (ko) 플러그인화 패키징 방법, 장치, 터미널 및 저장 매체
CN103164306B (zh) 一种测试逻辑的生成方法及装置
CN108334365B (zh) 一种实现自动测试系统软件中仪器参数界面动态配置方法
TW200504559A (en) Configurable PLC and SCADA-based control system
CN108459792B (zh) 一种流量切换方法、装置、及计算机设备
CN105760146A (zh) 一种用户界面布局方法及系统
CN108536451B (zh) 应用程序的埋点注入方法和装置
CN108376073A (zh) 一种测试软件包生成方法及终端
CN106126284B (zh) 用于应用程序ui显示的方法及装置
CN104536398B (zh) 一种变频器监控方法和系统
CN110750415B (zh) 接口服务配置方法、装置、介质和计算机设备
CN104298532A (zh) 一种软件升级方法及系统
CN106201216A (zh) 一种自定义桌面图标的显示方法及系统
CN109117208A (zh) 信息分享方法、装置、用户终端及可读存储介质
CN116088882B (zh) 一种基于智能穿戴设备的功能配置方法、系统及介质
CN103092583A (zh) 一种动态生成设置项列表视图的方法及装置
US20170346702A1 (en) Computer implemented method for displaying a user interface
CN105068777A (zh) 一种显示控制方法和电子设备
CN105700877A (zh) 一种应用部署方法和装置
US9766882B2 (en) Computer-implemented method for editing data object variants
US10042638B2 (en) Evaluating documentation coverage
CN105446752A (zh) 应用程序中控件的触发方法、装置及移动终端
CN105760147A (zh) 一种软件页面显示构建方法及系统
KR101488815B1 (ko) 메뉴 테스트용 스크립트 생성 장치, 이를 포함하는 메뉴 테스트 자동화 시스템, 및 그 방법
CN105279195B (zh) 网页应用调用浏览器功能的方法及装置

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
CP03 Change of name, title or address

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee after: Beijing Jingwei Hengrun Technology Co.,Ltd.

Address before: 100101 Beijing city Chaoyang District Anxiang Beili 11 B block 8 layer

Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230614

Address after: 100192 5th floor, Zhizhen building, 7 Zhichun Road, Haidian District, Beijing

Patentee after: BEIJING RUNKE GENERAL TECHNOLOGY Co.,Ltd.

Address before: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee before: Beijing Jingwei Hengrun Technology Co.,Ltd.

TR01 Transfer of patent right