CN103198009A - 一种通用测试方法、系统及相应装置 - Google Patents
一种通用测试方法、系统及相应装置 Download PDFInfo
- Publication number
- CN103198009A CN103198009A CN2012100011327A CN201210001132A CN103198009A CN 103198009 A CN103198009 A CN 103198009A CN 2012100011327 A CN2012100011327 A CN 2012100011327A CN 201210001132 A CN201210001132 A CN 201210001132A CN 103198009 A CN103198009 A CN 103198009A
- Authority
- CN
- China
- Prior art keywords
- template
- test
- test case
- state machine
- user
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明的实施例公开了一种通用测试方法、系统及相应装置,涉及测试技术领域,解决了现有技术中测试平台无法对各种测试业务均能够提供测试功能的技术问题,本发明的系统主要包括:协议模板构造器PTB、业务生成环境SCE、实例化器、运行引擎以及测试控制平台;所述PTB,用于根据接收到的协议描述文本生成协议模板;所述SCE,用于根据所述协议模板和用户配置的状态机模型生成测试用例模板;所述实例化器,用于基于所述测试用例模板和用户配置的测试参数生成测试用例;所述测试控制台,用于根据用户的指示控制所述运行引擎解析所述测试用例,并管理所述测试结果;所述运行引擎,用于按照所述测试控制台的控制指令对所述测试用例进行解析。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种通用测试方法、系统及其相应装置。
背景技术
软件业务发展迅速,在大规模应用过程中,对软件开发过程中进行功能测试、性能测试、接口测试等的要求也在提高。
目前现有技术中的一些测试平台和测试工具,对于多数数据业务,需要额外进行测试脚本的开发,工作量较大;又或者需要对测试工具进行录制和参数化,仅仅适合于WEB类型的功能测试。而商用测试平台在拥有用于数据业务的测试时,局限性较大,主要用于标准协议(如HTTP、SMTP等)的测试,若具体到特定的业务协议,则无法基于这些商用仪表进行测试。并且由于多数厂家采用不同标准的专业测试平台、大多数测试以人工为主等原因,所以经常导致测试效果差、测试工作量大,很多测试涉及多网元和多厂家设备配合,协调工作量很大,测试周期较长等技术问题。
发明内容
本发明的实施例提供一种通用测试方法、系统及相应装置,可解决上述问题,加快测试周期,提高测试系统的可用性。
为达到上述目的,本发明的实施例采用如下技术方案:
一种通用测试系统,包括:协议模板构造器PTB、业务生成环境SCE、实例化器、运行引擎以及测试控制平台;其中,
所述PTB,用于根据接收到的协议描述文本生成协议模板;
所述SCE,用于根据所述协议模板和用户配置的状态机模型生成测试用例模板;
所述实例化器,用于基于所述测试用例模板和用户配置的测试参数生成测试用例;
所述测试控制台,用于根据用户的指示控制所述运行引擎解析所述测试用例,并管理所述测试结果;
所述运行引擎,用于按照所述测试控制台的控制指令对所述测试用例进行解析。
其中,上述SCE,具体用于顺序解析协议模板中的消息节点及其内容,再按照预设的消息模板格式和解析出的消息节点的内容生成消息模板,并根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
进一步地,上述SCE,还具体用于为用户提供可视化状态机的编辑界面,并接收用户在所述编辑界面构建的状态机模型,所述状态机模型中包括测试的流程,再将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联,以及将关联消息模板后的状态机模型作为测试用例模板进行存储。
此外,上述运行引擎,还用于为每一个测试用例建立一个新的进程,并开辟运行所述测试用例时需要的资源给该测试用例对应的实例。
此外,上述PTB,具体用于解析接收到的协议描述文本,将所述协议描述文本转换成编解码信息树,对所述编解码信息树的字段进行赋值,并将所述赋值后的编解码信息树作为协议模板。
优选地,PTB,还用于当没有接收到来自用户的协议描述文本时,为用户提供用于配置协议描述文本的界面,接收用户在所述界面上配置出的仿真协议描述文本,并将所述仿真协议描述文本作为所述接收到的文本。
一种PTB,包括:
解析模块,用于根据接收到的协议描述文本生成协议模板;并且,具体用于解析接收到的协议描述文本,将所述协议描述文本转换成编解码信息树,对所述编解码信息树的字段进行赋值,并将所述赋值后的编解码信息树作为协议模板。
此外,还可以包括:
仿真协议构造器,用于当没有接收到来自用户的协议描述文本时,为用户提供用于配置协议描述文本的界面;
仿真协议生成器,用于接收用户在所述仿真协议构造器的界面上配置出的仿真协议描述文本,并将所述仿真协议描述文本作为所述接收到的文本。
一种SCE,包括:
消息编写模块,用于根据PTB生成的协议模板生成消息模板;
流程构建模块,用于根据所述消息模板和用户构建的状态机模型生成测试用例模板。
其中,所述消息编写模块,用于具体用于顺序解析协议模板中的消息节点及其内容,再按照预设的消息模板格式和解析出的消息节点的内容生成消息模板,并根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
所述流程构建模块,具体用于为用户提供可视化状态机的编辑界面,并接收用户在所述编辑界面构建的状态机模型,其中,所述状态机模型中包括测试的流程,再将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联,以及将关联消息模板后的状态机模型作为测试用例模板进行存储。
一种通用测试方法,包括:
根据接收到的协议描述文本生成协议模板;
根据所述协议模板和用户配置的状态机模型生成测试用例模板;
基于所述测试用例模板和用户配置的测试参数生成测试用例;
按照测试控制台的控制指令对所述测试用例进行解析;
根据用户的指示控制所述运行引擎解析所述测试用例,并管理所述测试结果。
其中,上述根据所述协议模板和用户配置的状态机模型生成测试用例模板具体包括:
顺序解析协议模板中的消息节点及其内容;
按照预设的消息模板格式和解析出的消息节点的内容生成消息模板;
根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
进一步地,上述根据所述消息模板和用户配置的状态机模型生成测试用例模板具体包括:
为用户提供可视化状态机的编辑界面;
接收用户在所述编辑界面构建的状态机模型,所述状态机模型中包括测试的流程;
将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联;
将关联消息模板后的状态机模型作为测试用例模板进行存储。
特别地,该方法还包括:
为每一个测试用例建立一个新的进程,并开辟运行所述测试用例时需要的资源给该测试用例对应的实例。
本发明实施例提供的通用测试方法、系统及相应装置可以根据协议描述文本生成协议模板,再根据协议模板和状态机模型生成测试用例模板,进而为同一测试方案针对不同测试用例的场景提供了一种通用的测试流程,解决了现有技术中,由于协议不同,测试用例不同,或各厂商设备之前配置等不同造成的协调工作量大,测试周期长,测试结果不准确等技术问题,实现了可加快测试周期,测试系统可用性的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中的通用测试系统的示意图;
图2为本发明实施例1中消息模板的示意图;
图3为本发明实施例1中配置的状态机模型的示意图;
图4为本发明实施例2中的PTB的结构示意图;
图5为本发明实施例3中的SCE的结构示意图;
图6为本发明实施例4中通用测试方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。并且,以下各实施例均为本发明的可选方案,实施例的排列顺序及实施例的编号与其优选执行顺序无关。
实施例1
本实施例结合图1所示的场景,提供一种通用测试系统,如图1所述,该系统包括:PTB(Protocal Template Builder,协议模板构造器)10、SCE(ServiceCreate Enviroment,业务生成环境)20、Instantiater(实例化器)30、Run Engine(运行引擎)40以及Test Controlller(测试控制平台)50;其中,
PTB10,用于根据接收到的协议描述文本生成协议模板;
在本实施例中,PTB是相当于一个语法解析器,PTB可以加载电信软件平台的协议描述文本,并将其生成协议模板,协议模板为协议描述文本的内部数据表示,供SCE生成测试用例模板使用。协议描述文本是一种按照特定格式(由于协议描述文本为标准XML格式,对协议中字段的名称、约束条件、取值范围等都有明确的约定,因此是一种按照特定格式)定义的协议描述文件,其描述方式可以是ASN.1或其它方式。
具体而言,PTB用于解析接收到的协议描述文本,将所述协议描述文本转换成编解码信息树,对所述编解码信息树的字段进行赋值,并将所述赋值后的编解码信息树作为协议模板。
例如:如某一协议描述文本以XML的形式对MMS协议做了描述,PTB将XML文件解析成一棵MMS的编解码信息树,编解码信息树中,可能不包含对字段的具体取值,这种情况下,PTB会对编解码信息树中的字段进行具体的赋值:如将发送方手机号码固定为某一取值。当明确完所有字段的取值后,此时的编解码信息树就形成了协议模板,可作为后续测试用例模板编写的基础。
在本实施例中,上述PTB接收到的协议描述文本可以是用户编写好后输入到PTB的,在优先方案中,协议描述文本也可以是仿真的协议描述问题。即PTB,还用于当没有接收到来自用户的协议描述文本时,为用户提供用于配置协议描述文本的界面,并接收用户在所述界面上配置出的仿真协议描述文本,此时,该仿真协议描述文本即可作为PTB接收到的协议描述文本。PTB对该仿真协议描述文本的处理与用户直接输入的协议描述文本一样。
SCE20,用于根据所述协议模板和用户配置的状态机模型生成测试用例模板;
具体而言,SCE20,用于顺序解析协议模板中的消息节点及其内容,再按照预设的消息模板格式和解析出的消息节点的内容生成消息模板,并根据所述消息模板和用户配置的状态机模型生成测试用例模板,如图2所示,其中,该消息模板中定义了消息中所有字段的类型、取值以及约束关系。例如:字段类型指的是字段的编码类型,如TV/TLV、XML、8583、二进制等,取值就是字段的具体取值,约束关系指的是字段之间的互相约束关系,如某一字段和其他字段不能共存等。
进一步地,SCE20还可具体用于为用户提供可视化状态机的编辑界面,并接收用户在所述编辑界面构建的状态机模型(用户在编辑界面构建的状态机模型实际上就是测试业务的测试流程,因此用户构建状态机模型的过程也就是构建测试流程的过程。因此,该状态机模型中包括测试的流程),再将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联,以及将关联消息模板后的状态机模型作为测试用例模板进行存储。
以MMS(Multimedia Messaging Service,多媒体信息服务)为例,SCE解析消息模板中的消息,并将该消息糅合到对应的测试流程的过程如下:在编写MMS彩信发送测试用例时,首先在SCE中构建彩信发送流程;然后在流程关键点引入相应的消息模板,在彩信发送点,SCE在PTB阶段编写的协议模板中选择MMS发送消息模板,从而将MMS发送消息模板与测试流程关联起来;最后,SCE更改消息模板中的缺省值,从而形成测试用例模板。
其中,构成测试流程主要用于实现状态机的生成、编辑、修改。构建过程通过可视化编程的方式,用户可在编辑界面中配置流程,在流程中添加相应的状态,并在状态之间引入连接线,如图3所示,在本实施例中,为了支持灵活的流程构建,SCE还需要支持设置状态特性,如消息发送、计数器、设置关键字、复制数据等,还需要设置状态转移,如自动转移、收消息转移、超时转移、条件匹配转移等。编辑好的状态机模型可被实际测试时采用的测试用例所引用,以便系统按照状态机中模型所预先定义的方式对被测设备或网络进行测试,测试用例可引用一个或多个状态机模型。
此外,在消息模板以及状态机模型构建过程中,还需要配置相应的参数,这些参数可以为固定的值,也可以是一个参数变量,供用户在实例化测试用例时进行灵活的参数配置。对于需要配置的参数,举例来说:在编写测试用例模板时,测试用例中的消息字段都有缺省值,但生成实际的测试用例时,这些字段可以有其他不同的取值,也可能是一个按照某种规律变化的数学函数,而这些变化都只能在测试用例参数化的过程中进行。为了能够在执行实际测试时参数化这些字段,因此,在定义测试用例模板时,对于需要灵活配置的字段参数,定义相应的变量。当测试用例执行时,据此来决定此字段是否需要参数化。具体配置过程在实例化中来配置。
在本实施例中,通过SCE提供的上述用于配置状态机模型的编辑界面上,用户可灵活的编辑测试流程组件以生成测试流程模板(即状态机模型)。该测试流程模板可以用状态机描述语言(例如SCXML)等来表示。在每一个状态节点、状态节点迁移处用户可设置业务参数以及各种在生成测试用例时候可配置的参数。
状态机模型描绘用户使用业务的流程。每个状态点代表应用逻辑中等待用户反馈的环节。框架自动管理用户会话,跟踪用户当前状态。状态节点处可以从库中选择接收或发送的消息模板或协议栈实现组件。通过配置而不是编程来将状态点和处理单元串成完整的测试流程。每个状态点上可以配置根据不同的用户输入特征流向不同的分支,每个处理单元上可以配置根据不同的处理结果流向不同的分支。分支流转条件可以在应用部署后通过管理界面进行修改。在状态机编辑中,可以通过获取被测系统(SUT)返回字段,判断字段的返回值,从而在状态机流转分支中设置不同的流转条件,就可以实现分支流转。
以MMS为例,在编写MMS彩信发送测试用例时,首先在SCE中通过可视化流程编写彩信发送流程;然后在流程关键点引入相应的消息模板,如在彩信发送点,SCE在PTB阶段编写的协议模板中选择MMS发送消息模板,从而将MMS发送消息模板与测试流程关联起来;然后在接收到SUT响应消息这个点引入彩信发送响应消息模板并将响应消息模板中反应发送状态的关键字段进行解析,假设此关键字段名称为SendResult,则依据彩信协议,当SendResult=0x80时,表示彩信发送成功,则消息流程将进入一个分支S1,如果SendResult!=0x80,则表示彩信发送失败,则消息流程将进入另一分支S2。
Instantiater30,用于基于所述测试用例模板和用户配置的测试参数生成测试用例;
Instantiater30主要用于接收用户配置的测试参数,并将该测试参数添加到测试用例模板上从而形成测试用例。在本实施例中,对于对测试流程有初步了解的业务测试人员,可使用Instantiater30生成测试用例,主要步骤有:向用户提供测试用例模板配置向导,用户可根据该配置向导依次配置、选择合适的参数将测试用例模板实例化,同时,配置各平台IP、数据库地址等;配置测试手机号码、手机型号、浏览器型号等;陪置发送次数、等待时延等测试参数,通过配置上述参数进而生成具体测试用例,供Run Engine40执行。
Test controller50,用于根据用户的指示控制所述运行引擎解析所述测试用例,并管理所述测试结果;
例如:控制台给运行引擎发送的指令包括:配置、加载、运行、暂停、停止、结果、清除。运行引擎接到控制台发送的指令,会进行相应的处理。配置:控制台将配置文件发送给运行引擎,运行引擎加载配置文件;加载:控制台将测试用例文件发送给运行引擎,运行引擎加载测试用例文件;运行:控制台向运行引擎发送运行指令,运行引擎解析测试用例,开始执行;暂停:测试用例暂停执行;停止:测试用例停止执行;结果:控制台向运行引擎发送结果指令,运行引擎将测试用例的执行结果以文件形式回送给运行引擎;清除:运行引擎清除当前运行中间数据和状态,恢复到可配置状态。
Run Engine40,用于按照Test controller50的控制指令对所述测试用例进行解析。
特别地,在本实施例中Run Engine40,还用于为每一个测试用例建立一个新的进程,并开辟运行所述测试用例时需要的资源给该测试用例对应的实例。
为了保证Run Engine40可以同时执行多个不同的测试用例,Run Engine40可为每一个测试用例单独建立一个新的进程,并获取相应的IP地址、端口、存储、数据库等资源,此测试用例的执行与其他任何测试用例都无关,这对于某些需要排他性执行的测试用例提供了很大的方便。
此外,在本实施例中,上述五个部分之间相互独立,通标准的接口方式相互通信。
本实施例提供的通信测试系统,划分为PTB、SCE、Instantiater、Run Engine、Test Controlller五部分,将协议导入、用例生成、实例化用例、运行以及控制五部分分开,五个部分之间的接口打开,且仅通过文件接口进行交互,系统扩展性好,便于与其他系统通过标准接口或协议等对接。此外通过将消息模板和测试用例实例化分开,将协议设计人员和测试人员的工作进行了清晰明确的划分,从而有效了降低了生成测试用例的技术门槛。并且在实现新测试用例时无需开发任何代码,只需要配置特定测试业务的应用逻辑(也就是将特定业务的协议描述文本导入PTB),整个测试用例便可生成通过配置来完成,测试用例运行中需要的资源如下发的信息等也可通过配置来定义,并且可以在应用部署后通过Test Controlller的管理界面直接修改。
实施例2
本实施例提供一种PTB,可用于通用测试系统中,如图4所示,包括:解析模块41。
解析模块41,用于根据接收到的协议描述文本生成协议模板;并且,具体用于解析接收到的协议描述文本,将所述协议描述文本转换成编解码信息树,对所述编解码信息树的字段进行赋值,并将所述赋值后的编解码信息树作为协议模板。
优选方案中,本实施例的PTB还可包括:仿真协议构造器42,仿真协议生成器43。
仿真协议构造器42,用于当没有接收到来自用户的协议描述文本时,为用户提供用于配置协议描述文本的界面;仿真协议生成器43,用于接收用户在所述仿真协议构造器的界面上配置出的仿真协议描述文本,并将所述仿真协议描述文本作为所述接收到的文本。
本实施例提供的PTB作为通用测试系统中的一部分,可以根据协议描述文本自动生成系统内部所用的协议模板,并且在用户无协议描述文本输入的情况下,可以提供界面供用户配置仿真协议描述文本,进而可生成协议模板,供后继SCE作为依据使用,同时解决现有技术中因协议不同导致的各测试设备无法相互通用的技术问题。
实施例3
本实施例提供一种SCE,如图5所示,包括:消息编写模块51,流程构建模块52。
消息编写模块51,用于根据PTB生成的协议模板生成消息模板;流程构建模块52,用于根据所述消息模板和用户构建的状态机模型生成测试用例模板。
进一步地,消息编写模块51,用于具体用于顺序解析协议模板中的消息节点及其内容,再按照预设的消息模板格式和解析出的消息节点的内容生成消息模板,并根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
进一步地,流程构建模块52,具体用于为用户提供可视化状态机的编辑界面,并接收用户在所述编辑界面构建的状态机模型,其中,所述状态机模型中包括测试的流程,再将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联,以及将关联消息模板后的状态机模型作为测试用例模板进行存储。
本实施例提供的SCE可以基于协议模板和状态机模型生成测试用例模板,该测试用例模板是将测试过程中需要用到的消息糅合到测试流程中后的模板,可实现帮助设计测试流程的工作人员针对同一类型的测试业务制作通用的测试用例模板,进而可取得降低协同工作量,缩短测试周期的技术效果。
实施例4
本实施例提供一种通用测试方法,如图6所示,该方法包括:
601,通用测试系统根据接收到的协议描述文本生成协议模板;
用户将协议描述文本输入通用测试系统,系统根据该文本生成协议模板。协议描述文本为系统内部定义的对协议的标准描述,是按照特定格式定义的协议描述文件,其描述方式可以是ASN.1(Abstract Syntax Notation One,抽象语法标记)或者其他方式。通用测试系统解析协议定义文本,将其转换成一棵该协议的编解码信息树。对于未提供协议定义文本的情况,提供了用于配置协议描述文本的界面,通过用户在该界面上的操作,系统可以构造仿真协议描述文本。构造的仿真协议描述文本同样会转换成编解码信息树。编解码信息树经过字段的赋值化后变成协议模板。此协议模板是后续消息模板的基础。
602,根据所述协议模板和用户配置的状态机模型生成测试用例模板;
具体而言,上述根据所述协议模板和用户配置的状态机模型生成测试用例模板具体包括:
通用测试系统顺序解析协议模板中的消息节点及其内容;按照预设的消息模板格式和解析出的消息节点的内容生成消息模板;根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
其中,上述根据所述消息模板和用户配置的状态机模型生成测试用例模板具体包括:为用户提供可视化状态机的编辑界面;接收用户在所述编辑界面构建的状态机模型,所述状态机模型中包括测试的流程;将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联;将关联消息模板后的状态机模型作为测试用例模板进行存储。
在本实施例中,通用测试系统解析协议模板,形成协议所需所有消息的消息模板,消息模板中包含了测试过程中业务承载消息的具体格式。
通用测试系统为用户提供的可视化状态机的编辑界面上提供了对测试中测试流程的控制,包括消息发送、重置计数器、复制数据、查找数据库等。同时,通过设置消息匹配、条件匹配等操作,可控制测试流程。通过将消息模板与具体的业务消息联系起来,同时,为了能够对消息中的内容赋予参数值,本实施例中的通用测试系统还可对系统参数、协议参数、数据库参数、流程控制参数、负载参数等内容进行配置。配置具体参数后的消息可与对应的状态机模型中流程相关联,进而实现测试过程中,当进入某一测试状态阶段时,可以收发到在该测试状态下对应的消息。
603,基于所述测试用例模板和用户配置的测试参数生成测试用例;
该步骤603简单来说,即是将测试用例模板参数化后将形成具体测试用例的过程。
用户可通过通用测试系统提供的界面,对生成的测试用例模板进行参数化,从而生成不同的测试用例。一个测试用例模板可以生成多个测试用例。本通用测试系统生成的测试用例,将统一成一个规则化的数据表达形式:此表达形式为一系列的描述文件。这些文件都是标准XML文件,系统定义每一个元素的具体含义。以MMS彩信发送测试为例,本通用测试系统在描述此测试用例时,将使用标准的XML文件,在此XML文件中,定义了测试用例对应的消息模板、流程控制;消息模板中又详细定义了此消息的所有内容,流程控制对本测试用例的流程做了详尽的说明。这样的测试用例,可以为不同的测试平台或者测试引擎调用,具备较强的通用性。
优选地,本实施例中的通用测试系统还可提供解析此表达方式的应用API接口,因此本系统生成的测试用例可供其他测试平台调用和执行。
604,通用测试系统中的Test Contronller根据用户的指示控制所述运行引擎解析所述测试用例;相应地,通用测试系统中的Run Engine按照TestControlller的控制指令(控制指令可以为用户设定的测试计划)对所述测试用例进行解析;Test Contronller在测试后还用于管理所述测试结果。
特别地,在本实施例中,在测试执行前,Run Engine还为每一个测试用例建立一个新的进程,并开辟运行所述测试用例时需要的资源给该测试用例对应的实例。
Test Contronller可以控制测试用例的加载、执行、暂停、停止等操作,Test Controller加载测试用例后,Run Engine部分会对测试用例进行预解释,形成内部的C++对象。在本实施例的通用测试系统的Test Contronller和RunEngine的实现方式均可以同现有技术中测试平台的控制系统和运行引擎,在此不赘述。
本发明实施例提供的通用测试方法可以根据协议描述文本生成协议模板,再根据协议模板和状态机模型生成测试用例模板,进而为同一测试方案针对不同测试用例的场景提供了一种通用的测试流程,解决了现有技术中,由于协议不同,测试用例不同,或各厂商设备之前配置等不同造成的协调工作量大,测试周期长,测试结果不准确等技术问题,实现了可加快测试周期,测试系统可用性的技术效果。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台设备(可以是笔记本电脑等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种通用测试系统,其特征在于,包括:协议模板构造器PTB、业务生成环境SCE、实例化器、运行引擎以及测试控制平台;其中,
所述PTB,用于根据接收到的协议描述文本生成协议模板;
所述SCE,用于根据所述协议模板和用户配置的状态机模型生成测试用例模板;
所述实例化器,用于基于所述测试用例模板和用户配置的测试参数生成测试用例;
所述测试控制台,用于根据用户的指示控制所述运行引擎解析所述测试用例,并管理所述测试结果;
所述运行引擎,用于按照所述测试控制台的控制指令对所述测试用例进行解析。
2.根据权利要求1所述的通用测试系统,其特征在于,
所述SCE,具体用于顺序解析协议模板中的消息节点及其内容,再按照预设的消息模板格式和解析出的消息节点的内容生成消息模板,并根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
3.根据权利要求2所述的通用测试系统,其特征在于,
所述SCE,还具体用于为用户提供可视化状态机的编辑界面,并接收用户在所述编辑界面构建的状态机模型,所述状态机模型中包括测试的流程,再将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联,以及将关联消息模板后的状态机模型作为测试用例模板进行存储。
4.根据权利要求1所述的通用测试系统,其特征在于,
所述运行引擎,还用于为每一个测试用例建立一个新的进程,并开辟运行所述测试用例时需要的资源给该测试用例对应的实例。
5.根据权利要求1所述的通用测试系统,其特征在于,
所述PTB,具体用于解析接收到的协议描述文本,将所述协议描述文本转换成编解码信息树,对所述编解码信息树的字段进行赋值,并将所述赋值后的编解码信息树作为协议模板。
6.根据权利要求1所述的通用测试系统,其特征在于,
所述PTB,还用于当没有接收到来自用户的协议描述文本时,为用户提供用于配置协议描述文本的界面,接收用户在所述界面上配置出的仿真协议描述文本,并将所述仿真协议描述文本作为所述接收到的文本。
7.一种PTB,其特征在于,包括:
解析模块,用于根据接收到的协议描述文本生成协议模板;并且,具体用于解析接收到的协议描述文本,将所述协议描述文本转换成编解码信息树,对所述编解码信息树的字段进行赋值,并将所述赋值后的编解码信息树作为协议模板。
8.根据权利要求7所述的PTB,其特征在于,还包括:
仿真协议构造器,用于当没有接收到来自用户的协议描述文本时,为用户提供用于配置协议描述文本的界面;
仿真协议生成器,用于接收用户在所述仿真协议构造器的界面上配置出的仿真协议描述文本,并将所述仿真协议描述文本作为所述接收到的文本。
9.一种SCE,其特征在于,包括:
消息编写模块,用于根据PTB生成的协议模板生成消息模板;
流程构建模块,用于根据所述消息模板和用户构建的状态机模型生成测试用例模板。
10.根据权利要求9所述的SCE,其特征在于,
所述消息编写模块,用于具体用于顺序解析协议模板中的消息节点及其内容,再按照预设的消息模板格式和解析出的消息节点的内容生成消息模板,并根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
11.根据权利要求9或10所述的SCE,其特征在于,
所述流程构建模块,具体用于为用户提供可视化状态机的编辑界面,并接收用户在所述编辑界面构建的状态机模型,其中,所述状态机模型中包括测试的流程,再将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联,以及将关联消息模板后的状态机模型作为测试用例模板进行存储。
12.一种通用测试方法,其特征在于,包括:
根据接收到的协议描述文本生成协议模板;
根据所述协议模板和用户配置的状态机模型生成测试用例模板;
基于所述测试用例模板和用户配置的测试参数生成测试用例;
按照测试控制台的控制指令对所述测试用例进行解析;
根据用户的指示控制所述运行引擎解析所述测试用例,并管理所述测试结果。
13.根据权利要求12所述的通用测试方法,其特征在于,所述根据所述协议模板和用户配置的状态机模型生成测试用例模板具体包括:
顺序解析协议模板中的消息节点及其内容;
按照预设的消息模板格式和解析出的消息节点的内容生成消息模板;
根据所述消息模板和用户配置的状态机模型生成测试用例模板,所述消息模板中定义了消息中所有字段的类型、取值以及约束关系。
14.根据权利要求13所述的通用测试方法,其特征在于,所述根据所述消息模板和用户配置的状态机模型生成测试用例模板具体包括:
为用户提供可视化状态机的编辑界面;
接收用户在所述编辑界面构建的状态机模型,所述状态机模型中包括测试的流程;
将所述消息模板引入到所述状态机模型中,使所述状态机模型中的各个流程与对应的消息模板相关联;
将关联消息模板后的状态机模型作为测试用例模板进行存储。
15.根据权利要求12所述的通用测试方法,其特征在于,该方法还包括:
为每一个测试用例建立一个新的进程,并开辟运行所述测试用例时需要的资源给该测试用例对应的实例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210001132.7A CN103198009B (zh) | 2012-01-04 | 2012-01-04 | 一种通用测试方法、系统及相应装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210001132.7A CN103198009B (zh) | 2012-01-04 | 2012-01-04 | 一种通用测试方法、系统及相应装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103198009A true CN103198009A (zh) | 2013-07-10 |
CN103198009B CN103198009B (zh) | 2016-09-07 |
Family
ID=48720591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210001132.7A Active CN103198009B (zh) | 2012-01-04 | 2012-01-04 | 一种通用测试方法、系统及相应装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103198009B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268082A (zh) * | 2014-09-26 | 2015-01-07 | 北京国双科技有限公司 | 浏览器的压力测试方法和装置 |
CN105490881A (zh) * | 2015-12-09 | 2016-04-13 | 北京交控科技股份有限公司 | 一种可配置的数据接口测试方法及系统 |
CN105577463A (zh) * | 2014-10-13 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于通信协议的测试方法及其装置 |
WO2016082476A1 (zh) * | 2014-11-25 | 2016-06-02 | 中兴通讯股份有限公司 | 业务测试方法及装置 |
CN105893254A (zh) * | 2016-03-29 | 2016-08-24 | 乐视控股(北京)有限公司 | 测试用例导入方法及装置 |
CN106292647A (zh) * | 2016-10-27 | 2017-01-04 | 北京新能源汽车股份有限公司 | 一种电机控制器运行工况的测试方法及装置 |
CN106484611A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
WO2017071519A1 (zh) * | 2015-10-30 | 2017-05-04 | 北京新能源汽车股份有限公司 | 多平台通用测试方法、装置和系统 |
CN107222363A (zh) * | 2017-05-26 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种存储协议一致性测试方法及系统 |
CN107480062A (zh) * | 2017-08-09 | 2017-12-15 | 深圳慧昱教育科技有限公司 | 一种配置测试用例的方法和设备 |
CN107766190A (zh) * | 2017-10-31 | 2018-03-06 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
US9952855B2 (en) | 2014-12-10 | 2018-04-24 | International Business Machines Corporation | Software test automation |
CN108897695A (zh) * | 2018-08-06 | 2018-11-27 | 中国电力科学研究院有限公司 | 一种需求侧设备的互联测试方法及系统 |
CN109684212A (zh) * | 2018-12-19 | 2019-04-26 | 浙江诺诺网络科技有限公司 | 一种可视化逻辑测试方法、装置、设备及可读存储介质 |
CN109815107A (zh) * | 2017-11-22 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 自动化测试的方法和装置 |
CN109871309A (zh) * | 2017-12-04 | 2019-06-11 | 中国移动通信集团公司 | 一种计费系统测试案例生成方法和系统 |
CN110365968A (zh) * | 2019-06-27 | 2019-10-22 | 视联动力信息技术股份有限公司 | 一种测试方法和装置 |
CN111176997A (zh) * | 2019-12-25 | 2020-05-19 | 珠海格力电器股份有限公司 | 通用化参数管理系统及参数管理方法 |
CN111897736A (zh) * | 2020-08-17 | 2020-11-06 | 深圳信息通信研究院 | 一种基于云架构的物联信息产品自动化测试方法与系统 |
CN112231222A (zh) * | 2020-10-27 | 2021-01-15 | 南京林洋电力科技有限公司 | 一种面向对象通信协议的自动化测试方法及系统 |
CN112363939A (zh) * | 2020-11-12 | 2021-02-12 | 深圳开源互联网安全技术有限公司 | 快速生成模糊测试网络协议模板的方法及系统、设备 |
CN112540359A (zh) * | 2020-12-17 | 2021-03-23 | 航天恒星科技有限公司 | 一种适用于微波雷达的通用测试系统 |
CN112988555A (zh) * | 2019-12-13 | 2021-06-18 | 中移信息技术有限公司 | 接口测试方法、装置、设备及存储介质 |
CN113051174A (zh) * | 2021-04-14 | 2021-06-29 | 卡斯柯信号有限公司 | 基于xddl生成仿真协议消息的方法 |
CN114070764A (zh) * | 2020-08-07 | 2022-02-18 | 中国电信股份有限公司 | 网络功能虚拟化nfv测试方法、装置和系统 |
CN114328278A (zh) * | 2022-03-14 | 2022-04-12 | 南昌航空大学 | 分布式仿真测试方法、系统、可读存储介质及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877543A (zh) * | 2005-06-06 | 2006-12-13 | 华为技术有限公司 | 数据驱动的自动化测试系统及方法 |
US20070025259A1 (en) * | 2005-08-01 | 2007-02-01 | Barry Reinhold | Communication protocol testing system |
CN101145984A (zh) * | 2007-04-12 | 2008-03-19 | 中兴通讯股份有限公司 | 基于参数自适应的自动化测试方法 |
CN101227629A (zh) * | 2008-01-29 | 2008-07-23 | 中兴通讯股份有限公司 | 支持可扩展标记语言数据接口的实现方法 |
CN102014016A (zh) * | 2010-08-31 | 2011-04-13 | 北京邮电大学 | 一种网络协议缺陷测试系统及方法 |
CN102163173A (zh) * | 2011-04-06 | 2011-08-24 | 北京航空航天大学 | 一种分布式信息系统接口自动化测试方法 |
-
2012
- 2012-01-04 CN CN201210001132.7A patent/CN103198009B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877543A (zh) * | 2005-06-06 | 2006-12-13 | 华为技术有限公司 | 数据驱动的自动化测试系统及方法 |
US20070025259A1 (en) * | 2005-08-01 | 2007-02-01 | Barry Reinhold | Communication protocol testing system |
CN101145984A (zh) * | 2007-04-12 | 2008-03-19 | 中兴通讯股份有限公司 | 基于参数自适应的自动化测试方法 |
CN101227629A (zh) * | 2008-01-29 | 2008-07-23 | 中兴通讯股份有限公司 | 支持可扩展标记语言数据接口的实现方法 |
CN102014016A (zh) * | 2010-08-31 | 2011-04-13 | 北京邮电大学 | 一种网络协议缺陷测试系统及方法 |
CN102163173A (zh) * | 2011-04-06 | 2011-08-24 | 北京航空航天大学 | 一种分布式信息系统接口自动化测试方法 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268082B (zh) * | 2014-09-26 | 2017-10-03 | 北京国双科技有限公司 | 浏览器的压力测试方法和装置 |
CN104268082A (zh) * | 2014-09-26 | 2015-01-07 | 北京国双科技有限公司 | 浏览器的压力测试方法和装置 |
CN105577463B (zh) * | 2014-10-13 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 一种基于通信协议的测试方法及其装置 |
CN105577463A (zh) * | 2014-10-13 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于通信协议的测试方法及其装置 |
WO2016082476A1 (zh) * | 2014-11-25 | 2016-06-02 | 中兴通讯股份有限公司 | 业务测试方法及装置 |
US9952855B2 (en) | 2014-12-10 | 2018-04-24 | International Business Machines Corporation | Software test automation |
CN106484611A (zh) * | 2015-09-02 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
CN106484611B (zh) * | 2015-09-02 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
WO2017071519A1 (zh) * | 2015-10-30 | 2017-05-04 | 北京新能源汽车股份有限公司 | 多平台通用测试方法、装置和系统 |
CN105490881A (zh) * | 2015-12-09 | 2016-04-13 | 北京交控科技股份有限公司 | 一种可配置的数据接口测试方法及系统 |
CN105893254A (zh) * | 2016-03-29 | 2016-08-24 | 乐视控股(北京)有限公司 | 测试用例导入方法及装置 |
CN106292647A (zh) * | 2016-10-27 | 2017-01-04 | 北京新能源汽车股份有限公司 | 一种电机控制器运行工况的测试方法及装置 |
CN106292647B (zh) * | 2016-10-27 | 2019-01-01 | 北京新能源汽车股份有限公司 | 一种电机控制器运行工况的测试方法及装置 |
CN107222363A (zh) * | 2017-05-26 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种存储协议一致性测试方法及系统 |
CN107480062A (zh) * | 2017-08-09 | 2017-12-15 | 深圳慧昱教育科技有限公司 | 一种配置测试用例的方法和设备 |
CN107766190A (zh) * | 2017-10-31 | 2018-03-06 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN107766190B (zh) * | 2017-10-31 | 2020-06-12 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109815107A (zh) * | 2017-11-22 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 自动化测试的方法和装置 |
CN109815107B (zh) * | 2017-11-22 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 自动化测试的方法和装置 |
CN109871309A (zh) * | 2017-12-04 | 2019-06-11 | 中国移动通信集团公司 | 一种计费系统测试案例生成方法和系统 |
CN108897695A (zh) * | 2018-08-06 | 2018-11-27 | 中国电力科学研究院有限公司 | 一种需求侧设备的互联测试方法及系统 |
CN109684212A (zh) * | 2018-12-19 | 2019-04-26 | 浙江诺诺网络科技有限公司 | 一种可视化逻辑测试方法、装置、设备及可读存储介质 |
CN110365968A (zh) * | 2019-06-27 | 2019-10-22 | 视联动力信息技术股份有限公司 | 一种测试方法和装置 |
CN110365968B (zh) * | 2019-06-27 | 2022-07-08 | 视联动力信息技术股份有限公司 | 一种测试方法和装置 |
CN112988555B (zh) * | 2019-12-13 | 2024-05-24 | 中移信息技术有限公司 | 接口测试方法、装置、设备及存储介质 |
CN112988555A (zh) * | 2019-12-13 | 2021-06-18 | 中移信息技术有限公司 | 接口测试方法、装置、设备及存储介质 |
CN111176997A (zh) * | 2019-12-25 | 2020-05-19 | 珠海格力电器股份有限公司 | 通用化参数管理系统及参数管理方法 |
CN114070764A (zh) * | 2020-08-07 | 2022-02-18 | 中国电信股份有限公司 | 网络功能虚拟化nfv测试方法、装置和系统 |
CN111897736A (zh) * | 2020-08-17 | 2020-11-06 | 深圳信息通信研究院 | 一种基于云架构的物联信息产品自动化测试方法与系统 |
CN111897736B (zh) * | 2020-08-17 | 2023-08-04 | 深圳信息通信研究院 | 一种基于云架构的物联信息产品自动化测试方法与系统 |
CN112231222B (zh) * | 2020-10-27 | 2024-04-09 | 南京林洋电力科技有限公司 | 一种面向对象通信协议的自动化测试方法及系统 |
CN112231222A (zh) * | 2020-10-27 | 2021-01-15 | 南京林洋电力科技有限公司 | 一种面向对象通信协议的自动化测试方法及系统 |
CN112363939A (zh) * | 2020-11-12 | 2021-02-12 | 深圳开源互联网安全技术有限公司 | 快速生成模糊测试网络协议模板的方法及系统、设备 |
CN112540359A (zh) * | 2020-12-17 | 2021-03-23 | 航天恒星科技有限公司 | 一种适用于微波雷达的通用测试系统 |
CN112540359B (zh) * | 2020-12-17 | 2024-03-15 | 航天恒星科技有限公司 | 一种适用于微波雷达的通用测试系统 |
CN113051174A (zh) * | 2021-04-14 | 2021-06-29 | 卡斯柯信号有限公司 | 基于xddl生成仿真协议消息的方法 |
CN113051174B (zh) * | 2021-04-14 | 2022-07-26 | 卡斯柯信号有限公司 | 基于xddl生成仿真协议消息的方法 |
CN114328278A (zh) * | 2022-03-14 | 2022-04-12 | 南昌航空大学 | 分布式仿真测试方法、系统、可读存储介质及计算机设备 |
CN114328278B (zh) * | 2022-03-14 | 2022-06-17 | 南昌航空大学 | 分布式仿真测试方法、系统、可读存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103198009B (zh) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103198009A (zh) | 一种通用测试方法、系统及相应装置 | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
CN112835560A (zh) | Web多终端低代码智能软件开发平台 | |
CN111126781A (zh) | Rpa业务流程的创建方法及系统 | |
US7093264B2 (en) | Method and apparatus for assembling Enterprise JavaBeans components | |
CN113971110A (zh) | 接口测试方法、装置、设备与计算机可读存储介质 | |
CN112328229A (zh) | 一种快速创建Jenkins流水线的方法 | |
US20090249312A1 (en) | Process Generation Approach and System for an Integrated Telecom Platform | |
CN114115838A (zh) | 一种基于分布式组件和云平台的数据交互方法及系统 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN112114789B (zh) | 一种业务开发方法及设备 | |
US20220300262A1 (en) | Method for constructing, running and implementing cross-platform application, terminal, server and system | |
CN112068879B (zh) | 基于配置化的客户端应用程序开发框架构建方法及装置 | |
CN111142861B (zh) | 结构化综控系统集成方法及装置 | |
CN117112060A (zh) | 组件库构建方法、装置、电子设备及存储介质 | |
CN113641351A (zh) | 一种一键式脚手架完成前端基础功能搭建方法 | |
CN111208991A (zh) | 基于工作流的程序开发方法、电子设备及存储介质 | |
CN111880775A (zh) | 多模块分层架构实现方法、装置、电子设备、存储介质 | |
CN113032004A (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
Sinnott | Frameworks: the future of formal software development? | |
CN117591104B (zh) | 模型的生成方法、装置、电子设备及存储介质 | |
JP2014532223A (ja) | 第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするための方法および装置、第1のコンピュータ・プログラムと第2のコンピュータ・プログラムとのインターフェースをとるためのコンピュータ・プログラム・コードを生成するための方法および装置、コンピュータ・プログラム、ならびに第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするためのソフトウェア・インターフェースを提供するための方法(コンピュータ・プログラム・インターフェース) | |
CN108829387B (zh) | 一种基于Windows平台的RPC函数生成方法 | |
CN117750178A (zh) | 一种用于科学级相机的调试系统及方法 | |
Kozaczynski et al. | Architecture specification support for component integration |
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 |