CN111198821B - 接口异常判断方法、装置及可读存储介质 - Google Patents

接口异常判断方法、装置及可读存储介质 Download PDF

Info

Publication number
CN111198821B
CN111198821B CN202010010633.6A CN202010010633A CN111198821B CN 111198821 B CN111198821 B CN 111198821B CN 202010010633 A CN202010010633 A CN 202010010633A CN 111198821 B CN111198821 B CN 111198821B
Authority
CN
China
Prior art keywords
space vector
preset
data
response data
sample
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
CN202010010633.6A
Other languages
English (en)
Other versions
CN111198821A (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.)
Ruiting Network Technology Shanghai Co ltd
Original Assignee
Ruiting Network Technology Shanghai 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 Ruiting Network Technology Shanghai Co ltd filed Critical Ruiting Network Technology Shanghai Co ltd
Priority to CN202010010633.6A priority Critical patent/CN111198821B/zh
Publication of CN111198821A publication Critical patent/CN111198821A/zh
Application granted granted Critical
Publication of CN111198821B publication Critical patent/CN111198821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种接口异常判断方法、装置及可读存储介质。本发明接口异常判断方法,包括:通过获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,对第一响应数据进行特征提取,以获得第一响应数据对应的第一空间向量,计算第一空间向量与每个预设类别对应的第二空间向量的距离,根据第一空间向量与每个第二空间向量的距离和预设阈值,判断测试接口是否异常。从而实现无需人工手动建立接口的检查标准,即可判断测试接口是否异常。

Description

接口异常判断方法、装置及可读存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种接口异常判断方法、装置及可读存储介质。
背景技术
终端设备中通常安装有多个应用程序,安装的应用程序可以为用户带来便捷的服务。为了为用户提供高质量的应用程序,通常需要对应用程序进行测试,而对应用程序测试的重点在于测试应用程序暴露的接口,检查接口是否正常。
目前,对接口进行测试前,需要先建立一套检查标准,根据检查标准测试接口是否正确。例如,针对某个接口,针对该接口建立的检查标准为具有三个字段,每个字段的字段类型例如都为字符串。如果对该接口测试时,该接口返回了三个字段,且每个字段的字段类型例如都为字符串,则可以确定该接口正常。然而,如果更新了该接口,例如,新增了某个字段或者改变了某个字段的字段类型,则需要更新检查标准,如果未及时更新检查标准,则可能存在接口误判的情况,例如将本应该是正常的接口判定为不正常的接口,因此,提供一种无需建立检查标准即可判断接口是否异常的方案亟待解决。
发明内容
本发明实施例提供一种接口异常判断方法、装置及可读存储介质,以解决目前需要人工手动建立接口的检查标准,才能根据检查标准测试接口是否正确的问题。
本发明实施例的第一方面,提供了一种接口异常判断方法,执行于服务器,包括:
获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,其中,所述待测请求消息包括相同预设域名和路径信息;
对所述第一响应数据进行特征提取,以获得所述第一响应数据对应的第一空间向量;
计算所述第一空间向量与每个预设类别对应的第二空间向量的距离,所述第二空间向量是以第二响应数据作为样本数据进行分类后获得的,其中,所述第二响应数据为所述测试接口响应于所述待测请求消息,预先返回的至少两条响应数据所组成的样本数据;
根据所述第一空间向量与每个所述第二空间向量的距离和预设阈值,判断所述测试接口是否异常。
本发明实施例的第二方面,提供了一种接口异常判断装置,设置于服务器,包括:
第一获取模块,用于获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,其中,所述待测请求消息包括相同预设域名和路径信息;
特征提取模块,用于对所述第一响应数据进行特征提取,以获得所述第一响应数据对应的第一空间向量;
计算模块,用于计算所述第一空间向量与每个预设类别对应的第二空间向量的距离,所述第二空间向量是以第二响应数据作为样本数据进行分类后获得的,其中,所述第二响应数据为所述测试接口响应于所述待测请求消息,预先返回的至少两条响应数据所组成的样本数据;
判断模块,用于根据所述第一空间向量与每个所述第二空间向量的距离和预设阈值,判断所述测试接口是否异常。
本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述所述的接口异常判断方法的步骤。
本发明的第四方面,提供了一种接口异常判断装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述所述的接口异常判断方法的步骤。
针对在先技术,本发明具备如下优点:
本发明实施例提供的接口异常判断方法,通过获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,对第一响应数据进行特征提取,以获得第一响应数据对应的第一空间向量,计算第一空间向量与每个预设类别对应的第二空间向量的距离,根据第一空间向量与每个第二空间向量的距离和预设阈值,判断测试接口是否异常。从而实现无需人工手动建立接口的检查标准,即可判断测试接口是否异常。由于无需人工手动建立接口的检查标准,因此,在接口的字段和/或字段类型发生变化的情况下,也无需手动修改检查标准,即可对测试接口返回的第一响应数据进行特征提取,从而判断测试接口返回的第一响应数据对应的第一空间向量与每个预设类别对应的第二空间向量的距离,进而根据该第一空间向量与每个第二空间向量的距离和预设阈值判断测试接口是否异常。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种接口异常判断方法的步骤流程图;
图2为本发明实施例提供的一种系统架构图;
图3为本发明实施例提供的另一种接口异常判断方法的步骤流程图;
图4为本发明实施例提供的另一种接口异常判断装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
应当理解,此处所描述的具体实施例仅用以解释本发明,仅仅是本发明一部分实施例,而不是全部的实施例,并不用于限定本发明。
参照图1,图1为本发明实施例提供的一种接口异常判断方法的步骤流程图,本实施例的接口异常判断方法适用于无需建立检查标准即可判断接口是否异常的情况。该方法可以执行于服务器,本实施例的方法包括如下步骤:
步骤101、获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据。
针对步骤101,可以从数据库中获取包括测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,待测请求消息都包括相同预设域名和路径信息。例如,预设域名例如为api.anjuke.com,响应数据为待测请求消息对应的测试接口返回的数据,响应数据可以为JS对象简谱(JSON,JavaScript Object Notation)数据,可以将预设域名、路径信息和待测请求消息对应的测试接口返回的数据作为一条数据记录存储在数据库中。
具体的,参照图2,图2为本发明实施例提供的一种系统架构图。终端设备向代理服务器发送数据请求,数据请求中包括终端设备的互联网协议(IP,Internet Protocol)地址和统一资源定位符(URL,Uniform Resource Locator)信息,代理服务器根据数据请求,从与URL信息(每个URL信息都包括有域名和路径信息)对应的测试接口获得测试接口返回的响应数据,目标服务器为提供测试接口的系统所部署的服务器,代理服务器可以根据IP地址将响应数据发送给终端设备,并同时将响应数据和URL信息作为一条数据记录存储在数据库中的数据表1中,数据库可以部署于数据库服务器。服务器可以直接从数据表1中获取包括相同预设域名和路径信息的至少两条数据记录,也即获取到测试接口响应于待测请求消息所返回的至少两条第一响应数据。由于数据表1中存储有不同URL信息对应的响应数据,为了提高服务器获取包括相同待测请求消息的至少两条数据记录的效率,服务器也可以每隔一段时间对数据表1中的数据记录进行过滤,将具有相同待测请求消息的至少两条数据记录存储在数据库的数据表2中,从数据表2中获取包括相同预设域名和路径信息的至少两条数据记录。例如,在预设域名为api.anjuke.com的情况下,可以从数据表1中或数据表2中获取包括api.anjuke.com/a/b/c的至少两条数据记录,其中a/b/c即为路径信息,每条数据记录中还包括与数据请求对应的响应数据,与数据对应的响应数据为从与数据请求中包括的URL信息对应的测试接口获得的测试接口返回的响应数据。
步骤102、对第一响应数据进行特征提取,以获得第一响应数据对应的第一空间向量。
其中,第一响应数据为待测请求消息对应的测试接口返回的响应数据。包括相同预设域名和相同路径信息的URL信息唯一对应一个测试接口,即对于步骤101中获取的每条数据记录中包括的响应数据都属于同一个测试接口返回的响应数据。可以通过二进制数来表示响应数据中的每个数据元素的特征,例如,对响应数据1(数据元素1、数据元素2、数据元素3)进行特征提取后,获得的第一空间向量1为(0,0,1);对响应数据2(数据元素1、数据元素2、数据元素3)进行特征提取后,获得的第一空间向量2为(0,1,0),即每个响应数据都是一个三维的特征向量。
步骤103、计算第一空间向量与每个预设类别对应的第二空间向量的距离,第二空间向量是以第二响应数据作为样本数据进行分类后获得的。
其中,第二响应数据为测试接口响应于待测请求消息,预先返回的至少两条响应数据所组成的样本数据,也即第二响应数据与第一响应数据为同一个测试接口返回的响应数据。第二空间向量是以第二响应数据作为样本数据进行分类后获得的。预设类别的个数可以为多个。预设类别的个数可以为多个。以两个预设类别为例,预设类别1和预设类别2,预设类别1为异常类,预设类别2为正常类,预设类别1对应的第二空间向量1为(0,1,0),预设类别2对应的第二空间向量2为(0,0,1),则可以计算第一空间向量1与第二空间向量1的距离1,可以计算第一空间向量1与第二空间向量1的欧式距离,距离1等于
Figure BDA0002357018710000051
即等于
Figure BDA0002357018710000052
同样计算第一空间向量1与第二空间向量2的距离2等于0。
步骤104、根据第一空间向量与每个第二空间向量的距离和预设阈值,判断测试接口是否异常。
其中,根据第一空间向量与每个第二空间向量的距离和预设阈值,判断测试接口是否异常可以通过如下步骤实现:
从第一空间向量与每个第二空间向量的距离中确定最小距离;
判断最小距离是否小于或等于预设阈值;
若最小距离小于或等于预设阈值,则将距离第一空间向量最近的第二空间向量对应的预设类别作为目标类别,并将响应数据划分到目标类别;
根据目标类别,判断测试接口是否异常。
结合上述举例,第一空间向量1与第二空间向量2的距离2为最小距离,以预设阈值为1.5为例,则距离2小于预设阈值,将预设类别2作为目标类别,并将响应数据1划分到预设类别2,由于预设类别2为正常类,则可以判断响应数据1对应的测试接口为正常。
对于第一空间向量2,第一空间向量2与第二空间向量1的距离等于0,第一空间向量2与第二空间向量2的距离等于
Figure BDA0002357018710000061
则第一空间向量2与第二空间向量1的距离为最小距离且小于预设阈值,则可以将响应数据2划分到预设类别1,由于预设类别1为异常类,则可以判断响应数据2对应的测试接口为异常。
需要说明的是,若最小距离大于预设阈值,则确定响应数据不属于每个预设类别,也即响应数据不属于预设类别1,也不属于预设类别2,此种情况下,可以根据响应数据对应的URL信息,确定邮件地址;向邮件地址发送响应数据,以供相关人员对邮件中的响应数据进行分析,以判断测试接口是否异常。
本实施例提供的接口异常判断方法,通过获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,对第一响应数据进行特征提取,以获得第一响应数据对应的第一空间向量,计算第一空间向量与每个预设类别对应的第二空间向量的距离,根据第一空间向量与每个第二空间向量的距离和预设阈值,判断测试接口是否异常。从而实现无需人工手动建立接口的检查标准,即可判断测试接口是否异常。由于无需人工手动建立接口的检查标准,因此,在接口的字段和/或字段类型发生变化的情况下,也无需手动修改检查标准,即可对测试接口返回的第一响应数据进行特征提取,从而判断测试接口返回的第一响应数据对应的第一空间向量与每个预设类别对应的第二空间向量的距离,进而根据该第一空间向量与每个第二空间向量的距离和预设阈值判断测试接口是否异常。
参照图3,图3为本发明实施例提供的另一种接口异常判断方法的步骤流程图,该方法包括如下步骤:
步骤301、每隔预设时间,根据每个预设域名对数据库的第一数据表中的数据记录进行过滤,以获得包括预设域名的数据记录。
其中,第一数据表中的数据记录包括代理服务器响应于终端设备的数据请求,从测试接口获取的响应数据、以及数据请求中的统一资源定位符URL信息。
需要说明的是,由于终端设备可能向代理服务器发送各种数据请求,代理服务器根据数据请求,从与数据请求中包括的URL信息对应的测试接口获得测试接口返回的响应数据,并同时将响应数据和URL信息作为一条数据记录存储在数据库中的第一数据表(数据表1)中,因此,第一数据表中可能存储不同域名的响应数据。而本实施例中只需对包括预设域名的数据记录进行分析,因此,可以对第一数据表中的数据记录进行过滤,只保留包括预设域名的数据记录。
其中,终端设备向代理服务器发送数据请求时,代理服务器可以去数据库服务器查终端设备的IP地址是否与用户名绑定,如果IP地址与用户名绑定,则代理服务器可以将数据请求发送给目标服务器,并接收目标服务器上部署的系统的测试接口返回的响应数据;如果IP地址与用户名未绑定,则代理服务器可以将数据请求发送给AppMock平台,由AppMock平台向终端设备发送一个页面,用户可以在该页面输入用户名,用户输入用户名后,终端设备将用户输入的用户名发送给代理服务器,代理服务器将IP地址与用户输入的用户名绑定,并将IP地址与绑定的用户名存储在数据库服务器,并将数据请求发送给目标服务器,以及接收目标服务器上部署的系统的测试接口返回的响应数据;代理服务器接收到测试接口返回的响应数据后,可以将响应数据、用户名、以及数据请求中包括的URL信息作为一条数据记录存储在第一数据表中,从而可以根据用户名,能够确定数据请求是哪个用户通过终端设备发送的。
其中,每隔预设时间,根据每个预设域名对数据库的第一数据表中的数据记录进行过滤,例如在每天的凌晨一点对第一数据表中的数据记录进行过滤。如果在第一天对第一数据表中的10000条数据记录进行了过滤,在第二天可以接着对第10001条至第20000条数据记录进行过滤。
步骤302、将包括预设域名的数据记录存储在第二数据表。
步骤303、从第二数据表中获取样本数据。
步骤304、根据每个预设类别各自对应的预设空间向量、预设阈值、以及样本数据,更新至少一个预设空间向量,以获得每个预设类别对应的第二空间向量。
其中,根据每个预设类别各自对应的预设空间向量、预设阈值、以及样本数据,更新至少一个预设空间向量,以获得每个预设类别对应的第二空间向量可以通过如下步骤实现:
对样本数据中的第n个响应数据进行特征提取,以获得第n个响应数据对应的第一样本空间向量;
计算第一样本空间向量与每个预设类别各自对应的当前空间向量的样本距离;其中,在计算第1个样本数据对应的样本空间向量与每个预设类别各自对应的当前空间向量的样本距离时,预设类别对应的当前空间向量等于预设类别对应的预设空间向量;
根据第一样本空间向量与每个预设类别各自对应的当前空间向量的样本距离、以及预设阈值,确定第n个响应数据所属的预设类别;
根据第n个响应数据所属的预设类别中的样本数据对应的第二样本空间向量、以及第二样本空间向量的个数,更新第n个响应数据所属的预设类别对应的当前空间向量;
在已确定多个样本数据所属的预设类别的情况下,将更新后的当前空间向量作为第n个响应数据所属的预设类别对应的第二空间向量。
需要说明的是,可以根据第n个样本数据所属的预设类别中的样本数据对应的第二样本空间向量、以及第二样本空间向量的个数,更新第n个样本数据所属的预设类别对应的当前空间向量。可以将第n个样本数据所属的预设类别中的样本数据对应的各第二样本空间向量的第m个维度值的平均值,作为第n个样本数据所属的预设类别对应的当前空间向量的第m个维度值。如果第n个样本数据所属的预设类别为预设类别1,预设类别1中的样本数据对应的各第二样本空间向量为(1,0,1)和(1,1,0),则第二样本空间向量的个数为2,各第二样本空间向量的第1个维度值的平均值为1,第2个维度值的平均值等于0.5,第3个维度值的平均值等于0.5,则预设类别1对应的当前空间向量的第1个维度值等于1,第2个维度值等于0.5,第3个维度值等于0.5,即预设类别1对应的当前空间向量为(1,0.5,0.5)。
例如,以样本数据包括3个响应数据、预设类别为预设类别1和预设类别2,预设类别1对应的初始空间向量1为(0,0,1),预设类别2对应的初始空间向量2为(0,1,0),响应数据1、响应数据2和响应数据3依次为样本数据中的第1个响应数据、第2个响应数据、第三个响应数据。响应数据1对应的样本空间向量1(0,0,1)、响应数据2对应的样本空间向量2(1,0,1)、响应数据3对应的样本空间向量3(0,1,1)为例,则样本空间向量1与初始空间向量1之间的距离为0,样本空间向量1与初始空间向量2之间的距离等于
Figure BDA0002357018710000091
预设阈值为1.5的情况下,则将响应数据1划分到预设类别1,并且采用样本空间向量1更新预设空间向量1,由于此时预设类别1中只有响应数据1,则对预设空间向量1更新后,预设类别1对应的当前空间向量即为响应数据1对应的样本空间向量1(0,0,1),预设类别2对应的当前空间向量仍为初始空间向量2(0,1,0)。
响应数据2对应的样本空间向量2(1,0,1),则样本空间向量2与预设类别1对应的当前空间向量的距离小于样本空间向量2与预设类别2对应的当前空间向量的距离,且样本空间向量2与预设类别1对应的当前空间向量的距离等于预设阈值,则将响应数据2划分到预设类别1,并将样本空间向量2(1,0,1)的第m个维度和样本空间向量1(0,0,1)的第m个维度的平均值作为预设类别1对应的当前空间向量中的第m个维度值,即对响应数据2划分类别后,预设类别1对应的当前空间向量为(0.5,0,1),预设类别2对应的当前空间向量仍为初始空间向量2(0,1,0)。
响应数据3对应的样本空间向量3(0,1,1),则样本空间向量3与预设类别2对应的当前空间向量的距离小于样本空间向量3与预设类别1对应的当前空间向量的距离,且样本空间向量3与预设类别2对应的当前空间向量的距离小于预设阈值,则将响应数据3划分到预设类别2,并采用样本空间向量3(0,1,1)更新预设类别2对应的初始空间向量2(0,1,0)。即对响应数据3划分类别后,预设类别1对应的当前空间向量为(0.5,0,1),预设类别2对应的当前空间向量更新为(0,1,1)。即对响应数据1、响应数据2、以及响应数据3划分类别后,获得的预设类别1对应的第二空间向量为(0.5,0,1),预设类别2对应的第二空间向量为(0,1,1)。
需要说明的是,上述举例说明中是对预设类别1对应的初始空间向量和预设类别2对应的初始空间向量都进行了更新。如果响应数据1、响应数据2和响应数据3都属于预设类别1,则只对预设类别1对应的初始空间向量进行更新,将最终更新后的预设类别1对应的当前空间向量作为预设类别1对应的第二空间向量;预设类别2对应的第二空间向量仍然为预设类别2对应的初始空间向量。同样,如果响应数据1、响应数据2和响应数据3都属于预设类别2,则只对预设类别2对应的初始空间向量进行更新,将最终更新后的预设类别2对应的当前空间向量作为预设类别2对应的第二空间向量;预设类别1对应的第二空间向量仍然为预设类别1对应的初始空间向量。
步骤305、从第二数据表获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据。
步骤306、对第一响应数据进行特征提取,以获得第一响应数据对应的第一空间向量。
步骤307、计算第一空间向量与每个预设类别对应的第二空间向量的距离。
步骤308、根据第一空间向量与每个第二空间向量的距离和预设阈值,判断测试接口是否异常。
本实施例中通过每隔预设时间,根据每个预设域名对数据库的第一数据表中的数据记录进行过滤,以获得包括预设域名的数据记录,将包括预设域名的数据记录存储在第二数据表,因此可以直接从第二数据表获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,进而判断测试接口是否异常,节省了服务器从第一数据表中获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据时,需要筛选第一数据表中的相同的待测请求消息对应的响应数据的时间,从而可以提高判断测试接口是否异常的效率。
参照图4,图4为本发明实施例提供的一种接口异常判断装置的结构示意图,该装置设置于服务器,包括:
第一获取模块410,用于获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,其中,所述待测请求消息包括相同预设域名和路径信息;
特征提取模块420,用于对所述第一响应数据进行特征提取,以获得所述第一响应数据对应的第一空间向量;
计算模块430,用于计算所述第一空间向量与每个预设类别对应的第二空间向量的距离,所述第二空间向量是以第二响应数据作为样本数据进行分类后获得的,其中,所述第二响应数据为所述测试接口响应于所述待测请求消息,预先返回的至少两条响应数据所组成的样本数据;
判断模块440,用于根据所述第一空间向量与每个所述第二空间向量的距离和预设阈值,判断所述测试接口是否异常。
本实施例提供的接口异常判断装置,通过获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,对第一响应数据进行特征提取,以获得第一响应数据对应的第一空间向量,计算第一空间向量与每个预设类别对应的第二空间向量的距离,根据第一空间向量与每个第二空间向量的距离和预设阈值,判断测试接口是否异常。从而实现无需人工手动建立接口的检查标准,即可判断测试接口是否异常。由于无需人工手动建立接口的检查标准,因此,在接口的字段和/或字段类型发生变化的情况下,也无需手动修改检查标准,即可对测试接口返回的第一响应数据进行特征提取,从而判断测试接口返回的第一响应数据对应的第一空间向量与每个预设类别对应的第二空间向量的距离,进而根据该第一空间向量与每个第二空间向量的距离和预设阈值判断测试接口是否异常。
可选的,所述判断模块440,具体用于从所述第一空间向量与每个所述第二空间向量的距离中确定最小距离;判断所述最小距离是否小于或等于预设阈值;若所述最小距离小于或等于所述预设阈值,则将距离所述第一空间向量最近的第二空间向量对应的预设类别作为目标类别,并将所述响应数据划分到所述目标类别;根据所述目标类别,判断所述测试接口是否异常。
可选的,所述判断模块440,还用于若所述最小距离大于所述预设阈值,则确定所述响应数据不属于每个所述预设类别;根据所述响应数据对应的统一资源定位符URL信息,确定邮件地址;向所述邮件地址发送所述响应数据。
可选的,还包括:
过滤模块,用于每隔预设时间,根据每个所述预设域名对所述数据库的第一数据表中的数据记录进行过滤,以获得包括所述预设域名的数据记录;其中,所述第一数据表中的数据记录包括代理服务器响应于终端设备的数据请求,从所述测试接口获取的响应数据、以及所述数据请求中的统一资源定位符URL信息;
存储模块,用于将包括所述预设域名的数据记录存储在第二数据表;
所述第一获取模块,具体用于从所述第二数据表获取所述测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据。
可选的,还包括:
第二获取模块,用于从所述第二数据表中获取所述样本数据;
分类模块,用于根据每个所述预设类别各自对应的预设空间向量、所述预设阈值、以及所述样本数据,更新所述至少一个预设空间向量,以获得每个所述预设类别对应的第二空间向量。
可选的,分类模块,具体用于对所述样本数据中的第n个响应数据进行特征提取,以获得所述第n个响应数据对应的第一样本空间向量;
计算所述第一样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离;其中,在计算第1个所述样本数据对应的样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离时,所述预设类别对应的当前空间向量等于所述预设类别对应的预设空间向量;
根据所述第一样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离、以及所述预设阈值,确定所述第n个响应数据所属的预设类别;
根据所述第n个响应数据所属的预设类别中的样本数据对应的第二样本空间向量、以及所述第二样本空间向量的个数,更新所述第n个响应数据所属的预设类别对应的当前空间向量;
在已确定所述多个样本数据所属的预设类别的情况下,将更新后的当前空间向量作为所述第n个响应数据所属的预设类别对应的第二空间向量。
另外,本发明实施例还提供一种接口异常判断装置,该接口异常判断装置包括处理器,存储器以及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述实施例的接口异常判断方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的接口异常判断方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
本发明实施例还提供了一种计算机程序,该计算机程序可以存储在云端或本地的存储介质上。在该计算机程序被计算机或处理器运行时用于执行本发明实施例的接口异常判断方法的相应步骤,并且用于实现根据本发明实施例的接口异常判断装置中的相应模块。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的接口异常判断方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的接口异常判断方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (6)

1.一种接口异常判断方法,其特征在于,执行于服务器,包括:
获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,其中,所述待测请求消息包括相同预设域名和路径信息;
对所述第一响应数据进行特征提取,以获得所述第一响应数据对应的第一空间向量;
计算所述第一空间向量与每个预设类别对应的第二空间向量的距离,所述第二空间向量是以第二响应数据作为样本数据进行分类后获得的,其中,所述第二响应数据为所述测试接口响应于所述待测请求消息,预先返回的至少两条响应数据所组成的样本数据,所述预设类别的个数为多个;
根据所述第一空间向量与每个所述第二空间向量的距离和预设阈值,判断所述测试接口是否异常;
所述根据所述第一空间向量与每个所述第二空间向量的距离和预设阈值,判断所述测试接口是否异常,包括:
从所述第一空间向量与每个所述第二空间向量的距离中确定最小距离;
判断所述最小距离是否小于或等于预设阈值;
若所述最小距离小于或等于所述预设阈值,则将距离所述第一空间向量最近的第二空间向量对应的预设类别作为目标类别,并将所述响应数据划分到所述目标类别;
根据所述目标类别,判断所述测试接口是否异常;
其中,所述根据所述目标类别,判断所述测试接口是否异常,包括:若所述目标类别为正常类,则确定所述测试接口为正常;若所述目标类别为异常类,则确定所述测试接口为异常;
在所述获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据之前,还包括:
每隔预设时间,根据每个所述预设域名对数据库的第一数据表中的数据记录进行过滤,以获得包括所述预设域名的数据记录;其中,所述第一数据表中的数据记录包括代理服务器响应于终端设备的数据请求,从所述测试接口获取的响应数据、以及所述数据请求中的统一资源定位符URL信息;
将包括所述预设域名的数据记录存储在第二数据表;
所述获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,包括:
从所述第二数据表获取所述测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据;
在所述将包括所述预设域名的数据记录存储在第二数据表之后,还包括:
从所述第二数据表中获取所述样本数据;
根据每个所述预设类别各自对应的预设空间向量、所述预设阈值、以及所述样本数据,更新所述至少一个预设空间向量,以获得每个所述预设类别对应的第二空间向量;
所述根据每个所述预设类别各自对应的预设空间向量、所述预设阈值、以及所述样本数据,更新所述至少一个预设空间向量,以获得每个所述预设类别对应的第二空间向量,包括:
对所述样本数据中的第n个响应数据进行特征提取,以获得所述第n个响应数据对应的第一样本空间向量;
计算所述第一样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离;其中,在计算第1个所述样本数据对应的样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离时,所述预设类别对应的当前空间向量等于所述预设类别对应的预设空间向量;
根据所述第一样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离、以及所述预设阈值,确定所述第n个响应数据所属的预设类别;
根据所述第n个响应数据所属的预设类别中的样本数据对应的第二样本空间向量、以及所述第二样本空间向量的个数,更新所述第n个响应数据所属的预设类别对应的当前空间向量;
在已确定多个所述样本数据所属的预设类别的情况下,将更新后的当前空间向量作为所述第n个响应数据所属的预设类别对应的第二空间向量。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述最小距离大于所述预设阈值,则确定所述响应数据不属于每个所述预设类别;
根据所述响应数据对应的统一资源定位符URL信息,确定邮件地址;
向所述邮件地址发送所述响应数据。
3.一种接口异常判断装置,其特征在于,设置于服务器,包括:
第一获取模块,用于获取测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据,其中,所述待测请求消息包括相同预设域名和路径信息;
特征提取模块,用于对所述第一响应数据进行特征提取,以获得所述第一响应数据对应的第一空间向量;
计算模块,用于计算所述第一空间向量与每个预设类别对应的第二空间向量的距离,所述第二空间向量是以第二响应数据作为样本数据进行分类后获得的,其中,所述第二响应数据为所述测试接口响应于所述待测请求消息,预先返回的至少两条响应数据所组成的样本数据,所述预设类别的个数为多个;
判断模块,用于根据所述第一空间向量与每个所述第二空间向量的距离和预设阈值,判断所述测试接口是否异常;
所述判断模块,具体用于从所述第一空间向量与每个所述第二空间向量的距离中确定最小距离;判断所述最小距离是否小于或等于预设阈值;若所述最小距离小于或等于所述预设阈值,则将距离所述第一空间向量最近的第二空间向量对应的预设类别作为目标类别,并将所述响应数据划分到所述目标类别;根据所述目标类别,判断所述测试接口是否异常;
其中,所述判断模块,还具体用于若所述目标类别为正常类,则确定所述测试接口为正常;若所述目标类别为异常类,则确定所述测试接口为异常;
还包括:
过滤模块,用于每隔预设时间,根据每个所述预设域名对数据库的第一数据表中的数据记录进行过滤,以获得包括所述预设域名的数据记录;其中,所述第一数据表中的数据记录包括代理服务器响应于终端设备的数据请求,从所述测试接口获取的响应数据、以及所述数据请求中的统一资源定位符URL信息;
存储模块,用于将包括所述预设域名的数据记录存储在第二数据表;
所述第一获取模块,具体用于从所述第二数据表获取所述测试接口响应于待测请求消息所返回的至少两条响应数据作为第一响应数据;
第二获取模块,用于从所述第二数据表中获取所述样本数据;
分类模块,用于根据每个所述预设类别各自对应的预设空间向量、所述预设阈值、以及所述样本数据,更新所述至少一个预设空间向量,以获得每个所述预设类别对应的第二空间向量;
所述分类模块,具体用于;
计算第一样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离;其中,在计算第1个所述样本数据对应的样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离时,所述预设类别对应的当前空间向量等于所述预设类别对应的预设空间向量;
根据所述第一样本空间向量与每个所述预设类别各自对应的当前空间向量的样本距离、以及所述预设阈值,确定第n个响应数据所属的预设类别;
根据所述第n个响应数据所属的预设类别中的样本数据对应的第二样本空间向量、以及所述第二样本空间向量的个数,更新所述第n个响应数据所属的预设类别对应的当前空间向量;
在已确定多个所述样本数据所属的预设类别的情况下,将更新后的当前空间向量作为所述第n个响应数据所属的预设类别对应的第二空间向量。
4.根据权利要求3所述的装置,其特征在于,所述判断模块,还用于若所述最小距离大于所述预设阈值,则确定所述响应数据不属于每个所述预设类别;根据所述响应数据对应的统一资源定位符URL信息,确定邮件地址;向所述邮件地址发送所述响应数据。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至2中任一项所述的接口异常判断方法。
6.一种接口异常判断装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至2中任一项所述的接口异常判断方法的步骤。
CN202010010633.6A 2020-01-06 2020-01-06 接口异常判断方法、装置及可读存储介质 Active CN111198821B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010010633.6A CN111198821B (zh) 2020-01-06 2020-01-06 接口异常判断方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010010633.6A CN111198821B (zh) 2020-01-06 2020-01-06 接口异常判断方法、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN111198821A CN111198821A (zh) 2020-05-26
CN111198821B true CN111198821B (zh) 2021-07-16

Family

ID=70746849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010010633.6A Active CN111198821B (zh) 2020-01-06 2020-01-06 接口异常判断方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN111198821B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797911A (zh) * 2016-09-02 2018-03-13 北京京东尚科信息技术有限公司 用于测试http接口的方法和装置
CN109189622A (zh) * 2018-08-21 2019-01-11 上海起作业信息科技有限公司 接口测试方法及装置、电子设备、存储介质
CN109919185A (zh) * 2019-01-28 2019-06-21 平安科技(深圳)有限公司 基于sse的异常点比例优化方法、装置及计算机设备
CN109947646A (zh) * 2019-03-13 2019-06-28 平安信托有限责任公司 接口测试方法、装置、计算机设备和存储介质
CN110046067A (zh) * 2019-04-22 2019-07-23 无线生活(杭州)信息科技有限公司 接口测试方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354998B2 (en) * 2012-05-04 2016-05-31 Aegis.Net, Inc. Automated conformance and interoperability test lab
CN107547312A (zh) * 2017-09-21 2018-01-05 广州四三九九信息科技有限公司 应用程序测试方法及系统
CN109446075B (zh) * 2018-09-30 2022-02-25 北京金山安全软件有限公司 一种接口测试方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797911A (zh) * 2016-09-02 2018-03-13 北京京东尚科信息技术有限公司 用于测试http接口的方法和装置
CN109189622A (zh) * 2018-08-21 2019-01-11 上海起作业信息科技有限公司 接口测试方法及装置、电子设备、存储介质
CN109919185A (zh) * 2019-01-28 2019-06-21 平安科技(深圳)有限公司 基于sse的异常点比例优化方法、装置及计算机设备
CN109947646A (zh) * 2019-03-13 2019-06-28 平安信托有限责任公司 接口测试方法、装置、计算机设备和存储介质
CN110046067A (zh) * 2019-04-22 2019-07-23 无线生活(杭州)信息科技有限公司 接口测试方法及装置

Also Published As

Publication number Publication date
CN111198821A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
WO2017113677A1 (zh) 处理用户行为数据的方法和系统
CN111221743A (zh) 自动化测试方法及系统
CN106874135B (zh) 用于检测机房故障的方法、装置及设备
US20150135018A1 (en) Analysis method, analysis apparatus, computer-readable storage medium storing analysis program
CN110750433A (zh) 接口测试方法和装置
CN109309596A (zh) 一种压力测试方法、装置及服务器
CN105407186A (zh) 获取子域名的方法和装置
CN105515882B (zh) 网站安全检测方法及装置
CN113301155A (zh) 数据路由方法、装置、设备和存储介质
CN110795003B (zh) 一种界面显示方法、装置
CN109862074B (zh) 一种数据采集方法、装置、可读介质及电子设备
CN105187439A (zh) 钓鱼网站检测方法及装置
CN104699619B (zh) 线上测试的方法和装置
CN113205130B (zh) 一种数据审核方法、装置、电子设备及存储介质
CN111198821B (zh) 接口异常判断方法、装置及可读存储介质
CN109918048A (zh) 目标对象提取方法、装置、系统及计算机可读存储介质
CN108829590B (zh) 一种软件测试方法、装置及系统
CN116431522A (zh) 一种低代码对象存储网关自动化测试方法及系统
CN113031995B (zh) 一种更新规则的方法、装置、存储介质以及电子设备
CN106445949A (zh) 检测数据表中数据变化的方法和装置
CN106446687B (zh) 恶意样本的检测方法及装置
CN111581487B (zh) 一种信息处理方法及装置
CN113962216A (zh) 文本处理方法、装置、电子设备及可读存储介质
CN108874795A (zh) 服务器与待查询对象信息获取方法及装置
CN109088859B (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