CN113992549B - 一种测试方法、装置、电子设备及存储介质 - Google Patents
一种测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113992549B CN113992549B CN202010653447.4A CN202010653447A CN113992549B CN 113992549 B CN113992549 B CN 113992549B CN 202010653447 A CN202010653447 A CN 202010653447A CN 113992549 B CN113992549 B CN 113992549B
- Authority
- CN
- China
- Prior art keywords
- parameter
- target
- message
- data structure
- value
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种测试方法、装置、电子设备及存储介质,涉及通信技术领域。所述方法包括:根据3GPP服务化接口协议构建服务化消息的静态数据结构表;根据所述静态数据结构表生成所述服务化消息的消息树;按照用户指令对所述消息树中的目标参数的属性进行配置;根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据。本发明根据3GPP服务化接口协议构建服务化消息的静态数据结构表,根据静态数据结构表生成服务化消息的消息树,按照用户指令对消息树中对服务化消息的目标参数的属性进行配置,从而实现了根据用户的测试需求灵活构造服务化消息,且操作简单,提高了测试效率。
Description
技术领域
本发明涉及通信技术领域,具体地涉及一种测试方法、装置、电子设备及存储介质。
背景技术
服务化架构(SBA,Service Based Architecture)是第五代移动通信(5G,5thGeneration)网络的基础架构,它将一个网络功能进一步拆分为多个具有自包含、自管理、可重用的网络功能服务,从而使得运营商可以按照业务需求进行灵活组网。SBA的各个服务化网元之间均采用服务化接口协议。随着5G网络的推广与商用,对SBA中各个服务化接口的测试也提出了更高的需求。
当前的服务化接口测试方法是测试人员按照第三代合作伙伴计划(3GPP,3rdGeneration Partnership Project)协议规定的服务化接口消息接口结构,预先编写一段内容固定的服务化接口消息,然后通过JMeter等发包工具将这些固定内容的服务化接口消息发送给被测服务化网元,并通过JMeter统计被测服务化网元返回的服务化响应消息。
但是,现有的测试方法,在每次测试之前都需要针对被测试的服务化接口编写符合JS对象简谱(JSON,JavaScript Object Notation)语法规则的服务化消息,该服务化消息中包括服务化消息的数据结构代码和编解码业务逻辑代码,若3GPP协议升级导致服务化消息的数据结构定义发生变化,需要同时对服务化消息的数据结构代码和编解码业务逻辑代码进行修改,导致服务化消息的重复利用性差,且由于服务化消息的编写方式复杂,不利于用户根据测试需求灵活构造服务化消息,导致测试效率低下。
发明内容
本发明提供一种测试方法、装置、电子设备及存储介质,以解决现有技术中无法灵活构造服务化消息,测试效率低下的问题。
根据本发明的第一方面,提供了一种测试方法,所述方法包括:
根据3GPP服务化接口协议构建服务化消息的静态数据结构表;
根据所述静态数据结构表生成所述服务化消息的消息树;
按照用户指令对所述消息树中的目标参数的属性进行配置;
根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据。
根据本发明的第二方面,提供了一种测试装置,所述装置包括:
构建模块,用于根据3GPP服务化接口协议构建服务化消息的静态数据结构表;
消息树生成模块,用于根据所述静态数据结构表生成所述服务化消息的消息树;
配置模块,用于按照用户指令对所述消息树中的目标参数的属性进行配置;
测试模块,用于根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据。
根据本发明的第三方面,提供了一种电子设备,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的方法。
根据本发明的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的方法。
本发明提供了一种测试方法、装置、电子设备及存储介质,本发明根据3GPP服务化接口协议构建服务化消息的静态数据结构表,根据静态数据结构表生成服务化消息的消息树,按照用户指令对消息树中对服务化消息的目标参数的属性进行配置,从而实现了根据用户的测试需求灵活构造服务化消息,且操作简单,提高了测试效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种测试方法的具体步骤流程图;
图2是3GPP协议中网元AMF向网元LMF发送的终端位置查询命令中的各个参数的数据结构表;
图3是3GPP协议中参数locationQoS的各个子参数的数据结构表;
图4是3GPP协议中部分基本参数的数据结构表;
图5是服务化消息“终端位置查询请求消息”的消息树;
图6是服务化消息“终端位置查询请求消息”对应消息树的最大父节点的展开消息树;
图7是本发明实施例二提供的一种测试方法的具体步骤流程图;
图8是本发明实施例二提供的一种静态数据结构表tdhps_endec_message_list_str;
图9是本发明实施例二提供的一种静态数据结构表tdhps_endec_message_str;
图10是本发明实施例二提供的一种静态数据结构表tdhps_endec_parameter_str;
图11是本发明实施例二提供的一种目标参数的参数列表;
图12是本发明实施例二提供的一种目标服务化消息的数据结构图;
图13是本发明实施例二提供的一种测试结果数据的数据结构图;
图14是本发明实施例三提供的一种测试装置的结构图;
图15是本发明实施例四提供的一种测试装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参照图1,其示出了本发明实施例一提供的一种测试方法的具体步骤流程图。
步骤101,根据3GPP服务化接口协议构建服务化消息的静态数据结构表。
在本发明中,服务化消息指一段符合JSON语法规则的消息文本。SBA中,各个网元之间均采用服务化接口协议,各个网元对应的服务化消息都是依据JSON语法编码而成的。JSON是一种轻量级的数据交换语言,它采用完全独立于语言的文本格式,易于用户阅读和编写,同时也易于机器解析和生成。JSON的语法结构比较简单,整体是一种“名称/值”对的集合(Acollection of name/value pairs),编码的结果是ASC码。在JSON中,存在两种基本结构:对象(object)和数组(array),这两种基本结构采用JSON的语法结构表示为:
1)对象:
{
"key1":"value1",
"key2":value2
}
其中,key1、key2均表示该对象的名称,value1、value2分别表示对象key1、key2对应的取值。
2)数组:
[
{"key1":"value1"},
{"key2":"value2"}
]
其中,key1、key2均表示该数组的名称,value1、value2分别表示数组key1、key2对应的取值。
每个服务化消息中包含的具体键值对个数、键值对的取值范围、层次结构都由该服务化消息对应网元的3GPP协议具体规定。例如,网元LMF(Location ManagementFunction)对应的所有服务化消息由3GPP协议中的TS29.572的内容定义。参照图2,示出了3GPP协议中网元AMF向网元LMF发送的终端位置查询命令中的各个参数的数据结构表,其中,Attribute Name为参数的名称,Data Type限定了参数的数据类型,P表征该参数在对应的服务化消息中是否必要,当P的取值为O时,表明该参数在服务化消息中是非必要的,当P的取值为M时,表明该参数在服务化消息中是必要的;Cardinality限定了参数的取值范围,Description是对参数的具体描述。以Attribute Name为locationQoS的参数为例,该参数的数据类型为LocationQoS,表示该参数的类型为复合数据类型,该参数由多个子参数构成,每个子参数的数据类型构成了参数locationQoS的复合数据类型LocationQoS,每个子参数的信息在3GPP协议的其他地方有明确的定义,参照图3,示出了3GPP协议中参数locationQoS的各个子参数的数据结构表,参数locationQoS的P值为O,表明该参数对于网元AMF向网元LMF发送的终端位置查询命令而言是非必要的,因此在构建网元AMF向网元LMF发送的终端位置查询命令对应的服务化消息时,可以包含参数locationQoS,也可以不包含;Cardinality为0..1,表示参数locationQoS的最小值为0,最大值为1。
通过图2与图3所示的层层向下定义的方式,直至服务化消息中的每个参数的最小子参数的数据类型为最基本的数据类型时,如number、integer等,完成对该服务化消息的数据结构的定义,参照图4,示出了3GPP协议中部分基本参数的数据结构表,图4中每个参数的数据类型均为基本数据类型。
根据3GPP协议中对于服务化消息的每个参数的数据结构的定义,构建该服务化消息的静态数据结构表。结合前述可知,3GPP协议中定义了服务化消息的所有参数的数据结构信息,以及每个参数对应的所有子参数的数据结构信息,并且由图2和图3所示的定义方式,反映了参数locationQoS与其子参数之间的映射关系,因此,根据3GPP协议中对于服务化消息的每个参数的数据结构的定义,构建的该服务化消息的静态数据结构表中,包含了该服务化消息的所有参数的数据结构信息,以及每个参数对应的所有子参数的数据结构信息,每个参数与其子参数之间的映射关系。
本发明实施例构建的服务化消息的静态数据结构表仅包含该服务化消息的数据结构信息,不包含该服务化消息对应的编解码业务逻辑信息,从而实现了将服务化消息的数据结构信息与编解码业务逻辑信息分离开来,当对服务化消息的数据结构信息进行编辑时,不对编解码业务逻辑信息产生影响。
步骤102,根据静态数据结构表生成服务化消息的消息树。
根据步骤101中构建的服务化消息的静态数据结构表生成服务化消息的消息树。具体的,可以将该服务化消息的名称作为该消息树的根节点,然后从数据类型最复杂的参数开始,将数据类型最复杂的参数作为消息树的最大父节点,将该参数的子参数作为最大子节点,采用递归调用的方式层层向下查找该服务化消息对应的参数信息,数据类型为最基本的数据类型对应的最小子参数为该消息树的最小父节点,每个参数对应的属性,如取值类型,为对应参数的子节点,最小子参数的属性为该消息树的最小子节点。
以网元AMF向网元LMF发送的终端位置查询命令为例,将该服务化消息的名称作为对应的消息树的根节点,则图2中示出的所有参数为该消息树的最大父节点,图3中示出的所有参数为参数locationQoS对应的父节点的子节点,也即该消息树的最大子节点。消息树中各个节点均为各个参数的参数名称,每个参数的属性,如取值类型,为对应参数名称的子节点。参照图5,示出了服务化消息“终端位置查询请求消息”的消息树,图5中示出的该消息树的各个父节点即为图2中示出的各个参数的参数名称。参照图6,示出了服务化消息“终端位置查询请求消息”对应消息树的最大父节点的展开消息树,以locationQoS为例,按照本发明实施例的方法,参数locationQoS的取值类型本该为节点locationQoS的子节点,但在实际应用中,由于数据结构算法的要求,将参数locationQoS在JSON中的结构类型object作为节点locationQoS的子节点,将参数locationQoS的取值类型hAccuracy、vAccuracy、verRequested、response Time作为节点object的子节点。但叶子节点object只用于表示最终采用JSON对服务化消息进行编码时所需要采用的语法结构,不影响服务化消息的数据结构。其中,hAccuracy、vAccuracy表示该参数的取值类型为常数类型,verRequested表示该参数的取值类型为变量类型,response Time表示该参数的取值类型为枚举类型,在本发明中,对于枚举类型的参数值以列表的形式提供给用户,以供用户选择,如图6中的value=DELAY_TOLERANT表示枚举类型的参数值为列表DELAY_TOLERANT。
由于本发明实施例构建的服务化消息的静态数据结构表仅包含该服务化消息的数据结构信息,因此,根据该静态数据结构表生成的服务化消息的消息树也仅包含服务化消息的数据结构信息。
步骤103,按照用户指令对消息树中的目标参数的属性进行配置。
其中,目标参数的属性包括目标参数的预设参数值、参数提取标识、取值类型等。
在本发明实施例中,服务化消息对应的消息树中各个参数的参数信息向用户开放,用户可以根据实际测试需求的对目标参数的属性进行灵活配置。参照图6,用户可以直接在消息树的用户界面上,设置目标参数的预设参数值,以参数locationQoS为例,参数值value均可由用户直接输入,对于枚举类型,用户可以在预先设置的参数值列表中选择参数值。其中,对于变量类型,其参数值为特殊标记,每个变量类型的参数值对应一个独立的内存空间。
图6仅示出了对目标参数的预设参数值进行配置,用户还可以在用户界面上对目标参数的其他属性进行配置,配置方法与参数值的配置方法类似,在此不做进一步限定。
步骤104,根据消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据。
用户完成对目标参数的的属性的配置之后,根据消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据,测试结果数据与用户配置的目标参数的属性对应。可选地,若用户将目标参数的参数提取标识配置为提取,则得到的测试结果数据中包含目标参数的实际参数值。
本发明提供了一种测试方法,通过3GPP服务化接口协议构建服务化消息的静态数据结构表,根据静态数据结构表生成服务化消息的消息树,按照用户指令对消息树中对服务化消息的目标参数的属性进行配置,从而实现了根据用户的测试需求灵活构造服务化消息,且操作简单,提高了测试效率。
实施例二
参照图7,其示出了本发明实施例二提供的一种测试方法的具体步骤流程图。
步骤201,根据3GPP服务化接口协议将服务化消息拆分为多个数据结构层级。
在发明实施例中,服务化消息的每个数据结构层级上对应的参数在3GPP协议中具有相同的参数级别。
以网元AMF向网元LMF发送的终端位置查询命令为例,图2中所示的该服务化消息的所有参数均属于同一数据结构层级,记为第一数据结构层级,图3中所示的所有参数均属于同一数据结构层级,记为第二数据结构层级,图4中所示的所有参数均属于同一数据结构层级,记为第三数据结构层级。将服务化消息“终端位置查询请求命令”的数据结构信息拆分为上述三个数据结构层级。
步骤202,确定所述服务化消息在每个数据结构层级上对应的参数信息。
参数信息包括所述服务化消息包含的各个参数的参数名称和属性信息,还包括服务化消息在所述数据结构层级上的参数与该参数对应的子参数之间的映射关系。
以网元AMF向网元LMF发送的终端位置查询命令为例,第一数据结构层级上的至少一个参数在第二数据结构层级上存在至少一个子参数,第二数据结构层级上的至少一个参数在第三数据结构层级长存在至少一个子参数,确定每个参数与该参数对应的子参数之间的映射关系。
步骤203,根据参数信息构建服务化消息在每个数据结构层级上对应的静态数据结构表。
根据服务化消息的各个参数的参数名称和属性信息构建服务化消息在每个数据结构层级上对应的静态数据结构表,将构建的静态数据结构表作为被测网元的服务化消息代码中的一个C文件进行编译链接,当需要更新服务化消息的数据结构时,只需要修改服务化消息的静态数据结构表,而不需要修改服务化消息的编解码业务逻辑信息。
以终端位置查询命令为例,定义静态数据结构表tdhps_endec_message_list_str作为终端位置查询命令对应的服务化消息在第一数据结构层级上对应的静态数据结构表,用于存储服务化消息名称和该服务化消息在第一数据结构层级上对应的参数信息:
typedef struct tdhps_endec_message_list_str//创建静态数据结构表tdhps_endec_message_list_str
{
char*messagename;//服务化消息名称
tdhps_endec_message_str*msgtable;//指向该服务化消息在第一数据结构层级上对应的参数组
}tdhps_endec_message_list_str
其中,一个服务化消息在第一数据结构层级上存在多个参数,因此在第一数据结构层级对应的静态数据结构表中,调用该服务化消息的多个参数组成的参数组,从而对服务化消息的多个参数进行定义。参照图8,示出了终端位置查询命令对应的两条服务化消息对应的静态数据结构表tdhps_endec_message_list_str。
在图8中,“Nlmf_Location DetermineLocation_Resquest”为服务化消息名称,&Nlmf_Location DetermineLocation_Resquest为该服务化消息在第一数据结构层级上的参数组,另一个服务化消息同理。由图8可知,在本发明实施例中,构建的服务化消息的静态数据结构表采用JSON的语法结构表示,遵循前述步骤101中所示的“名称/值”对的集合的表示形式。
定义静态数据结构表tdhps_endec_message_str作为终端位置查询命令对应的服务化消息在第二数据结构层级上对应的静态数据结构表,用于存储服务化消息名称在第一数据结构层级上的参数名称和参数的数据结构信息,参照图9,示出了终端位置查询命令在第二数据结构层级上对应的静态数据结构表tdhps_endec_message_str,表示图8中的参数组Nlmf_Location DetermineLocation_Resquest中各个参数的数据结构信息。其中,“externalClientType”表示参数名称,O表示该参数对终端位置查询命令而言是非必要的,&ExternalClientType表示参数externalClientType在第二数据结构层级上的参数组,其他参数同理。
定义静态数据结构表tdhps_endec_parameter_str作为终端位置查询命令对应的服务化消息在第三数据结构层级上对应的静态数据结构表,用于存储服务化消息名称在第二数据结构层级上的参数名称和参数的数据结构信息,参照图10,示出了终端位置查询命令在第三数据结构层级上对应的静态数据结构表tdhps_endec_parameter_str,表示图9中参数locationQoS在第三数据结构层级上对应的参数的数据结构信息,由于参数locationQoS的数据类型是复合数据类型,因此参数locationQoS的数据结构为一个嵌套的结构体,需要用两个实例LocationQoS_ServiceObject和LocationQoS来表示具体的数据结构的层次关系。其中LocationQoS下的成员responseTime存储了按3GPP协议规定的两种合法枚举类型的预设参数值。
前述仅为根据参数构建服务化消息在每个数据结构层级上对应的静态数据结构表的部分举例。在本发明实施例中,服务化消息在至少一个数据结构层级上存在至少一个参数,按照数据结构层级构建服务化消息的静态数据结构表,该服务化消息在多个数据结构层级上存在参数信息,因而可能存在多个静态数据结构表,也可能仅在一个数据结构层级上存在参数信息,相应地,仅存在一个静态数据结构表。对此,本发明实施例不对数据层级个数做具体限定,只要同一数据结构层级上对应的参数在3GPP协议中具有相同的参数级别即可。
步骤204,根据映射关系和服务化消息在每个数据结构层级上对应的静态数据结构表生成服务化消息对应的消息树。
在本发明实施例中,服务化消息在每个数据结构层级上对应的参数信息包括服务化消息在所述数据结构层级上的参数与该参数对应的子参数之间的映射关系,根据该映射关系依次遍历该服务化消息对应的静态数据结构表,根据静态数据结构表中的各个参数的数据结构信息生成服务化消息对应的消息树。
以终端位置查询命令为例,在图8所示的静态数据结构表tdhps_endec_message_list_str中查找终端位置查询命令对应的服务化消息,若查找到终端位置查询命令对应的服务化消息,将该服务化消息的名称作为消息树的根节点;在静态数据结构表tdhps_endec_message_str中查找该服务化消息对应的参数信息,将tdhps_endec_message_str中各个参数的参数名称作为该消息树的父节点;在静态数据结构表tdhps_endec_parameter_str中查找tdhps_endec_message_str中某个参数对应的子参数的参数信息,将查找到的子参数参数名称作为该参数在消息树中对应的节点的子节点,以参数locationQoS为例,在tdhps_endec_parameter_str中查找参数locationQoS的子参数,即图10所述的数据结构信息中的参数名称作为消息树中参数locationQoS对应节点的子节点。如此循环,直至将服务化消息对应的最小子参数添加到消息树中。最终生成的消息树如图5所示。
步骤205,按照用户指令对消息树中的目标参数的属性进行配置。
该步骤参照步骤103,在此不做赘述。
步骤206,根据消息树中的目标参数的参数名称和目标参数在消息树中对应的叶子节点的层次结构序列、目标参数的取值类型、预设参数值、参数提取标识,生成目标参数的参数列表。
步骤207,向用户展示目标参数的参数列表。
目标参数的属性还包括目标参数在消息树中对应的叶子节点的层次结构序列、目标参数的取值类型、预设参数值、参数提取标识。
根据消息树中的目标参数的参数名称和目标参数在消息树中对应的叶子节点的层次结构序列、目标参数的取值类型、预设参数值、参数提取标识,生成目标参数的参数列表,参照图11,示出了本发明实施例的一种目标参数的参数列表。
本发明实施例在用户完成对目标参数的配置之后,以列表的形式存储并展示目标参数的属性信息,便于对目标参数的属性信息进行查询和校对。
步骤208,根据消息树的目标参数的属性生成目标服务化消息。
可选地,若接收到用户的编码指令,则根据目标参数的参数列表生成目标服务化消息。
参照图12,示出了本发明实施例提供的一种目标服务化消息的数据结构图,目标服务化消息中,包含目标服务化消息的参数名称以及目标参数的属性信息,其中,layer表示目标参数在消息树中对应的叶子节点的层次结构序列,variable目标参数的参数提取标识,当variable的取值为NULL时,表明在测试过程中不需要提取该目标参数的实际参数值,当variable的取值为$s时,表明在测试过程中需要提取该目标参数的实际参数值。
步骤209,将目标服务化消息发送至被测网元进行测试,得到测试结果数据。
步骤210,在参数提取标识为目标取值的情况下,从测试结果数据中提取目标参数的实际参数值。
目标参数的属性还包括目标参数的预设参数值和参数提取标识。
如图12所示,若目标参数的参数提取标识的取值为$s,则测试结果数据中包含该目标参数的实际参数值,从测试结果数据中提取目标参数的实际参数值。
本发明实施例根据用户设置的参数提取标识的取值,提取用户需要的目标参数的实际参数值,从而根据用户需求获取服务化消息中的任意参数的实际参数值,相比于现有的测试方法只能反映网元的响应情况,仅支持对网元进行压力测试,本发明实施例提供的测试方法丰富了测试结果数据的内容,从而可以满足复杂的服务化接口测试的数据需求,提高了测试内容的多样性。
步骤211,根据实际参数值和预设参数值对测试结果数据进行分析。
参照图13,示出了本发明实施例提供的一种测试结果数据的数据结构图,由图13可以看出,测试结果数据中包含目标参数在消息树中对应的叶子节点的层次结构序列、目标参数的取值类型、实际参数值,结合前述,若目标服务化消息中目标参数的参数提取标识的取值为NULL,则得到的测试结果数据中,该目标参数的实际参数值为NULL,相应地,若目标服务化消息中目标参数的参数提取标识的取值为$s,则得到的测试结果数据中,该目标参数的实际参数值为与该目标参数的取值类型对应的参数值。根据实际参数值和预设参数值对得到的测试结果数据进行分析。
步骤212,若目标参数的取值类型为变量类型,将目标参数的预设参数值更新为实际参数值。
对于参数提取标识为目标取值,且取值类型为变量类型的目标参数,在对测试结果数据进行解码处理时,就会保存测试结果数据中该目标参数的实际参数值,并在下一次对包含该目标参数的服务化消息进行编码,进行下一次测试时,将该目标参数的预设参数值更新为测试结果数据中的实际参数值,从而根据目标参数值的变化动态改变服务化消息。
本发明提供了一种测试方法,根据3GPP服务化接口协议构建服务化消息的静态数据结构表,根据静态数据结构表生成服务化消息的消息树,按照用户指令对消息树中对服务化消息的目标参数的属性进行配置,从而实现了根据用户的测试需求灵活构造服务化消息,且操作简单,提高了测试效率。此外,本发明还可以根据用户设置的参数提取标识的取值,提取用户需要的目标参数的实际参数值,从而根据用户需求获取服务化消息中的任意参数的实际参数值,丰富了测试结果数据的内容,能够满足复杂的服务化接口测试的数据需求,提高了测试内容的多样性。
实施例三
参照图14,其示出了本发明实施例三所示的一种测试装置的结构图,具体如下:
构建模块301,用于根据3GPP服务化接口协议构建服务化消息的静态数据结构表。
消息树生成模块302,用于根据所述静态数据结构表生成所述服务化消息的消息树。
配置模块303,用于按照用户指令对所述消息树中的目标参数的属性进行配置。
测试模块304,用于根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据。
本发明提供了一种测试装置,通过根据3GPP服务化接口协议构建服务化消息的静态数据结构表,根据静态数据结构表生成服务化消息的消息树,按照用户指令对消息树中对服务化消息的目标参数的属性进行配置,从而实现了根据用户的测试需求灵活构造服务化消息,且操作简单,提高了测试效率。
实施例三为方法实施例一对应的装置实施例,详细信息可以参照实施例二的详细说明,在此不再赘述。
实施例四
参照图15,其示出了本发明实施例四所示的一种测试装置的结构图,具体如下:
构建模块401,用于根据3GPP服务化接口协议构建服务化消息的静态数据结构表。
所述构建模块401,包括:
拆分子模块4011,用于根据3GPP服务化接口协议将所述服务化消息拆分为多个数据结构层级。
参数信息确定子模块4012,用于确定所述服务化消息在每个所述数据结构层级上对应的参数信息。
构建子模块4013,用于根据所述参数信息构建所述服务化消息在每个所述数据结构层级上对应的静态数据结构表。
消息树生成模块402,用于根据所述静态数据结构表生成所述服务化消息的消息树。
所述参数信息包括所述服务化消息在所述数据结构层级上的参数与该参数对应的子参数之间的映射关系。
所述消息树生成模块402,包括:
消息树生成子模块4021,用于根据所述映射关系和所述服务化消息在每个所述数据结构层级上对应的静态数据结构表生成所述服务化消息对应的消息树。
配置模块403,用于按照用户指令对所述消息树中的目标参数的属性进行配置。
测试模块404,用于根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据。
所述测试模块404,包括:
目标服务化消息生成子模块4041,用于根据所述消息树的目标参数的属性生成目标服务化消息。
可选地,所述目标服务化消息生成子模块,包括:
目标服务化消息生成单元,用于若接收到用户的编码指令,则根据所述目标参数的参数列表生成目标服务化消息。
测试子模块4042,用于将所述目标服务化消息发送至被测网元进行测试,得到测试结果数据。
所述目标参数的属性包括所述目标参数的预设参数值和参数提取标识,所述装置还包括:
参数值提取模块405,用于在所述参数提取标识为目标取值的情况下,从所述测试结果数据中提取所述目标参数的实际参数值。
分析模块406,用于根据所述实际参数值和所述预设参数值对所述测试结果数据进行分析。
所述目标参数的属性还包括所述目标参数的取值类型。
参数值更新模块407,用于若所述目标参数的取值类型为变量类型,将所述目标参数的预设参数值更新为所述实际参数值。
所述目标参数的属性还包括所述目标参数在所述消息树中对应的叶子节点的层次结构序列、所述目标参数的取值类型、预设参数值、参数提取标识。
参数列表生成模块408,用于根据所述消息树中的目标参数的参数名称和所述目标参数在所述消息树中对应的叶子节点的层次结构序列、所述目标参数的取值类型、预设参数值、参数提取标识,生成所述目标参数的参数列表。
展示模块409,用于向用户展示所述目标参数的参数列表。
本发明提供了一种测试装置,根据3GPP服务化接口协议构建服务化消息的静态数据结构表,根据静态数据结构表生成服务化消息的消息树,按照用户指令对消息树中对服务化消息的目标参数的属性进行配置,从而实现了根据用户的测试需求灵活构造服务化消息,且操作简单,提高了测试效率。此外,本发明还可以根据用户设置的参数提取标识的取值,提取用户需要的目标参数的实际参数值,从而根据用户需求获取服务化消息中的任意参数的实际参数值,丰富了测试结果数据的内容,能够满足复杂的服务化接口测试的数据需求,提高了测试内容的多样性。
实施例四为方法实施例二对应的装置实施例,详细信息可以参照实施例二的详细说明,在此不再赘述。
本发明实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的方法。
本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (14)
1.一种测试方法,其特征在于,所述方法包括:
根据3GPP服务化接口协议构建服务化消息的静态数据结构表;
根据所述静态数据结构表生成所述服务化消息的消息树;
按照用户指令对所述消息树中的目标参数的属性进行配置;
根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据;
所述目标参数的属性包括所述目标参数的预设参数值和参数提取标识,所述方法还包括:
在所述参数提取标识为目标取值的情况下,从所述测试结果数据中提取所述目标参数的实际参数值;
根据所述实际参数值和所述预设参数值对所述测试结果数据进行分析。
2.根据权利要求1所述的方法,其特征在于,所述根据3GPP服务化接口协议构建服务化消息的静态数据结构表的步骤,包括:
根据3GPP服务化接口协议将所述服务化消息拆分为多个数据结构层级;
确定所述服务化消息在每个所述数据结构层级上对应的参数信息;
根据所述参数信息构建所述服务化消息在每个所述数据结构层级上对应的静态数据结构表;
所述参数信息包括所述服务化消息在所述数据结构层级上的参数与该参数对应的子参数之间的映射关系,所述根据所述静态数据结构表生成所述服务化消息的消息树的步骤,包括:
根据所述映射关系和所述服务化消息在每个所述数据结构层级上对应的静态数据结构表生成所述服务化消息对应的消息树。
3.根据权利要求1所述的方法,其特征在于,所述目标参数的属性还包括所述目标参数的取值类型,所述方法还包括:
若所述目标参数的取值类型为变量类型,将所述目标参数的预设参数值更新为所述实际参数值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据的步骤,包括:
根据所述消息树的目标参数的属性生成目标服务化消息;
将所述目标服务化消息发送至被测网元进行测试,得到测试结果数据。
5.根据权利要求4所述的方法,其特征在于,所述目标参数的属性还包括所述目标参数在所述消息树中对应的叶子节点的层次结构序列、所述目标参数的取值类型、预设参数值、参数提取标识,所述按照用户指令对所述消息树中的目标参数的属性进行配置的步骤之后,还包括:
根据所述消息树中的目标参数的参数名称和所述目标参数在所述消息树中对应的叶子节点的层次结构序列、所述目标参数的取值类型、预设参数值、参数提取标识,生成所述目标参数的参数列表;
向用户展示所述目标参数的参数列表。
6.根据权利要求5所述的方法,其特征在于,所述根据所述消息树的目标参数的属性生成目标服务化消息的步骤,包括:
若接收到用户的编码指令,则根据所述目标参数的参数列表生成目标服务化消息。
7.一种测试装置,其特征在于,所述装置包括:
构建模块,用于根据3GPP服务化接口协议构建服务化消息的静态数据结构表;
消息树生成模块,用于根据所述静态数据结构表生成所述服务化消息的消息树;
配置模块,用于按照用户指令对所述消息树中的目标参数的属性进行配置;
测试模块,用于根据所述消息树中的目标参数的属性对被测网元进行测试,得到测试结果数据;
所述目标参数的属性包括所述目标参数的预设参数值和参数提取标识,所述装置还包括:
参数值提取模块,用于在所述参数提取标识为目标取值的情况下,从所述测试结果数据中提取所述目标参数的实际参数值;
分析模块,用于根据所述实际参数值和所述预设参数值对所述测试结果数据进行分析。
8.根据权利要求7所述的装置,其特征在于,所述构建模块,包括:
拆分子模块,用于根据3GPP服务化接口协议将所述服务化消息拆分为多个数据结构层级;
参数信息确定子模块,用于确定所述服务化消息在每个所述数据结构层级上对应的参数信息;
构建子模块,用于根据所述参数信息构建所述服务化消息在每个所述数据结构层级上对应的静态数据结构表;
所述参数信息包括所述服务化消息在所述数据结构层级上的参数与该参数对应的子参数之间的映射关系,所述消息树生成模块,包括:
消息树生成子模块,用于根据所述映射关系和所述服务化消息在每个所述数据结构层级上对应的静态数据结构表生成所述服务化消息对应的消息树。
9.根据权利要求7所述的装置,其特征在于,所述目标参数的属性还包括所述目标参数的取值类型,所述装置还包括:
参数值更新模块,用于若所述目标参数的取值类型为变量类型,将所述目标参数的预设参数值更新为所述实际参数值。
10.根据权利要求7所述的装置,其特征在于,所述测试模块,包括:
目标服务化消息生成子模块,用于根据所述消息树的目标参数的属性生成目标服务化消息;
测试子模块,用于将所述目标服务化消息发送至被测网元进行测试,得到测试结果数据。
11.根据权利要求10所述的装置,其特征在于,所述目标参数的属性还包括所述目标参数在所述消息树中对应的叶子节点的层次结构序列、所述目标参数的取值类型、预设参数值、参数提取标识,所述装置还包括:
参数列表生成模块,用于根据所述消息树中的目标参数的参数名称和所述目标参数在所述消息树中对应的叶子节点的层次结构序列、所述目标参数的取值类型、预设参数值、参数提取标识,生成所述目标参数的参数列表;
展示模块,用于向用户展示所述目标参数的参数列表。
12.根据权利要求11所述的装置,其特征在于,所述目标服务化消息生成子模块,包括:
目标服务化消息生成单元,用于若接收到用户的编码指令,则根据所述目标参数的参数列表生成目标服务化消息。
13.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6中任意一个所述的方法。
14.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任意一个所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653447.4A CN113992549B (zh) | 2020-07-08 | 2020-07-08 | 一种测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010653447.4A CN113992549B (zh) | 2020-07-08 | 2020-07-08 | 一种测试方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992549A CN113992549A (zh) | 2022-01-28 |
CN113992549B true CN113992549B (zh) | 2023-06-13 |
Family
ID=79731230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010653447.4A Active CN113992549B (zh) | 2020-07-08 | 2020-07-08 | 一种测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992549B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138112A (en) * | 1998-05-14 | 2000-10-24 | Microsoft Corporation | Test generator for database management systems |
CN102270126A (zh) * | 2010-06-07 | 2011-12-07 | 大唐移动通信设备有限公司 | 一种快速确定接口代码和测试脚本参数值的方法及设备 |
CN102479152A (zh) * | 2010-11-26 | 2012-05-30 | 腾讯科技(深圳)有限公司 | 基于Android平台获取工具自动测试结果的方法及装置 |
CN102694701A (zh) * | 2012-06-13 | 2012-09-26 | 青岛海信传媒网络技术有限公司 | 基于消息的测试方法及系统 |
CN108427613A (zh) * | 2018-03-12 | 2018-08-21 | 平安普惠企业管理有限公司 | 异常接口定位方法、装置、计算机设备和存储介质 |
CN109428788A (zh) * | 2017-09-05 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 功能测试方法及系统 |
CN109495334A (zh) * | 2017-09-13 | 2019-03-19 | 杭州海康威视系统技术有限公司 | 一种测试方法及装置 |
CN110162457A (zh) * | 2019-04-12 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 用户界面的测试方法、装置、设备及存储介质 |
CN110362480A (zh) * | 2019-06-19 | 2019-10-22 | 平安普惠企业管理有限公司 | 客户端埋点测试方法、装置、设备及存储介质 |
CN110874324A (zh) * | 2019-10-14 | 2020-03-10 | 平安普惠企业管理有限公司 | 一种测试结果数据保存方法、装置、终端设备及存储介质 |
CN111176995A (zh) * | 2019-12-25 | 2020-05-19 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于大数据测试用例的测试方法和测试系统 |
WO2020119430A1 (zh) * | 2018-12-14 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 协议接口测试方法、装置、计算机设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060317A1 (en) * | 2003-09-12 | 2005-03-17 | Lott Christopher Martin | Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software |
CN101370003B (zh) * | 2007-08-14 | 2012-08-08 | 大唐移动通信设备有限公司 | 用于定制通讯协议的方法和装置、转换通讯协议描述的方法和装置 |
FI20080095A0 (fi) * | 2008-02-11 | 2008-02-11 | Codenomicon Oy | Menetelmä ja järjestelmä testitapausten muodostamiseksi |
JP5629239B2 (ja) * | 2011-05-23 | 2014-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェアの動作をテストする装置及び方法 |
CN102665231B (zh) * | 2012-05-23 | 2015-02-18 | 北京中创信测科技股份有限公司 | 一种lte系统自动生成参数配置文件的方法 |
US10439887B2 (en) * | 2016-02-02 | 2019-10-08 | Sungard Availability Services, Lp | Generic test framework for service interfaces |
CN107741911A (zh) * | 2017-11-01 | 2018-02-27 | 广州爱九游信息技术有限公司 | 接口测试方法、装置、客户端及计算机可读存储介质 |
CN110198247B (zh) * | 2018-02-26 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 接口测试方法及系统 |
CN110134584A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 一种接口测试用例的生成方法、装置、存储介质和服务器 |
CN110287109B (zh) * | 2019-06-18 | 2023-09-19 | 广州华多网络科技有限公司 | 协议接口的测试方法、装置、计算机设备及其存储介质 |
-
2020
- 2020-07-08 CN CN202010653447.4A patent/CN113992549B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138112A (en) * | 1998-05-14 | 2000-10-24 | Microsoft Corporation | Test generator for database management systems |
CN102270126A (zh) * | 2010-06-07 | 2011-12-07 | 大唐移动通信设备有限公司 | 一种快速确定接口代码和测试脚本参数值的方法及设备 |
CN102479152A (zh) * | 2010-11-26 | 2012-05-30 | 腾讯科技(深圳)有限公司 | 基于Android平台获取工具自动测试结果的方法及装置 |
CN102694701A (zh) * | 2012-06-13 | 2012-09-26 | 青岛海信传媒网络技术有限公司 | 基于消息的测试方法及系统 |
CN109428788A (zh) * | 2017-09-05 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 功能测试方法及系统 |
CN109495334A (zh) * | 2017-09-13 | 2019-03-19 | 杭州海康威视系统技术有限公司 | 一种测试方法及装置 |
CN108427613A (zh) * | 2018-03-12 | 2018-08-21 | 平安普惠企业管理有限公司 | 异常接口定位方法、装置、计算机设备和存储介质 |
WO2020119430A1 (zh) * | 2018-12-14 | 2020-06-18 | 深圳壹账通智能科技有限公司 | 协议接口测试方法、装置、计算机设备和存储介质 |
CN110162457A (zh) * | 2019-04-12 | 2019-08-23 | 深圳壹账通智能科技有限公司 | 用户界面的测试方法、装置、设备及存储介质 |
CN110362480A (zh) * | 2019-06-19 | 2019-10-22 | 平安普惠企业管理有限公司 | 客户端埋点测试方法、装置、设备及存储介质 |
CN110874324A (zh) * | 2019-10-14 | 2020-03-10 | 平安普惠企业管理有限公司 | 一种测试结果数据保存方法、装置、终端设备及存储介质 |
CN111176995A (zh) * | 2019-12-25 | 2020-05-19 | 中国航空工业集团公司西安飞机设计研究所 | 一种基于大数据测试用例的测试方法和测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113992549A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111327679B (zh) | 一种规则解析方法及装置 | |
CN112882974B (zh) | 一种json数据转换方法、装置、计算机设备和存储介质 | |
CN109104405B (zh) | 二进制协议编码、解码方法和装置 | |
CN110287109A (zh) | 协议接口的测试方法、装置、计算机设备及其存储介质 | |
US10922216B1 (en) | Intelligent automation test workflow | |
CN107798017B (zh) | 分布式数据库中的执行计划信息生成方法和系统 | |
CN111324619B (zh) | 微服务系统中的对象更新方法、装置、设备和存储介质 | |
CN115567607A (zh) | 调用链路的处理方法、装置、系统、电子设备及存储介质 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN111200523A (zh) | 中台系统配置方法、装置、设备及存储介质 | |
CN110333990B (zh) | 数据处理方法以及装置 | |
CN114025027B (zh) | 数据传输脚本的运行方法、装置、存储介质和电子装置 | |
CN110806973A (zh) | 一种接口报文的自动生成方法及装置 | |
CN114173355A (zh) | 一种设计运行态分离的网络指令动态执行方法及系统 | |
CN112395339B (zh) | 系统间数据准入校验方法、装置、计算机设备和存储介质 | |
CN113992549B (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN103686668B (zh) | 数据更新方法、系统和设备 | |
US20070208842A1 (en) | Methods and systems for pushing and pulling network data in user interface design | |
CN116610558A (zh) | 代码检测方法、装置、电子设备及计算机可读存储介质 | |
CN112131239B (zh) | 一种数据处理方法、计算机设备以及可读存储介质 | |
CN113536762A (zh) | Json文本的比对方法及装置 | |
KR101927689B1 (ko) | Cim 계통도 처리 방법 | |
CN111352824B (zh) | 测试方法、装置及计算机设备 | |
CN113591448A (zh) | 报表生成方法、装置及存储介质 | |
CN111291215A (zh) | 公式生成方法及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |