CN107294803A - 响应信息一致性测试方法及装置 - Google Patents
响应信息一致性测试方法及装置 Download PDFInfo
- Publication number
- CN107294803A CN107294803A CN201710450865.1A CN201710450865A CN107294803A CN 107294803 A CN107294803 A CN 107294803A CN 201710450865 A CN201710450865 A CN 201710450865A CN 107294803 A CN107294803 A CN 107294803A
- Authority
- CN
- China
- Prior art keywords
- response message
- test
- information
- tested
- key
- 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.)
- Pending
Links
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/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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
-
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
- H04L43/55—Testing of service level quality, e.g. simulating service usage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实公开了响应信息一致性测试方法及装置。所述方法包括:获取与测试请求相对应的基准响应信息;将所述测试请求发送至待测试服务器;接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。采用本申请所提供的方法及装置等,可以在通过使用与一致性标准相对应的选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试,从而可以准确检测响应信息是否符合预定的一致性标准。
Description
技术领域
本申请涉及通信领域,尤其涉及响应信息一致性测试方法及装置。
背景技术
在采用客户端/服务器(client/server,C/S)架构或者浏览器/服务器(browser/server,B/S)架构等两层模式或三层模式的网络***中,整个网络***通常可以被分为服务端和客户端。其中,客户端用于将用户的操作指令以客户端请求形式发送给服务端;而服务端则用于根据所述客户端请求进行相应的数据处理,并将处理结果以响应信息的形式返回给客户端,从而使客户端可以将处理结果呈现给用户。
由于数据处理过程由服务端实现,因此客户端发送的客户端请求相同时,服务端向客户端返回的响应信息也应该内容一致。但是在实际使用中,受到各种因素的影响,可能会出现客户端发送的客户端请求相同,但是接收到的响应信息内容有差异的情况。例如,在分布式***中,整个服务端以多台服务器组成的集群形式提供服务,而不同客户端的请求会以一定的策略分发给不同的服务器进行相应的数据处理。而不同服务器的硬件、操作***、网络环境、其他资源等条件存在差异,就可能会造成针对相同的客户端请求生成的响应信息存在差异。
如果不同的服务器或服务器在不同时间针对相同的客户端请求返回的响应信息差异过大,超出了客户端所能解析处理的限度,就会引起处异常。例如,如果服务器返回的响应信息中包含了客户端无法解析的数据格式、数据类型,或者缺少了关键的参数等,那么就会引起客户端逻辑异常,使得客户端无法将处理结果呈现给用户。并且,在不同的应用场景下,不同的客户端对响应信息差异的可接受程度也可能不同,也就是说在不同的应用场景下,用于响应信息是否存在差异的一致性标准也不相同。因此,如何确定在客户端请求一致的情况下,响应信息是否符合预定的一致性标准就成为一个亟待解决的问题。
发明内容
本申请提供了响应信息一致性测试方法及装置,能够准确检测响应信息是否符合预定的一致性标准。
第一方面,本申请提供了一种响应信息一致性测试方法,该方法包括:获取与测试请求相对应的基准响应信息;将所述测试请求发送至待测试服务器;接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
结合第一方面,在第一方面第一种可能的实现方式中,所述获取与测试请求相对应的基准响应信息,包括:从待测试的服务器集群中选择一个服务器作为基准服务器;将所述测试请求发送至所述基准服务器;接收所述基准服务器基于所述测试请求反馈的基准响应信息。
结合第一方面,在第一方面第二种可能的实现方式中,所述获取与测试请求相对应的基准响应信息,包括:获取预先设定的基准响应信息。
结合第一方面或第一方面第一至二方面中的任一种,在第一方面第三种可能的实现方式中,所述生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果,包括:当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,得到基准信息;对所述待测试响应信息中所包含的键值对按照键名进行递归排序,得到待比较信息;生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果。
结合第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,所述生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果,包括:比较所述待比较信息与所述基准信息之间的数据结构差异,从而得到第一测试结果;或者,比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异,从而得到第二测试结果;或者,比较所述待比较信息与所述基准信息之间的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果。
结合第一方面第三种可能的实现方式,在第一方面第五种可能的实现方式中,比较所述待比较信息与所述基准信息的数据结构差异,从而得到第一测试结果,包括:生成包含结构差异指示信息与结构一致指示信息的第一测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息且而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息且而不存在于所述待比较信息中的键值对;所述结构一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中的键值对。
结合第一方面第三种可能的实现方式,在第一方面第六种可能的实现方式中,比较所述待比较信息与所述基准信息数据结构差异及数据类型差异,从而得到第二测试结果,包括:生成包含结构差异指示信息、类型差异指示信息及类型一致指示信息的第二测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述类型一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致的键值对。
结合第一方面第三种可能的实现方式,在第一方面第七种可能的实现方式中,比较所述待比较信息与所述基准信息的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果,包括:生成包含结构差异指示信息、类型差异指示信息、值差异指示信息及值一致指示信息的第三测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述值差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致但值的取值不一致的键值对;所述值一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型和值的取值均一致的键值对。
第二方面,本申请还提供了一种响应信息一致性测试装置装置,所述装置包括用于执行第一方面各种实现方式中方法步骤的获取单元,发送单元,接收单元及生成单元等单元模块。其中,获取单元,用于获取与测试请求相对应的基准响应信息;发送单元,用于将所述测试请求发送至待测试服务器;接收单元,用于接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成单元,用于生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
在一个可能的设计中,所述响应信息一致性测试装置可以包括:处理器及存储器。所述存储器用于存储支持响应信息一致性测试装置执行上述第一方面中响应信息一致性测试方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述响应信息一致性测试装置还可以包括通信接口,用于响应信息一致性测试装置与其他设备或通信网络通信。
第三方面,本申请还提供了一种存储介质,该计算机存储介质可用于储存响应信息一致性测试装置所用的计算机软件指令,其包含用于执行上述第一方面中储存响应信息一致性测试方法为储存响应信息一致性测试装置所涉及的程序。
采用本申请所提供的方法及装置等,可以在通过使用与一致性标准相对应的选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试,从而可以准确检测响应信息是否符合预定的一致性标准。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请网络***一个实施例的结构示意图;
图2为本申请响应信息一致性测试方法一个实施例的流程图;
图3为本申请响应信息一致性测试装置的一个实施例的结构示意图;
图4为本申请响应信息一致性测试设备的一个实施例的结构示意图。
具体实施方式
参见图1,为本申请网络***一个实施例的结构示意图。如图1所示,在所述网络***中可以包括至少一台待测试服务器101,与至少一台测试设备102。在此需要说明的是,当服务端为多条服务器组成的服务器集群时,所述测试设备可以是其中任一台服务器。本申请各个实施例中所说的服务器及测试设备既可以是实体设备,也可以是虚拟设备,所述待测试服务器与所述测试设备可以是同一设备,对此本申请不做限定。
参见图2,为本申请响应信息一致性测试方法一个实施例的流程示意图。该实施例所示的步骤可以由所述测试设备执行。
步骤201,获取与测试请求相对应的基准响应信息。
要测试响应信息的一致性,测试设备就必须要选取一个响应信息作为基准信息,而所述基准响应信息的获取方式可以有多种。
如果所述网络***中的服务端为服务器集群,即所述网络***包含多个待测试服务器时,可以从所述待测试服务器中选择一个作为基准服务器;然后所述测试请求发送至所述基准服务器;再接收所述基准服务器基于所述测试请求反馈的响应信息,而所述基准服务器基于所述测试请求所反馈的响应信息即为基准响应信息。
根据实际需求的不同,所述基准服务器的选择方式也可以各不同相同,例如,在图1所示的网络***中,由于各个服务器之间的地位关系平等,所以除所述测试设备之外的任一个服务器都可以作为所述基准服务器。如果所述待测试服务器中包含主服务器及相应的备用服务器,那么通常可以将主服务器作为基准服务器。
在实际使用中,有可能待测试服务器只有一台,而需要测试的该待测试服务器所发响应信息是否与预期一致,在此情况下,测试设备也可以获取预先设定的基准响应信息。
当所述待测试服务器只有一台时,所述基准响应信息的获取方式也可以有多种。例如,所述基准响应信息可以是所述待测试服务器在收到所述测试请求后理论上应当反馈的响应信息;或者也可以是在所述待测试服务器的软硬件环境发生变化前,基于所述测试请求发送的响应信息;或者也可以是所述待测试服务器前次针对所述测试请求反馈的响应信息等。
在此需要说明的是,无论所述待测试服务器的数量为一个还是多个,都可以采用前述方式或除前述方式之外的其他方式获取基准响应信息,对此本申请不做限定。
步骤202,将所述测试请求发送至待测试服务器。
除获取所述基准响应信息之外,测试设备还需要将测试请求发送至所述待测试服务器,以获取待测试响应信息。
当待测试服务器为多个时,所述测试设备可以以多线程并行处理方式,将所述测试请求以同步或异步方式发送给所述多个服务器,从而可以在待测试服务器的数量较多时,减少整体测试过程的时间消耗。
在此需要说明的是,所述测试设备可以直接将所述测试请求发送至所述待测试服务器,或者,也可以通过其他设备将所述测试请求发送至所述待测试服务器,对此本申请不做限定。
步骤203,接收待测试服务器针对所述测试请求反馈的待测试响应信息。
待测试服务器在接收到所述测试请求后,会根据所述测试请求的内容对应生成待测试响应信息,并将所述待测试响应信息返回给测试设备。如果所述待测试服务为多个,那么所述待测试响应信息也为可以为多个,并且没有待测试响应消息与一个待测试服务器相对应。
步骤204,生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
在收到所述待测试响应信息后,测试设备可以对所述待测试响应信息与所述基准响应信息进行一致性测试,从而得到测试结果。当所述待测试响应信息为多个时,测试设备可以分别多对每一个待测试响应信息与所述基准响应信息进行一致性测试。
对所述待测试响应信息与所述基准响应信息进行一致性测试的具体方式可以由选定测试策略决定。所述选定测试策略可以在所述待测试服务器确定后选取,或者也可以在所述待测试服务器确定之前选取。根据响应信息的一致性标准不同,可以预先设定多个不同的备选测试策略决定,每个备选测试策略可以与一个一致性标准相对应,测试设备可以从所述备选测试策略中选取所述选定测试策略。
在预先选定的测试策略不同时,即便是相同的待测试响应信息与相同的基准响应信息,最终所得的测试结果也各不相同。通过设置不同的测试策略,可以满足不同应用场景下一致性测试的需求。
为缩短一致性测试的时间消耗,当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,得到基准信息;对所述待测试响应信息中所包含的键值对按照键名进行递归排序,得到待比较信息;生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果。
其中,当基准响应信息为json格式时,所述基准响应信息可以包含若干个键值对(key-value),所述键值对的值的类型可以是数据,或者也可以是数组或对象。
例如,如果基准响应信息如下:
其中,键名“name”和键值”苹果”构成一个键值对;类似的,键名“comment”和值{“comment_id”:”123”,“comment_detail”:”很好吃”},同样也构成一个键值对,只不过该键值对的值为一个json串,并且该键值对的值中包含了更多的键值对。
按照键名对前述信息中的键值对进行递归排序对后所得到的基准信息如下:
当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,可以在进行一致性测试时,迅速找到仅存在于其中一个中的键名,从而可以提高比对速度。如果所述基准响应信息为预先设定的基准响应信息,并且所述基准响应信息中的键值对已经是按照键名排序时,测试设备也可以仅对所述待测试响应信息中所包含的键值对按照键名进行递归排序。
根据测试策略不同,对所述基准信息与所述待比较信息进行一致性测试过程及测试结果也各不相同。例如,所述测试设备可以仅比较所述待比较信息与所述基准信息之间的数据结构差异;或者,也可以比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异;或者,也可以比较所述待比较信息与所述基准信息之间的数据结构差异、数据类型差异及数值差异。
在一种实现方式中,当根据所述测试策略,仅需比较所述待比较信息与所述基准信息的数据结构差异时,检测设备可以通过比较生成第一测试结果。其中,所述第一测试结果包含结构差异指示信息与结构一致指示信息,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述结构一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中的键值对。
例如,基准信息中包含键名为“name”的键值对时,如果待比较信息也包含键名为“name”的键值对,那么可以使用所述结构一致指示信息指示该键名;如果基准信息中包含键名为“name”的键值对,但待比较信息后中不包含键名为“name”的键值对,或者,基准信息中不包含键名为“name”的键值对,但待比较信息后中包含键名为“name”的键值对,那么可以使用所述结构差异信息指示所述键名。
采用该实现方式,在一致性标准较为宽松时,可以快速准确的确定最可能影响客户端处理的响应信息不一致状况。
在另一种实现方式中,当根据所述测试策略,需要比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异时,检测设备可以通过比较生成第二测试结果。其中,所述第二测试结果可以包括:生成包含结构差异指示信息、类型差异指示信息及类型一致指示信息。所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述类型一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致的键值对。
例如,基准信息中包含键名为“name”的键值对时,如果待比较信息也包含键名为“name”的键值对,并且基准信息中键名为“name”的键值对的值的数据类型与待比较信息中键名为“name”的键值对的值的数据类型一致,例如两个值的类型均为数组,那么可以使用类型一致指示信息指示所述键名;而如果基准信息中键名为“name”的键值对的值的数据类型与待比较信息中键名为“name”的键值对的值的数据类型不一致,例如一个值的类型均数组另一个值的类型为对象,那么可以使用类型差异指示信息指示所述键名;同样的,如果基准信息中包含键名为“name”的键值对,但待比较信息后中不包含键名为“name”的键值对,或者,基准信息中不包含键名为“name”的键值对,但待比较信息后中包含键名为“name”的键值对,那么可以使用所述结构差异信息指示所述键名。
采用该实现方式,可以在一致性标准较为严格时,可以兼顾一致性测试准确性和一致性测试过程的时间消耗。
在再一种实现方式中,当根据所述测试策略,需要比较所述待比较信息与所述基准信息的数据结构差异、数据类型差异及数值差异,检测设备可以通过比较生成第三测试结果。其中,所述第三测试结果可以包括:结构差异指示信息、类型差异指示信息、值差异指示信息及值一致指示信息。所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述值差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致但值的取值不一致的键值对。所述值一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型和值的取值均一致的键值对。
例如,基准信息中包含键名为“name”的键值对时,如果待比较信息也包含键名为“name”的键值对,并且基准信息中键名为“name”的键值对的值与待比较信息中键名为“name”的键值对的值一致,例如两个值均为“苹果”,那么可以使用值一致指示信息指示所述键名;如果基准信息中键名为“name”的键值对的值与待比较信息中键名为“name”的键值对的值一致,例如其中一个值为“苹果”,另一个值为“香蕉”,那么可以使用值差异指示信息指示所述键名。同样的,如果基准信息中键名为“name”的键值对的值的数据类型与待比较信息中键名为“name”的键值对的值的数据类型不一致,例如一个值的类型均数组另一个值的类型为对象,那么可以使用类型差异指示信息指示所述键名;如果基准信息中包含键名为“name”的键值对,但待比较信息后中不包含键名为“name”的键值对,或者,基准信息中不包含键名为“name”的键值对,但待比较信息后中包含键名为“name”的键值对,那么可以使用所述结构差异信息指示所述键名。
采用该实现方式,可以准确的确定待比较信息与基准信息之间,即基准响应信息与待测试响应信息之间,各种不一致的状况。
在此需要说明的时,以上实现方式仅仅是对使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试的过程进行说明,在实际使用中,测试设备也可以不生成基准信息或待比较信息,而直接对待测试响应信息与基准响应信息进行一致性测试。直接对待测试响应信息与基准响应信息进行一致性测试同样也可以生成前述第一测试结果、第二测试结果或第三测试结果。具体的过程在此就不再赘述。
采用前述实施例或前述实施例中的各种实现方式,通过使用与所述一致性标准相对应的选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试,可以准确检测响应信息是否符合预定的一致性标准。
参见图3,为本申请响应信息一致性测试装置一个实施例的结构示意图。所述装置可以为前述实施例中的测试设备,也可以设置是所述测试设备本身或独立于所述测试设备的独立设备,该装置用于执行图2所对应的响应信息一致性测试方法。
如图3所示,该装置可以包括:获取单元301,发送单元302,接收单元303,生成单元304。
其中,获取单元301,用于获取与测试请求相对应的基准响应信息;发送单元302,用于将所述测试请求发送至待测试服务器;接收单元303,用于接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成单元304,用于生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
可选的,所述获取单元301,包括:选取子单元,用于从待测试的服务器集群中选择一个服务器作为基准服务器;发送子单元,用于将所述测试请求发送至所述基准服务器;接收子单元,用于接收所述基准服务器基于所述测试请求反馈的基准响应信息。
可选的,所述获取单元301,具体用于获取预先设定的基准响应信息。可选的,所述生成单元304包括:第一排序子单元,用于当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,得到基准信息;第二排序子单元,用于对所述待测试响应信息中所包含的键值对按照键名进行递归排序,得到待比较信息;生成子单元,用于生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果。
可选的,所述生成子单元,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异,从而得到第一测试结果;或者,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异,从而得到第二测试结果;或者,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果。
可选的,所述生成子单元,具体用于生成包含结构差异指示信息与结构一致指示信息的第一测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述结构一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中的键值对。
可选的,所述生成子单元,具体用于生成包含结构差异指示信息、类型差异指示信息及类型一致指示信息的第二测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述类型一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致的键值对。
可选的,所述生成子单元,具体用于生成包含结构差异指示信息、类型差异指示信息、值差异指示信息及值一致指示信息的第三测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述值差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致但值的取值不一致的键值对;所述值一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型和值的取值均一致的键值对。
采用前述实施例或前述实施例中的各种实现方式,通过使用与所述一致性标准相对应的选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试,可以准确检测响应信息是否符合预定的一致性标准。
参见图4,为本申请响应信息一致性测试设备一个实施例的结构示意图。所述测试设备可以用于执行前述实施例中所述的响应信息一致性测试方法。
如图4所示,该设备包括:处理器401和存储器402。
其中,所述存储器402用于存储一条或多条计算机指令,所述一条或多条计算机指令供所述处理器401调用执行。
所述处理器401,用于获取与测试请求相对应的基准响应信息;将所述测试请求发送至待测试服务器;接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的呼叫方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
本发明公开A1、一种响应信息一致性测试方法,包括:获取与测试请求相对应的基准响应信息;将所述测试请求发送至待测试服务器;接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
A2、在A1所述的方法中,所述获取与测试请求相对应的基准响应信息,包括:从待测试的服务器集群中选择一个服务器作为基准服务器;将所述测试请求发送至所述基准服务器;接收所述基准服务器基于所述测试请求反馈的基准响应信息。
A3、在A1所述的方法中,所述获取与测试请求相对应的基准响应信息,包括:获取预先设定的基准响应信息。
A4、在A1至A3任一项所述的方法中,所述生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果,包括:当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,得到基准信息;对所述待测试响应信息中所包含的键值对按照键名进行递归排序,得到待比较信息;生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果。
A5、在A4所述的方法中,所述生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果,包括:比较所述待比较信息与所述基准信息之间的数据结构差异,从而得到第一测试结果;或者,比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异,从而得到第二测试结果;或者,比较所述待比较信息与所述基准信息之间的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果。
A6、在A5所述的方法中,比较所述待比较信息与所述基准信息的数据结构差异,从而得到第一测试结果,包括:生成包含结构差异指示信息与结构一致指示信息的第一测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息且不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述结构一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中的键值对。
A7、在A5所述的方法中,比较所述待比较信息与所述基准信息数据结构差异及数据类型差异,从而得到第二测试结果,包括:生成包含结构差异指示信息、类型差异指示信息及类型一致指示信息的第二测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述类型一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致的键值对。
A8、在A5所述的方法中,比较所述待比较信息与所述基准信息的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果,包括:生成包含结构差异指示信息、类型差异指示信息、值差异指示信息及值一致指示信息的第三测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述值差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致但值的取值不一致的键值对;所述值一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型和值的取值均一致的键值对。
本发明还公开B9、一种响应信息一致性测试装置,包括:获取单元,用于获取与测试请求相对应的基准响应信息;发送单元,用于将所述测试请求发送至待测试服务器;接收单元,用于接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成单元,用于生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
B10、在B9所述的装置中,所述获取单元,包括:选取子单元,用于从待测试的服务器集群中选择一个服务器作为基准服务器;发送子单元,用于将所述测试请求发送至所述基准服务器;接收子单元,用于接收所述基准服务器基于所述测试请求反馈的基准响应信息。
B11、在B9所述的装置中,所述获取单元,具体用于获取预先设定的基准响应信息。
B12、在B9至B11任一项所述的装置中,所述生成单元包括:第一排序子单元,用于当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,得到基准信息;第二排序子单元,用于对所述待测试响应信息中所包含的键值对按照键名进行递归排序,得到待比较信息;生成子单元,用于生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果。
B13、在B12所述的装置中,所述生成子单元,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异,从而得到第一测试结果;或者,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异,从而得到第二测试结果;或者,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果。
B14、在B13所述的装置中,所述生成子单元,具体用于生成包含结构差异指示信息与结构一致指示信息的第一测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述结构一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中的键值对。
B15、在B13所述的装置中,所述生成子单元,具体用于生成包含结构差异指示信息、类型差异指示信息及类型一致指示信息的第二测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述类型一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致的键值对。
B16、在B13所述的装置中,所述生成子单元,具体用于生成包含结构差异指示信息、类型差异指示信息、值差异指示信息及值一致指示信息的第三测试结果;其中,所述结构差异指示信息,用于指示键名存在于所述待比较信息而不存在于所述基准信息中的键值对,以及键名存在于所述基准信息而不存在于所述待比较信息中的键值对;所述类型差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,但值的类型不同的键值对;所述值差异指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型一致但值的取值不一致的键值对;所述值一致指示信息,用于指示键名既存在于所述待比较信息又存在于所述基准信息中,且值的类型和值的取值均一致的键值对。
本发明还公开了C17、一种测试设备,包括:处理器及存储器。所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;所述处理器用于:获取与测试请求相对应的基准响应信息;将所述测试请求发送至待测试服务器;接收待测试服务器针对所述测试请求反馈的待测试响应信息;生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
Claims (10)
1.一种响应信息一致性测试方法,其特征在于,包括:
获取与测试请求相对应的基准响应信息;
将所述测试请求发送至待测试服务器;
接收待测试服务器针对所述测试请求反馈的待测试响应信息;
生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
2.如权利要求1所述的方法,其特征在于,所述获取与测试请求相对应的基准响应信息,包括:
从待测试的服务器集群中选择一个服务器作为基准服务器;
将所述测试请求发送至所述基准服务器;
接收所述基准服务器基于所述测试请求反馈的基准响应信息。
3.如权利要求1所述的方法,其特征在于,所述获取与测试请求相对应的基准响应信息,包括:
获取预先设定的基准响应信息。
4.如权利要求1至3任一项所述的方法,其特征在于,所述生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果,包括:
当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,得到基准信息;
对所述待测试响应信息中所包含的键值对按照键名进行递归排序,得到待比较信息;
生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果。
5.如权利要求4所述的方法,其特征在于,所述生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果,包括:
比较所述待比较信息与所述基准信息之间的数据结构差异,从而得到第一测试结果;或者,
比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异,从而得到第二测试结果;或者,
比较所述待比较信息与所述基准信息之间的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果。
6.一种响应信息一致性测试装置,其特征在于,包括:
获取单元,用于获取与测试请求相对应的基准响应信息;
发送单元,用于将所述测试请求发送至待测试服务器;
接收单元,用于接收待测试服务器针对所述测试请求反馈的待测试响应信息;
生成单元,用于生成使用选定测试策略对所述待测试响应信息与所述基准响应信息进行一致性测试所得的测试结果。
7.如权利要求6所述的装置,其特征在于,所述获取单元,包括:
选取子单元,用于从待测试的服务器集群中选择一个服务器作为基准服务器;
发送子单元,用于将所述测试请求发送至所述基准服务器;
接收子单元,用于接收所述基准服务器基于所述测试请求反馈的基准响应信息。
8.如权利要求6所述的装置,其特征在于,
所述获取单元,具体用于获取预先设定的基准响应信息。
9.如权利要求6至8任一项所述的装置,其特征在于,所述生成单元包括:
第一排序子单元,用于当所述基准响应信息与所述待测试响应信息均为json格式时,对所述基准响应信息中所包含的键值对按照键名进行递归排序,得到基准信息;
第二排序子单元,用于对所述待测试响应信息中所包含的键值对按照键名进行递归排序,得到待比较信息;
生成子单元,用于生成使用选定测试策略对所述基准信息与所述待比较信息进行一致性测试所得的测试结果。
10.如权利要求9所述的装置,其特征在于,
所述生成子单元,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异,从而得到第一测试结果;或者,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异及数据类型差异,从而得到第二测试结果;或者,具体用于比较所述待比较信息与所述基准信息之间的数据结构差异、数据类型差异及数值差异,从而得到第三测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710450865.1A CN107294803A (zh) | 2017-06-15 | 2017-06-15 | 响应信息一致性测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710450865.1A CN107294803A (zh) | 2017-06-15 | 2017-06-15 | 响应信息一致性测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107294803A true CN107294803A (zh) | 2017-10-24 |
Family
ID=60097642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710450865.1A Pending CN107294803A (zh) | 2017-06-15 | 2017-06-15 | 响应信息一致性测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107294803A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108650150A (zh) * | 2018-05-11 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 一种数据校验方法和装置 |
CN108848000A (zh) * | 2018-05-07 | 2018-11-20 | 深圳壹账通智能科技有限公司 | 网络请求测试方法、装置、计算机设备和存储介质 |
CN109582481A (zh) * | 2019-01-10 | 2019-04-05 | 北京城市网邻信息技术有限公司 | 调用结果的传输方法、装置、设备及存储介质 |
CN109660602A (zh) * | 2018-11-28 | 2019-04-19 | 天津字节跳动科技有限公司 | 数据增量传输方法及装置 |
CN110380929A (zh) * | 2019-07-15 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 一种幂等有效性检测方法、装置及设备 |
CN111464384A (zh) * | 2020-03-30 | 2020-07-28 | 中国建设银行股份有限公司 | 一种异步消息的一致性测试方法及装置 |
CN113381913A (zh) * | 2021-08-13 | 2021-09-10 | 飞狐信息技术(天津)有限公司 | 流量处理方法、网关、流量对比***及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及*** |
CN103701780A (zh) * | 2013-12-13 | 2014-04-02 | 大唐移动通信设备有限公司 | 一种鉴权方法和*** |
CN106407121A (zh) * | 2016-10-08 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种跨平台数据互通一致性测试方法及应用测试服务器 |
CN106603464A (zh) * | 2015-10-14 | 2017-04-26 | 北京国双科技有限公司 | 网络检测方法与***、装置 |
-
2017
- 2017-06-15 CN CN201710450865.1A patent/CN107294803A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428042A (zh) * | 2012-05-22 | 2013-12-04 | 腾讯科技(深圳)有限公司 | 对服务器进行压力测试的方法及*** |
CN103701780A (zh) * | 2013-12-13 | 2014-04-02 | 大唐移动通信设备有限公司 | 一种鉴权方法和*** |
CN106603464A (zh) * | 2015-10-14 | 2017-04-26 | 北京国双科技有限公司 | 网络检测方法与***、装置 |
CN106407121A (zh) * | 2016-10-08 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 一种跨平台数据互通一致性测试方法及应用测试服务器 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848000A (zh) * | 2018-05-07 | 2018-11-20 | 深圳壹账通智能科技有限公司 | 网络请求测试方法、装置、计算机设备和存储介质 |
CN108650150A (zh) * | 2018-05-11 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 一种数据校验方法和装置 |
CN108650150B (zh) * | 2018-05-11 | 2022-07-05 | 创新先进技术有限公司 | 一种数据校验方法和装置 |
CN109660602A (zh) * | 2018-11-28 | 2019-04-19 | 天津字节跳动科技有限公司 | 数据增量传输方法及装置 |
CN109660602B (zh) * | 2018-11-28 | 2022-08-09 | 天津字节跳动科技有限公司 | 数据增量传输方法及装置 |
CN109582481A (zh) * | 2019-01-10 | 2019-04-05 | 北京城市网邻信息技术有限公司 | 调用结果的传输方法、装置、设备及存储介质 |
CN110380929A (zh) * | 2019-07-15 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 一种幂等有效性检测方法、装置及设备 |
CN110380929B (zh) * | 2019-07-15 | 2023-05-09 | 创新先进技术有限公司 | 一种幂等有效性检测方法、装置及设备 |
CN111464384A (zh) * | 2020-03-30 | 2020-07-28 | 中国建设银行股份有限公司 | 一种异步消息的一致性测试方法及装置 |
CN113381913A (zh) * | 2021-08-13 | 2021-09-10 | 飞狐信息技术(天津)有限公司 | 流量处理方法、网关、流量对比***及装置 |
CN113381913B (zh) * | 2021-08-13 | 2021-11-19 | 飞狐信息技术(天津)有限公司 | 流量处理方法、网关、流量对比***及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107294803A (zh) | 响应信息一致性测试方法及装置 | |
US8649995B2 (en) | System and method for efficient test case generation using input dependency information | |
CN105005532B (zh) | 一种自动化测试应用程序接口稳定性的***及方法 | |
CN104699541B (zh) | 同步数据的方法、装置、数据传输组件及*** | |
CN106776280B (zh) | 可配置性能测试装置 | |
CN107612727A (zh) | 分布式健康检查方法、计算设备及计算机存储介质 | |
WO2019019649A1 (zh) | 投资组合产品的生成方法、装置、存储介质和计算机设备 | |
CN108933695B (zh) | 用于处理信息的方法和装置 | |
CN111142746B (zh) | 一种***配额计算方法和装置 | |
CN111444077A (zh) | 一种生成流程节点测试数据的方法和装置 | |
CN109815119A (zh) | 一种app链接渠道的测试方法及装置 | |
CN109522228A (zh) | 接口自动化测试数据构造方法、装置、平台及存储介质 | |
CN105915529A (zh) | 一种报文生成方法及装置 | |
CN107329834A (zh) | 用于执行计算任务的方法和装置 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
CN105677645B (zh) | 一种数据表比对方法和装置 | |
CN108023905A (zh) | 物联网应用***及方法 | |
CN112965912A (zh) | 接口测试用例生成方法、装置和电子设备 | |
CN109670579A (zh) | 模型生成方法和装置 | |
CN109240932A (zh) | 一种统一存储管理软件的测试方法、装置及设备 | |
CN106294146B (zh) | 参数替换测试方法及装置 | |
CN110868330A (zh) | 云平台可划分cpu资源的评估方法、装置及评估*** | |
CN104462484B (zh) | 数据处理方法、数据处理器及*** | |
CN114020822A (zh) | 基于接口数据造数的数据测试方法、装置、设备及介质 | |
CN114331167A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171024 |
|
RJ01 | Rejection of invention patent application after publication |