CN104035859B - 一种可视化自动测试方法及其系统 - Google Patents
一种可视化自动测试方法及其系统 Download PDFInfo
- Publication number
- CN104035859B CN104035859B CN201310073069.2A CN201310073069A CN104035859B CN 104035859 B CN104035859 B CN 104035859B CN 201310073069 A CN201310073069 A CN 201310073069A CN 104035859 B CN104035859 B CN 104035859B
- Authority
- CN
- China
- Prior art keywords
- test
- file
- idl
- xml
- xml file
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种可视化自动测试方法及其系统,方法包括:获取目标测试软件的IDL文件,根据预先设置的从IDL数据类型到XML元素的映射规则将IDL文件进行映射生成XML文件;对IDL文件进行解析和编译,生成包含XML文件读写例程的可执行的测试程序;当需要进行一次用例测试时,为测试用例生成一份所述XML文件的副本,将所述测试用例中的输入参数更新到所述XML文件副本中,运行所述可执行的测试程序,所述可执行的测试程序从所述测试用例对应的XML文件副本中读取所述输入参数,获取测试用例的输出参数和/或返回值。本发明能提高软件测试的测试效率,能使测试用例和测试结果的展示更加友好,能更方便地定位程序中的问题。
Description
技术领域
本发明涉及软件自动化测试技术领域,尤其涉及一种可视化自动测试方法及其系统。
背景技术
随着移动互联网时代的到来,智能手机终端的用户数量迅猛增长,终端上的APP(Application的简称,指智能手机的第三方应用程序)不断涌现,APP的功能越来越丰富多彩,由此给后台服务器(后台Server)的功能和性能提出了更高的要求。
在移动互联网APP正式发布之前,需要对APP以及后台服务器的功能进行充分的测试,以尽可能保证在正式发布后不会出现故障而影响用户体验。
在终端APP与后台服务器之间,一般都通过约定的协议格式进行通信。协议可以是自定义格式,也可以采用某种标准的协议格式,如ASN.1(Abstract Syntax Notation One,抽象语法标记),IDL(Interface description language,接口描述语言)等。
一种现有的实现方案是,针对要测试的协议接口(函数)功能,根据协议文件中定义的输入、输出参数数据结构定义,手工编写测试程序源代码。在源代码中,一般从用户指定的某个文本文件读取测试用例数据;在接口调用返回时,将输出参数按照用户自己的理解习惯以某种格式打印到日志。
用户根据测试用例填写文本文件,启动测试程序。测试程序收到后台服务器的返回结果后,查看日志文件,查看测试结果。
通过分析上述技术实现方式,可以看出上述技术方案有如下缺点:
(1)对于每一次测试,都需要编写测试程序代码,不能做到自动化;
(2)对于每一个测试用例,都需要用户将测试数据写入某个文本文件,这个过程容易出错,而且不够便捷;
发明内容
本发明实施例的目的在于提出一种可视化自动测试方法及其系统,能够提高测试效率,使测试结果的展示更加友好。
为了避免现有的软件自动化测试中存在的问题,改变每次都需要重新编写测试程序、以文本方式编写测试用例、以日志方式查看测试结果的现状,本发明提出了一种可视化自动测试方法及其系统,通过Lex&Yacc自动生成测试程序,并且能以用户友好,可视化的方式进行测试用例输入和测试结果查看的方案,能明显提高测试的效率,而且能使测试用例和测试结果的展示更加友好,能使用户更方便地定位问题。
为达此目的,本发明实施例采用以下技术方案:
一种可视化自动测试方法,包括:
获取目标测试软件的接口描述语言IDL文件,根据预先设置的从IDL数据类型到可扩展标记语言XML元素的映射规则将所述IDL文件进行映射生成XML文件;
对所述IDL文件进行解析和编译,生成包含XML文件读写例程的可执行的测试程序;
当需要进行一次用例测试时,为所述测试用例生成一份所述XML文件的副本,将所述测试用例中的输入参数更新到所述测试用例对应的XML文件副本中,运行所述可执行的测试程序,所述可执行的测试程序从所述测试用例对应的XML文件副本中读取所述输入参数,获取所述测试用例的输出参数和/或返回值。
根据本发明的同一构思,本发明还提供了一种可视化自动测试系统,包括:
XML文件生成模块,用于获取目标测试软件的接口描述语言IDL文件,根据预先设置的从IDL数据类型到可扩展标记语言XML元素的映射规则将所述IDL文件进行映射生成XML文件;
测试程序生成模块,用于对所述IDL文件进行解析和编译,生成包含XML文件读写例程的可执行的测试程序;
自动测试模块,用于当需要进行一次用例测试时,为所述测试用例生成一份所述XML文件的副本,将所述测试用例中的输入参数更新到所述测试用例对应的XML文件副本中,运行所述可执行的测试程序,所述可执行的测试程序从所述测试用例对应的XML文件副本中读取所述输入参数,获取所述测试用例的输出参数和/或返回值。
本发明通过对目标测试软件的IDL文件进行解析和编译来生成包含XML文件读写例程的可执行的测试程序,通过对将IDL文件进行映射生成XML文件,对每次测试生成一个XML文件副本,避免了对于每一次测试都编写测试程序代码和对于每一个测试用例都将测试数据写入文件而引起的容易出错和不够便捷的缺陷,能使软件测试更加自动化,能明显提高测试的效率,能降低测试过程的出错率。
附图说明
图1是本发明具体实施例一所述的可视化自动测试方法流程图;
图2是本发明具体实施例二所述的测试前的准备工作步骤流程图;
图3是本发明具体实施例二所述的测试过程基本步骤流程图;
图4是本发明具体实施例三所述的可视化自动测试系统结构框图;
图5是本发明所述的可视化自动测试模块示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
在终端APP与后台服务器之间,一般都通过约定的协议格式进行通信。所述约定的协议格式可以是自定义格式,也可以采用某种标准的协议格式,如ASN.1(Abstract SyntaxNotation One,抽象语法标记)、IDL(Interface description language,接口描述语言)等。
本实施例以终端与后台服务器之间交互的协议为IDL格式为例,针对在移动互联网后台服务器的测试中,通过对目标测试软件的IDL文件进行解析和编译来生成包含XML文件读写例程的可执行的测试程序,通过将所述IDL文件进行映射生成XML文件,对每次测试生成一个XML文件副本,通过可视化界面展示和接收输入参数并更新到XML文件副本中,获取输出参数和/或返回值。
图1是本实施例所述的可视化自动测试方法流程图,如图1所示,本实施例所述的可视化自动测试方法包括:
S101、接收IDL文件,根据预设的映射规则生成XML文件。
通过所述可视化界面接收测试人员上传的目标测试软件的IDL文件,根据预先设置的从IDL数据类型到XML元素的映射规则将所述IDL文件进行映射生成XML文件。
在本实施例所述的方案中,XML文件和IDL文件对协议数据有完全等价的描述功能。从IDL数据类型到XML元素的映射规则如(1)~(6)所示。对于多层嵌套的数据类型,则用其成员数据类型的XML元素来嵌套表示。
(1)基本数据类型
包括double,float,long,int,short,char以及string(string在XML描述时亦可看作基本类型)等。以double类型为例,在XML中对应的元素为:
<double name="var_name">var_value</double>
其中,元素名称就是基本数据类型,属性name的值为变量名称,文本域(如例中的var_value)则是相应变量的名称。
(2)vector数据类型
以vector<double>为例,在XML中对应的元素为:
其中,元素名称(如例中的vector)表示数据类型为vector。各个子元素标识vector的各个成员,每一个子成员用一个XML元素(如例中的<double>)表示,double元素不需要name属性,其文本域填入成员的值。各XML子元素之间是并列关系。
(3)list数据类型
与vector数据类型完全类似,唯一区别是元素名称由vector改为list,此处不赘述。
(4)struct数据类型
对于struct类型,其成员往往是其它各种数据类型(既可以是double,int等基本类型,也可以是vector,struct,map等复杂类型),在此处以一个简单的例子说明:
如果struct在IDL中的结构为:
则,在XML中的对应元素为如下所示:
XML元素名称为struct,起name属性标识struct变量的名称。<struct>元素的文本域包含struct各个成员对应的子元素,在本例中对应为<int>和<string>元素。
(5)map数据类型
以map<int,st_person>为例,map数据类型对应的XML元素如下所示:
XML元素名称为map,其name属性标识map变量名。元素下面包含两个子元素:<map_key>和<map_value>,分别对应map的key-value对。<map_key>和<map_value>下面的子元素分别对应key和value的数据类型,在本例中为int和struct。
(6)function类型
在IDL中的function类型描述终端与后台服务器的调用接口,以如下function为例:
int getAge(const string&name,int&age);
对应的XML元素结构如下所示:
XML元素名称为function,其name属性为函数名(本例汇总为getAge)。function元素下包含三个子元素:<return>,<input>和<output>,分别对应函数的返回值,输入参数和输出参数,其name属性几位输入、输出参数变量名(<return>元素不需name属性)。在<return>,<input>和<output>元素下,包含对应的数据类型元素。
S102、生成包含XML文件读写例程的可执行的测试程序。
对所述IDL文件进行解析和编译,生成包含XML文件读写例程的可执行的测试程序。
本步骤具体包括:
通过IDL编译程序对所述IDL文件进行编译,生成与所述IDL文件对应的头文件和源文件,即后缀名为.h和.cpp的文件;
按照通用的接口形式对所述IDL文件进行解析和编译,生成包含XML文件的读写例程的测试程序代码,在本实施例的一个优选实施方式中,按照通用的接口形式对所述IDL文件进行解析和编译,具体为通过Lex&Yacc按照通用的接口形式对所述IDL文件进行解析和编译。
对所述测试程序代码以及所述IDL文件对应的头文件和源文件进行编译,生成可执行的测试程序。
S103、一次用例测试时,生成XML文件副本,通过可视化界面展示和接收输入参数并更新到XML文件副本中,获取输出参数和/或返回值。
当测试人员进行一次用例测试时,为所述用例测试生成一份所述XML文件副本,当接收到测试人员指定的需要测试的函数时,通过所述XML分析模块解析所述XML文件副本将所述指定函数的输入参数在可视化界面通过输入框的形式展示出来,当接收到测试人员通过所述可视化界面的输入框中输入参数并启动测试时,将所述输入参数更新到所述XML文件副本中,启动所述可执行的测试程序调用所述指定的函数,所述可执行的测试程序从所述XML文件副本中读取所述指定函数的输入参数,获取所述指定函数的输出参数和/或返回值。
进一步地,还包括提供界面列举出所述IDL文件中所有函数,通过所述可视化界面接收目标测试函数的指定。
进一步地,获取输出参数和/或返回值之后还包括S104和S105。
S104、通过可视化界面展示输出参数和/或返回值。
将所述输出参数和/或返回值通过可视化界面展示出来。
S105、更新XML文件副本。
将所述指定函数的输出参数和/或返回值更新到所述用例测试生成的XML文件副本中。
本实施例用于在移动互联网后台服务器的测试中,通过对目标测试软件的IDL文件进行解析和编译来生成包含XML文件读写例程的可执行的测试程序,通过将IDL文件进行映射生成XML文件,对每次测试生成一个XML文件副本,避免了对于每一次测试都编写测试程序代码和对于每一个测试用例都将测试数据写入文件而引起的容易出错和不够便捷的缺陷,能使软件测试更加自动化,能明显提高测试的效率。
实施例二
本实施例分两部分分别描述测试前准备工作以及测试过程的详细步骤,包含用户与测试系统的交互步骤,以及测试系统内部自动完成的工作步骤,通过这些步骤来阐述本实施例的技术方案。
测试前的准备工作步骤参见图2,包括:
S201、接收用户上传的IDL文件和输入的后台服务器的IP地址和端口号。
用户通过前端页面,上传IDL文件,填入要测试的后台服务程序所在的机器的IP号和端口号。
S202、IDL编译程序将IDL文件编译成对应的后缀名为.h和.cpp的文件。
S203、Lex&Yacc解析IDL文件,生成描述IDL协议数据格式的XML文件。
Lex&Yacc解析所述IDL文件,生成描述IDL协议数据格式的XML文件。XML文件和IDL文件对协议数据有完全等价的描述功能。从IDL协议数据到XML元素的映射规则如实施例一所描述,在此不作赘述。
S204、Lex&Yacc解析IDL文件,编译生成测试程序代码。
在测试程序代码中,包含对步骤S203中所生成XML文件的读写例程。在测试程序的接口函数的入口,将输入参数的协议数据从XML文件中读出来;在接口函数的出口,将输出参数的协议数据填入XML文件。
在测试程序代码中,根据用户在步骤S201填入的测试后台服务器的机器IP和端口号,包含连接该指定测试服务的例程。
由于后台服务程序基于IDL协议按照通用的接口模式开发,因此Lex&Yacc可以按照通用的接口形式,编译生成测试程序代码。
S205、将测试程序源代码和编译产生的后缀名为.h和.cpp的文件编译成最终测试程序。
将步骤S204中生成的测试程序源代码,结合在上一步中所生成的后缀名为.h和.cpp的文件,编译成最终的可执行文件,即测试程序。
测试过程的基本步骤参见图3,包括:
S301、当登录页面接收到测试人员登录时,进入测试页面。
S302、判断测试人员是否是第一次登录,若是则执行步骤S303,否则执行步骤S304。
S303、生成一个该测试人员的专属测试目录。
如果该测试人员是第一次进行测试,则为其生成一个专属的测试目录。
S304、生成一个XML文件备份,放入该测试人员专属测试目录中。
为该测试人员生成一个XML文件备份,该XML文件备份是在步骤S203中所生成XML文件的一份拷贝,所述XML文件备份中其各个基本元素的值域(即XML元素的文本域)为空。将XML文件放入该用户的测试目录。
S305、当接收到测试人员指定测试函数进行测试时,获取该函数的输入参数,通过可视化界面展示各输入参数的输入框。
测试人员选择目标测试函数,根据XML文件的结构,将用户在可视化界面中将指定函数的输入参数,通过XML解析器以可视化、用户友好的形式展示出来。在本实施例的一个优选实施方式中,通过包含各输入参数的名称和输入框的界面,使用户可以非常方便,一目了然地填入该测试用例中的各个输入参数。
S306、当可视化界面输入框接收到输入测试参数时,将测试参数更新到该用户专属测试目录下的XML文件中。
所述XML文件即为步骤S304生成的XML文件备份。
S307、当接收到测试启动请求后,测试程序从用户专属测试目录下的XML文件中读取输入参数,调用指定测试函数。
测试人员根据测试用例,将测试数据填入前端页面,启动测试。测试程序从用户专属测试目录下的XML文件中读取输入参数,调用函数接口(即组包发送给后台服务程序)。在调用接口返回时,将读取回包数据,并填入测试目录下的XML文件中,对应函数(接口)的输出参数的各个子元素;如果返回值不为void,则将返回值也填入XML文件中对应子元素。
S308、在调用指定测试函数返回时,读取输出参数和/或返回值,并更新到XML文件中。
即更新到该用户专属测试目录下的该测试用例专属的XML文件中。
S309、将指定测试函数的输出参数和/或返回值通过可视化界面展现出来。
即在前端页面上,通过XML解析器将XML文件中用户指定函数(接口)的输出参数和/或返回值以结构化、可视化、用户友好的形式展现出来。
本实施例在实施例一的基础上进一步地给出了一种生成最终测试程序的具体方案,以及为不同的测试人员和不同的测试用例进行有效管理的具体方案,使测试管理和用例管理以结构化的形式展现出来,能使测试用例和测试结果的展示更加友好和条理,能使用户更方便地定位后台服务器的问题。
实施例三
根据本发明的同一构思,本发明还提供了一种可视化自动测试系统,图4是本实施例所述的可视化自动测试系统结构框图,如图4所示,本实施例所述的可视化自动测试系统包括:
XML文件生成模块401,用于获取目标测试软件的接口描述语言文件(IDL文件),根据预先设置的从IDL数据类型到XML语言元素的映射规则将所述IDL文件进行映射生成XML文件。
在终端APP与后台服务器之间,一般都通过约定的协议格式进行通信。协议可以是自定义格式,也可以采用某种标准的协议格式,如ASN.1(Abstract Syntax Notation One,抽象语法标记)、IDL(Interface description language,接口描述语言)等。在本实施例的一个优选方案中,终端与后台服务器之间交互的协议是采用IDL格式。
通过可视化界面接收测试人员上传的IDL文件,根据预先设置的从IDL数据类型到XML元素的映射规则将所述IDL文件进行映射生成XML文件。
如图5所示,所述可视化界面,用于提供一个可视化、自动化的用户界面供用户上传协议文件,填写测试用例参数,查看测试结果,填写要测试的接口名和机器IP与端口号,启动测试等。
在本实施例的方案中,XML文件和IDL文件对协议数据有完全等价的描述功能。从IDL数据类型到XML元素的映射规则如(1)~(6)所示。对于多层嵌套的数据类型,则用其成员数据类型的XML元素来嵌套表示。
(1)基本数据类型
包括double,float,long,int,short,char以及string(string在XML描述时亦可看作基本类型)等。以double类型为例,在XML中对应的元素为:
<double name="var_name">var_value</double>
其中,元素名称就是基本数据类型,属性name的值为变量名称,文本域(如例中的var_value)则是相应变量的名称。
(2)vector数据类型
以vector<double>为例,在XML中对应的元素为:
其中,元素名称(如例中的vector)表示数据类型为vector。各个子元素标识vector的各个成员,每一个子成员用一个XML元素(如例中的<double>)表示,double元素不需要name属性,其文本域填入成员的值。各XML子元素之间是并列关系。
(3)list数据类型
与vector数据类型完全类似,唯一区别是元素名称由vector改为list,此处不赘述。
(4)struct数据类型
对于struct类型,其成员往往是其它各种数据类型(既可以是double,int等基本类型,也可以是vector,struct,map等复杂类型),在此处以一个简单的例子说明:
如果struct在IDL中的结构为:
则,在XML中的对应元素为如下所示:
XML元素名称为struct,起name属性标识struct变量的名称。<struct>元素的文本域包含struct各个成员对应的子元素,在本例中对应为<int>和<string>元素。
(5)map数据类型
以map<int,st_person>为例,map数据类型对应的XML元素如下所示:
XML元素名称为map,其name属性标识map变量名。元素下面包含两个子元素:<map_key>和<map_value>,分别对应map的key-value对。<map_key>和<map_value>下面的子元素分别对应key和value的数据类型,在本例中为int和struct。
(6)function类型
在IDL中的function类型描述终端与后台服务器的调用接口,以如下function为例:
int getAge(const string&name,int&age);
对应的XML元素结构如下所示:
XML元素名称为function,其name属性为函数名(本例汇总为getAge)。function元素下包含三个子元素:<return>,<input>和<output>,分别对应函数的返回值,输入参数和输出参数,其name属性几位输入、输出参数变量名(<return>元素不需name属性)。在<return>,<input>和<output>元素下,包含对应的数据类型元素。
测试程序生成模块402,用于对所述IDL文件进行解析和编译,生成包含XML文件读写例程的可执行的测试程序。
其中,测试程序生成模块402具体包括:
编译单元4021,用于通过IDL编译程序对所述IDL文件进行编译,生成与所述IDL文件对应的头文件和源文件,即生成后缀名为.h和.cpp的文件。
其中所述IDL编译程序是一种第三方模块,用于将IDL文件编译为后缀名为.h和.cpp的文件。
解析与编译单元4022,用于按照通用的接口形式对所述IDL文件进行解析和编译,生成包含XML文件的读写例程的测试程序代码。
其中,所述解析与编译单元4022中所述按照通用的接口形式对所述IDL文件进行解析和编译具体为:通过Lex&Yacc按照通用的接口形式对所述IDL文件进行解析和编译。
如图5所示,Lex&Yacc用于对IDL做词法分析与语法解析,生成描述IDL中各接口、接口输入参数和输出参数的XML文件,生成测试客户端源代码。
其中,Lex代表Lexical Analyzar,Yacc代表Yet Another Compiler Compiler。
生成单元4023,用于对所述测试程序代码以及所述IDL文件对应的头文件和源文件进行编译,生成可执行的测试程序。
自动测试模块403,用于当需要进行一次用例测试时,为所述测试用例生成一份所述可扩展标记语言文件的副本,将所述测试用例中的输入参数更新到所述测试用例对应的可扩展标记语言文件副本中,运行所述可执行的测试程序,所述可执行的测试程序从所述测试用例对应的可扩展标记语言文件副本中读取所述输入参数,获取所述测试用例的输出参数和/或返回值。
进一步地,所述自动测试模块403还可包括结果展示单元4031,用于在所述获取输出参数和/或返回值之后,将所述输出参数和/或返回值通过可视化界面展示出来。
进一步地,所述自动测试模块403还可包括结果更新单元4032,用于所述自动测试模块获取输出参数和/或返回值之后,将所述指定函数的输出参数和/或返回值更新到所述用例测试生成的XML文件副本中。
所述自动测试模块403还可包括测试函数选择单元4033,用于提供可视化界面列举出所述IDL文件中所有函数,测试人员通过所述可视化界面指定需要测试的函数。
当所述系统用于测试后台服务程序时,所述测试程序生成模块生成的可执行的测试程序还需包括要测试的后台服务程序所在机器的IP和端口号。
本发明实施例所述的可视化自动测试系统,用于移动互联网后台服务器的测试,通过XML文件生成模块将IDL文件进行映射生成XML文件,通过测试程序生成模块对目标测试软件的IDL文件进行解析和编译来生成包含XML文件读写例程的可执行的测试程序,通过自动测试模块对每次测试生成一个XML文件副本,避免了对于每一次测试都编写测试程序代码和对于每一个测试用例都将测试数据写入文件而引起的容易出错和不够便捷的缺陷,能使软件测试更加自动化,能明显提高测试的效率,而且能使测试用例和测试结果的展示更加友好,能使用户更方便地定位后台服务器的问题。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种可视化自动测试方法,其特征在于,包括:
获取目标测试软件的接口描述语言IDL文件,根据预先设置的从IDL数据类型到可扩展标记语言XML元素的映射规则将所述IDL文件进行映射生成XML文件;
对测试程序代码以及所述IDL文件对应的头文件和源文件进行编译,生成包含XML文件读写例程的可执行的测试程序;在所述测试程序代码中,包含对所述IDL文件所生成XML文件的读写例程;
当需要进行一次用例测试时,为测试用例生成一份所述XML文件的副本,将所述测试用例中的输入参数更新到所述测试用例对应的XML文件副本中,运行所述可执行的测试程序,所述可执行的测试程序从所述测试用例对应的XML文件副本中读取所述输入参数,获取所述测试用例的输出参数和/或返回值。
2.如权利要求1所述的可视化自动测试方法,其特征在于,所述将所述测试用例中的输入参数更新到所述测试用例对应的XML文件副本中具体包括:解析所述XML文件副本,将所述测试用例的输入参数通过可视化界面展示出来,所述可视化界面接收到输入参数后,将所述输入参数更新到所述测试用例对应的XML文件副本中。
3.如权利要求1或2所述的可视化自动测试方法,其特征在于,所述对所述IDL文件进行解析和编译,生成包含XML文件读写例程的可执行的测试程序具体包括:
通过IDL编译程序对所述IDL文件进行编译,生成与所述IDL文件对应的头文件和源文件;
按照通用的接口形式对所述IDL文件进行解析和编译,生成包含XML文件的读写例程的测试程序代码;
对所述测试程序代码以及所述IDL文件对应的头文件和源文件进行编译,生成可执行的测试程序。
4.如权利要求1或2所述的可视化自动测试方法,其特征在于,所述获取输出参数和/或返回值之后还包括:将所述输出参数和/或返回值通过可视化界面展示出来。
5.如权利要求1或2所述的可视化自动测试方法,其特征在于,所述获取输出参数和/或返回值之后还包括:将指定函数的输出参数和/或返回值更新到所述用例测试生成的XML文件副本中。
6.如权利要求1或2所述的可视化自动测试方法,其特征在于,还包括提供可视化界面列举出所述IDL文件中所有函数,通过所述可视化界面接收指定的目标测试函数。
7.如权利要求6所述的可视化自动测试方法,其特征在于,所述方法用于测试后台服务程序,所述可执行的测试程序还包括要测试的后台服务程序所在机器的IP地址和端口号。
8.一种可视化自动测试系统,其特征在于,包括:
XML文件生成模块,用于获取目标测试软件的接口描述语言IDL文件,根据预先设置的从IDL数据类型到可扩展标记语言XML元素的映射规则将所述IDL文件进行映射生成XML文件;
测试程序生成模块,用于对测试程序代码以及所述IDL文件对应的头文件和源文件进行进行编译,生成包含XML文件读写例程的可执行的测试程序;在所述测试程序代码中,包含对所述IDL文件所生成XML文件的读写例程;
自动测试模块,用于当需要进行一次用例测试时,为测试用例生成一份所述XML文件的副本,将所述测试用例中的输入参数更新到所述测试用例对应的XML文件副本中,运行所述可执行的测试程序,所述可执行的测试程序从所述测试用例对应的XML文件副本中读取所述输入参数,获取所述测试用例的输出参数和/或返回值。
9.如权利要求8所述的可视化自动测试系统,其特征在于,所述自动测试模块中所述将所述测试用例中的输入参数更新到所述测试用例对应的XML文件副本中具体包括:解析所述XML文件副本,将所述测试用例的输入参数通过可视化界面展示出来,所述可视化界面接收到输入参数后,将所述输入参数更新到所述测试用例对应的XML文件副本中。
10.如权利要求8或9所述的可视化自动测试系统,其特征在于,所述测试程序生成模块具体包括:
编译单元,用于通过IDL编译程序对所述IDL文件进行编译,生成与所述IDL文件对应的头文件和源文件;
解析与编译单元,用于按照通用的接口形式对所述IDL文件进行解析和编译,生成包含XML文件的读写例程的测试程序代码;
生成单元,用于对所述测试程序代码以及所述IDL文件对应的头文件和源文件进行编译,生成可执行的测试程序。
11.如权利要求8或9所述的可视化自动测试系统,其特征在于,所述自动测试模块还包括结果展示单元,用于当所述获取输出参数和/或返回值之后,将所述输出参数和/或返回值通过可视化界面展示出来。
12.如权利要求8或9所述的可视化自动测试系统,其特征在于,所述自动测试模块还包括结果更新单元,用于所述自动测试模块获取输出参数和/或返回值之后,将指定函数的输出参数和/或返回值更新到所述用例测试生成的XML文件副本中。
13.如权利要8或9所述的可视化自动测试系统,其特征在于,所述自动测试模块还包括测试函数选择单元,用于提供可视化界面列举出所述IDL文件中所有函数,通过所述可视化界面接收指定的目标测试函数。
14.如权利要求13所述的可视化自动测试系统,其特征在于,所述系统用于测试后台服务程序,所述测试程序生成模块生成的可执行的测试程序还包括要测试的后台服务程序所在机器的IP地址和端口号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310073069.2A CN104035859B (zh) | 2013-03-07 | 2013-03-07 | 一种可视化自动测试方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310073069.2A CN104035859B (zh) | 2013-03-07 | 2013-03-07 | 一种可视化自动测试方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104035859A CN104035859A (zh) | 2014-09-10 |
CN104035859B true CN104035859B (zh) | 2018-03-27 |
Family
ID=51466632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310073069.2A Active CN104035859B (zh) | 2013-03-07 | 2013-03-07 | 一种可视化自动测试方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104035859B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874176B (zh) * | 2015-12-14 | 2021-04-27 | 创新先进技术有限公司 | 智能测试方法和装置 |
CN106681922B (zh) * | 2016-12-27 | 2021-03-02 | 上海品顺信息科技有限公司 | 模拟服务器响应方法及系统 |
CN106919509B (zh) * | 2017-03-09 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 一种客户端生成方法、装置及电子设备 |
CN108628729B (zh) * | 2017-03-15 | 2021-11-30 | 北京嘀嘀无限科技发展有限公司 | 一种软件测试方法和软件测试客户端 |
CN107992306A (zh) * | 2017-12-03 | 2018-05-04 | 中国直升机设计研究所 | 一种航电软件接口实现一致性自动检查方法 |
CN108334443A (zh) * | 2017-12-22 | 2018-07-27 | 海尔优家智能科技(北京)有限公司 | 生成测试用例的方法、装置、设备及计算机可读存储介质 |
CN108829574B (zh) * | 2018-04-13 | 2023-04-18 | 深圳壹账通智能科技有限公司 | 测试数据铺设方法、测试服务器及计算机可读存储介质 |
CN110674024A (zh) * | 2018-07-02 | 2020-01-10 | 北京忆恒创源科技有限公司 | 电子设备集成测试系统及其方法 |
CN109101254A (zh) * | 2018-07-20 | 2018-12-28 | 江苏满运软件科技有限公司 | 一种热修复方法及设备 |
CN109558290B (zh) * | 2018-11-12 | 2023-06-02 | 平安科技(深圳)有限公司 | 服务器、接口自动化测试方法及存储介质 |
CN111382055B (zh) * | 2018-12-29 | 2023-09-15 | 贝壳技术有限公司 | 一种基于统一描述语言的自动化单元测试方法及装置 |
CN112000566B (zh) * | 2019-05-27 | 2023-11-28 | 腾讯科技(深圳)有限公司 | 测试用例的生成方法及装置 |
CN110489323B (zh) * | 2019-07-09 | 2023-04-25 | 北京字节跳动网络技术有限公司 | 可视化的rpc api调试方法、装置、介质和设备 |
CN112783748B (zh) * | 2019-11-06 | 2024-02-20 | 腾讯科技(深圳)有限公司 | 程序调试方法、装置、设备及计算机可读存储介质 |
CN111338944B (zh) * | 2020-02-21 | 2023-09-08 | 北京字节跳动网络技术有限公司 | 远程过程调用rpc接口测试方法、装置、介质及设备 |
CN111552475B (zh) * | 2020-04-20 | 2023-08-15 | 武汉精测电子集团股份有限公司 | 一种半导体存储器老化测试的Workload测试文件编译方法、测试方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632747A (zh) * | 2003-12-22 | 2005-06-29 | 联想(北京)有限公司 | 软件接口测试方法 |
CN101488085A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 软件接口测试方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7389223B2 (en) * | 2003-09-18 | 2008-06-17 | International Business Machines Corporation | Method and apparatus for testing a software program using mock translation input method editor |
-
2013
- 2013-03-07 CN CN201310073069.2A patent/CN104035859B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632747A (zh) * | 2003-12-22 | 2005-06-29 | 联想(北京)有限公司 | 软件接口测试方法 |
CN101488085A (zh) * | 2008-01-17 | 2009-07-22 | 中兴通讯股份有限公司 | 软件接口测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104035859A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104035859B (zh) | 一种可视化自动测试方法及其系统 | |
Bozkurt et al. | Testing and verification in service‐oriented architecture: a survey | |
Miles et al. | Prime: A methodology for developing provenance-aware applications | |
CN104484216B (zh) | 服务接口文档和在线测试工具生成方法、装置 | |
US8448146B2 (en) | Generation of functional tests for re-hosted applications | |
CN104156313B (zh) | 一种Web服务测试用例自动生成方法 | |
US20160092502A1 (en) | Graphical modeling of database query statements | |
CN107239271A (zh) | 开发文档生成方法及装置 | |
CN108920496B (zh) | 一种渲染方法及装置 | |
Arcaini et al. | AsmetaSMV: a way to link high-level ASM models to low-level NuSMV specifications | |
US8645913B2 (en) | Web-service based generation of business objects | |
US20190370028A1 (en) | Managing discovery and selection of service interface specifications | |
CN104679500B (zh) | 实体类自动生成实现方法及装置 | |
US20170220457A1 (en) | Constructing test-centric model of application | |
CN111767217A (zh) | Js单元测试案例生成方法及装置 | |
Merilinna | A tool for quality-driven architecture model transformation | |
CN115017182A (zh) | 一种可视化的数据分析方法及设备 | |
Bertolino et al. | Formal methods in testing software architectures | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
Liu et al. | Design and implementation of automatic generation of test cases based on model driven architecture | |
López et al. | Automatic generation of test models for web services using WSDL and OCL | |
CA2738422A1 (en) | Examining concurrent system states | |
CN110266554A (zh) | 一种私有通信协议的测试方法 | |
Bluemke et al. | Tool for automatic testing of web services | |
Abdelzad et al. | Adding a textual syntax to an existing graphical modeling language: Experience report with GRL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210927 Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 2, 518044, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |