CN109376079A - 接口调用的测试方法及服务器 - Google Patents
接口调用的测试方法及服务器 Download PDFInfo
- Publication number
- CN109376079A CN109376079A CN201811121926.0A CN201811121926A CN109376079A CN 109376079 A CN109376079 A CN 109376079A CN 201811121926 A CN201811121926 A CN 201811121926A CN 109376079 A CN109376079 A CN 109376079A
- Authority
- CN
- China
- Prior art keywords
- test
- test script
- data
- type
- script
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 349
- 238000013515 script Methods 0.000 claims abstract description 255
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 41
- 239000011159 matrix material Substances 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 5
- 238000000513 principal component analysis Methods 0.000 claims description 4
- 230000032258 transport Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于数据处理技术领域,提供了一种接口调用的测试方法及终端设备,通过根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,通过规范接口文档中包含的数据类型,调取数据类型对应的测试脚本集合,并根据数据类型对应的数据值,从测试脚本集合中确定出被选测试脚本,在检测到终端设备调用所述目标接口时,通过被选测试脚本对终端设备发送的调用数据进行测试,生成测试结果,以通过集成了多种测试脚本的测试服务器对终端设备进行调用功能的验证,而无需等待真正提供接口的后端服务器开发完成,从而更加及时的对前端进行测试,同时特可以提高测试的准确性和智能化程度。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及一种接口调用的测试方法及服务器。
背景技术
当前,缺少对于单纯验证逻辑的集成以及复用,所以在项目联调过程中,接口的验证都需要等到前后端开发完成后才能进行,而前端和后端工作量一般是不相等的,这期间会存在资源耗费的情况,同时还存在无法及时对前端接口进行验证的问题。
如果在前端已经开发完成但是后端没有开发完成,但是又必须对前端的接口调用功能进行验证时,目前通常采取在后端加挡板的方法返回固定值给前端,以提高测试效率,显然这种方式与真实的接口调用时数据的计算和调用步骤差异较大,由于测试较为僵化,可能存在测试不准确的问题。
发明内容
有鉴于此,本发明实施例提供了一种接口调用的测试方法及终端设备,以解决现有技术在对前端的接口调用功能进行测试时,存在的测试不及时且不准确的问题。
本发明实施例的第一方面提供了一种接口调用的测试方法,包括:
根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,所述规范接口文档中包括数据类型与数据值的对应关系;
根据所述规范接口文档中包含的所述数据类型,调取所述数据类型对应的一个以上的测试脚本集合,所述测试脚本集合中包含多个测试脚本;
根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本;
在检测到终端设备调用所述目标接口时,接收所述终端设备发送的调用数据,并根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果。
本发明实施例的第二方面提供了一种终端设备,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如下步骤:
根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,所述规范接口文档中包括数据类型与数据值的对应关系;
根据所述规范接口文档中包含的所述数据类型,调取所述数据类型对应的一个以上的测试脚本集合,所述测试脚本集合中包含多个测试脚本;
根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本;
在检测到终端设备调用所述目标接口时,接收所述终端设备发送的调用数据,并根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,所述规范接口文档中包括数据类型与数据值的对应关系;
根据所述规范接口文档中包含的所述数据类型,调取所述数据类型对应的一个以上的测试脚本集合,所述测试脚本集合中包含多个测试脚本;
根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本;
在检测到终端设备调用所述目标接口时,接收所述终端设备发送的调用数据,并根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果。
可选地,述对所述配置文件进行规范化处理,生成所述目标接口对应的规范接口文档,包括:
提取所述配置文件的文件头内包含的配置信息,所述配置信息中包含一个以上的数据类型;
根据预设的数据类型与字符串位置的对应关系,从所述配置文件包含的字符串中提取各个数据类型对应的字符串,作为各个所述数据类型对应的数据值;
将所述数据类型与数据值的对应关系填入预设格式的文档中,生成所述规范接口文档。
可选地,所述根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本,包括:
获取所述测试脚本集合中各个所述测试脚本的分类超平面,通过各个所述测试脚本的分类超平面判断所述数据类型对应的数据值是否符合各个测试脚本的第一判别条件;
若所述数据类型对应的数据值符合测试脚本的第一判别条件,则将所述测试脚本作为候选测试脚本;
调取各个所述候选测试脚本对应的预设逻辑参数,计算所述规范接口文档中的所述数据类型对应的数据值与各个所述候选测试脚本对应的预设逻辑参数的相似度,将所述相似度最高的候选测试脚本作为被选测试脚本。
可选地,在所述根据所述目标接口对应的规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本之前,还包括:
选取一个以上的测试脚本,并获取所述测试脚本对应的预设的参考数据值集合;
采用主成分分析法对各个所述测试脚本对应的预设的参考数据值集合进行降维处理,生成各个所述测试脚本对应的主成分矩阵;
通过高斯核函数将所述测试脚本对应的主成分矩阵映射到高维特征空间,以生成各个所述测试脚本的训练参数;
反复执行以下操作直至计算出全部测试脚本的分类超平面:从一个以上的所述测试脚本中选择一个测试脚本作为目标测试脚本,将所述目标测试脚本对应的训练参数组成正向训练集,将所述目标测试脚本以外的测试脚本对应的训练参数组成负向训练集,并根据所述正向训练集以及所述负向训练集计算出分类超平面。
可选地,所述根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果,包括:
提取所述调用数据中包含的测试字段类型以及测试字段类型对应的字段信息;
验证调用数据中包含的测试字段类型是否涵盖所述被选测试脚本中全部预设的必输字段类型;
若所述调用数据中包含的测试字段类型涵盖所述被选测试脚本中全部预设的必输字段类型,则通过所述被选测试脚本验证各个所述测试字段类型对应的字段信息的字符长度、字符类型是否符合所述测试字段类型对应的预设条件;
若全部的所述测试字段类型对应的字段信息的字符长度、字符类型符合所述测试字段类型对应的预设条件,则生成测试成功的测试结果。
在本发明实施例中,根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,通过规范接口文档中包含的数据类型,调取数据类型对应的测试脚本集合,并根据数据类型对应的数据值,从测试脚本集合中确定出被选测试脚本,在检测到终端设备调用所述目标接口时,通过被选测试脚本对终端设备发送的调用数据进行测试,生成测试结果,以通过集成了多种测试脚本的测试服务器对终端设备进行调用功能的验证,而无需等待真正提供接口的后端服务器开发完成,从而更加及时的对前端进行测试,同时特可以提高测试的准确性和智能化程度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的接口调用的测试方法的实现流程图;
图2是本发明实施例提供的接口调用的测试方法S101的具体实现流程图;
图3是本发明实施例提供的接口调用的测试方法S103的具体实现流程图;
图4是本发明实施例提供的测试脚本的分类超平面的生成流程图;
图5是本发明实施例提供的接口调用的测试装置的结构框图;
图6是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的接口调用的测试方法的实现流程,该方法流程包括步骤S101至S104。各步骤的具体实现原理如下。
S101:根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,所述规范接口文档中包括数据类型与数据值的对应关系。
在现有技术中,如果一个系统中终端设备需要调用处理服务器的接口,工程人员往往需要分别对终端设备(前端)以及处理服务器(后端)进行测试,而这种测试必须要在前端和后端都开发完成之后才能进行。但是这就导致了一个问题,由于处理服务器(后端)的开发周期往往更长,所以当终端设备(前端)开发完成之后,经常无法单独对终端设备的接口调用功能进行测试,所以即使终端设备的接口调用功能存在问题,工程人员也难以在处理服务器开发完成之前发现终端设备的问题,显然,这会浪费终端设备修复完善的时间。
在本发明实施例中,针对上述问题,涉及了一个有别于上述处理服务器的模拟服务器,该模拟服务器上仅仅集成了与测试功能有关的脚本,开发速度相较于脚本复杂度高的处理服务器而言,更加快速。值得注意地,本发明实施例便是通过这一模拟服务器对终端设备(前端)的接口调用功能进行及时的测试,因此无需依赖处理服务器中的测试用例。
在本发明实施例中,将终端设备希望调用的接口作为目标接口,为了使模拟服务器能够选择合适的用于对终端设备调用目标接口的功能进行测试的测试逻辑,终端设备在真正发送用于调用接口的调用数据之前,需要首先向模拟服务器发送目标接口的配置文件。模拟服务器在接收到目标接口的配置文件后,会生成一个规范接口文档,所述规范接口文档有助于模拟服务器更加便捷准确的选择用于对终端设备调用目标接口的功能进行测试的测试逻辑。
可以理解地,终端设备可能一次性发送多个目标接口的配置文件,模拟服务器会根据各个目标接口的配置文件,分别执行后续的接口调用的测试方法,所以本发明实施例以及后续的介绍仅是从终端设备对一个目标接口的调用功能进行测试的角度进行描述。
作为本发明的一个实施例,如图2所示,上述S101包括:
S1011,提取所述配置文件的文件头内包含的配置信息,所述配置信息中包含一个以上的数据类型。
在本发明实施例中,首先按照预设文件的结构规则,提取配置文件的文件头,并从文件头中解析出一个以上的数据类型。
S1012,根据预设的数据类型与字符串位置的对应关系,从所述配置文件包含的字符串中提取各个数据类型对应的字符串,作为各个所述数据类型对应的数据值。
在本发明实施例中,由于配置文件是由一个字符串组成的,字符串的不同位置可能代表着不同的含义,而在提取出数据类型之后,就可以根据数据类型与字符串位置的对应关系,从配置文件中提取各个数据类型对应的数据值。
示例性地,字符串的第25-36位是数据类型A对应的数据值;字符串的第37-64位是数据类型B对应的数据值;字符串的第65-128位是数据类型C对应的数据值。
S1013,将所述数据类型与数据值的对应关系填入预设格式的文档中,生成所述规范接口文档。
在本发明实施例中,通过从配置文件的文件头内提取数据类型,以及根据数据类型与字符串位置的对应关系,可以将配置文件中的数据,转换为具有固定格式以及数据排列规则的规范接口文档,有助于在后续的计算过程中,更加快速直接的利用配置文件中的数据。
S102:根据所述规范接口文档中包含的所述数据类型,调取所述数据类型对应的一个以上的测试脚本集合,所述测试脚本集合中包含多个测试脚本。
在本发明实施例中,通过预设的数据类型与测试脚本集合的对应关系,调取测试脚本集合。显然,如果所述规范接口文档中包含多个数据类型,则模拟服务器会在本步骤中调取多个测试脚本集合。由于一个测试脚本集合中包含多个测试脚本,所以还需要后续步骤进一步地从每个测试脚本集合中筛选出一个测试脚本对后续的调用数据进行测试。
S103,根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本。
如上文所述,在调取测试脚本集合以后,需要从各个测试脚本集合中均选取一个测试脚本。在本发明实施例中,是通过数据类型对应的数据值从测试脚本集合中筛选出一个测试脚本。
作为本发明的一个实施例,如图3所示,上述S103包括:
S1031:获取所述测试脚本集合中各个所述测试脚本的分类超平面,通过各个所述测试脚本的分类超平面判断所述数据类型对应的数据值是否符合各个测试脚本的第一判别条件。
在本发明实施例中,考虑到应用场景的两个特性,特性一:任何一个数据类型对应的数据值对于一个测试脚本而言只存在两种可能:即第一满足该测试脚本的第一判别条件,或第二不满足该测试脚本的第一判别条件。特征二:可选的测试脚本的数量是有限的,而且在实际工程应用中,测试脚本的数量也并不多。所以基于上述两个特性,本发明实施例通过支持向量机算法计算出各个测试脚本的分类超平面,并通过各个测试脚本的分类超平面对数据类型对应的数据值进行分类,若为正向分类,则证明该数据类型对应的数据值符合该测试脚本的第一判别条件,若为负向分类,则证明该数据类型对应的数据值不符合该测试脚本的第一判别条件。
可以理解地,由于各个测试脚本的分类超平面都是可以预先计算出的,在每次对测试脚本进行选择时可以直接调用,所以通过上述的方法对测试脚本进行筛选可以减少筛选时的计算量。例如,可以直接调用测试脚本A对应的分类超平面,以判断数据类型对应的数据值是否符合测试脚本A的第一判别条件。
S1032:若所述数据类型对应的数据值符合测试脚本的第一判别条件,则将所述测试脚本作为候选测试脚本。
S1033,调取各个所述候选测试脚本对应的预设逻辑参数,计算所述规范接口文档中的所述数据类型对应的数据值与各个所述候选测试脚本对应的预设逻辑参数的相似度,将所述相似度最高的候选测试脚本作为被选测试脚本。
可选地,获取多个所述候选测试脚本对应的预设逻辑参数。
可选地,将规范接口文档中的所述数据类型对应的数据值转换为测试矩阵,并将候选测试脚本对应的预设逻辑参数转换为训练矩阵,并建立训练矩阵与候选测试脚本的对应关系。
可选地,将数据类型对应的数据值转换为测试矩阵或候选测试脚本对应的预设逻辑参数转换为训练矩阵,都可以通过将不同类型的数据存入矩阵中不同的预设对应位置,若某个类型的数据不为数字,可以按照预设的数据与数字的对应关系,将数据转化为数字后存入矩阵的预设位置中。
可选地,计算所述测试矩阵到各个训练矩阵的欧式距离,作为数据类型对应的数据值与各个所述候选测试脚本对应的预设逻辑参数的相似度。
在本发明实施例中,将与所述测试矩阵的欧式距离最小的训练矩阵对应的候选测试脚本作为被选测试脚本。
作为本发明的一个实施例,具体提供了一个针对各个测试脚本的分类超平面的生成方法,如图4所示,详述如下:
S401:选取一个以上的测试脚本,并获取所述测试脚本对应的预设的参考数据值集合。
可以理解地,一个预设的参考数据值集合包括多个参考数据值。
S402:采用主成分分析法对各个所述测试脚本对应的预设的参考数据值集合进行降维处理,生成各个所述测试脚本对应的主成分矩阵。
在本发明实施例中,由于考虑到一个测试脚本对应的预设的参考数据值集合转换成矩阵形式后,维度过大,不利于后续的计算速度,所以可以通过PCA算法提取各个测试脚本的主成分,以生成各个测试脚本的主成分矩阵。
S403:通过高斯核函数将所述测试脚本对应的主成分矩阵映射到高维特征空间,以生成各个所述测试脚本的训练参数。
可选地,计算所有测试脚本的主成分矩阵的平均值,生成平均主成分矩阵,并通过公式计算各个测试脚本的训练参数,其中,Pi表示测试脚本i的训练参数,Xi表示测试脚本的i的主成分矩阵,X’表示平均主成分矩阵,δ表示Xi与X’的协方差矩阵。
S404,反复执行以下操作直至计算出全部测试脚本的分类超平面:从一个以上的所述测试脚本中选择一个测试脚本作为目标测试脚本,将所述目标测试脚本对应的训练参数组成正向训练集,将所述目标测试脚本以外的测试脚本对应的训练参数组成负向训练集,并根据所述正向训练集以及所述负向训练集计算出分类超平面。
可选地,可以将一个测试脚本对应的正向训练集以及负向训练集一起输入支持向量机模型中,通过现有的支持向量机算法可以计算出该测试脚本的分类超平面。
值得注意地,多个测试脚本对应的分类超平面可以预先计算,并存储在模拟服务器中。
S104:在检测到终端设备调用所述目标接口时,接收所述终端设备发送的调用数据,并根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果。
可选地,提取所述调用数据中包含的测试字段类型以及测试字段类型对应的字段信息。
可选地,验证调用数据中包含的测试字段类型是否涵盖所述被选测试脚本中全部预设的必输字段类型。
示例性地,假设需要测试终端设备调用登录接口的功能是否异常,则测试脚本中的必输字段类型为:登录名LoginId、登录密码Password,所以在本步骤中需要验证调用数据中的测试字段类型是否涵盖登录名LoginId、登录密码Password。
可以理解地,在实际工程中,一个测试脚本中的必输字段类型的数量可能远远多于两个。
可选地,若所述调用数据中包含的测试字段类型不涵盖所述被选测试脚本中全部预设的必输字段类型,则生成测试失败的测试结果。
可选地,若所述调用数据中包含的测试字段类型涵盖所述被选测试脚本中全部预设的必输字段类型,则通过所述被选测试脚本验证各个所述测试字段类型对应的字段信息的字符长度、字符类型是否符合所述测试字段类型对应的预设条件。
示例性地,例如一个测试字段类型为:LoginID,则根据被选测试脚本中该测试字段类型对应的预设条件,该字段类型对应的字段信息的字符长度可能为小于20,字符类型为:String。
可选地,若全部的所述测试字段类型对应的字段信息的字符长度、字符类型符合所述测试字段类型对应的预设条件,则生成测试成功的测试结果。
可选地,若全部的所述测试字段类型对应的字段信息的字符长度、字符类型不符合所述测试字段类型对应的预设条件,则生成测试失败的测试结果。
在本发明实施例中,通过根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,通过规范接口文档中包含的数据类型,调取数据类型对应的测试脚本集合,并根据数据类型对应的数据值,从测试脚本集合中确定出被选测试脚本,在检测到终端设备调用所述目标接口时,通过被选测试脚本对终端设备发送的调用数据进行测试,生成测试结果,以通过集成了多种测试脚本的测试服务器对终端设备进行调用功能的验证,而无需等待真正提供接口的后端服务器开发完成,从而更加及时的对前端进行测试,同时特可以提高测试的准确性和智能化程度。
对应于上文实施例所述的接口调用的测试方法,图5示出了本发明实施例提供的接口调用的测试装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
参照图5,该装置包括:
生成模块501,用于根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,所述规范接口文档中包括数据类型与数据值的对应关系;
调取模块502,用于根据所述规范接口文档中包含的所述数据类型,调取所述数据类型对应的一个以上的测试脚本集合,所述测试脚本集合中包含多个测试脚本;
选择模块503,用于根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本;
测试模块504,用于在检测到终端设备调用所述目标接口时,接收所述终端设备发送的调用数据,并根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果。
可选地,所述对所述配置文件进行规范化处理,生成所述目标接口对应的规范接口文档,包括:
提取所述配置文件的文件头内包含的配置信息,所述配置信息中包含一个以上的数据类型;
根据预设的数据类型与字符串位置的对应关系,从所述配置文件包含的字符串中提取各个数据类型对应的字符串,作为各个所述数据类型对应的数据值;
将所述数据类型与数据值的对应关系填入预设格式的文档中,生成所述规范接口文档。
可选地,所述根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本,包括:
获取所述测试脚本集合中各个所述测试脚本的分类超平面,通过各个所述测试脚本的分类超平面判断所述数据类型对应的数据值是否符合各个测试脚本的第一判别条件;
若所述数据类型对应的数据值符合测试脚本的第一判别条件,则将所述测试脚本作为候选测试脚本;
调取各个所述候选测试脚本对应的预设逻辑参数,计算所述规范接口文档中的所述数据类型对应的数据值与各个所述候选测试脚本对应的预设逻辑参数的相似度,将所述相似度最高的候选测试脚本作为被选测试脚本。
可选地,在所述根据所述目标接口对应的规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本之前,还包括:
选取一个以上的测试脚本,并获取所述测试脚本对应的预设的参考数据值集合;
采用主成分分析法对各个所述测试脚本对应的预设的参考数据值集合进行降维处理,生成各个所述测试脚本对应的主成分矩阵;
通过高斯核函数将所述测试脚本对应的主成分矩阵映射到高维特征空间,以生成各个所述测试脚本的训练参数;
反复执行以下操作直至计算出全部测试脚本的分类超平面:从一个以上的所述测试脚本中选择一个测试脚本作为目标测试脚本,将所述目标测试脚本对应的训练参数组成正向训练集,将所述目标测试脚本以外的测试脚本对应的训练参数组成负向训练集,并根据所述正向训练集以及所述负向训练集计算出分类超平面。
可选地,所述根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果,包括:
提取所述调用数据中包含的测试字段类型以及测试字段类型对应的字段信息;
验证调用数据中包含的测试字段类型是否涵盖所述被选测试脚本中全部预设的必输字段类型;
若所述调用数据中包含的测试字段类型涵盖所述被选测试脚本中全部预设的必输字段类型,则通过所述被选测试脚本验证各个所述测试字段类型对应的字段信息的字符长度、字符类型是否符合所述测试字段类型对应的预设条件;
若全部的所述测试字段类型对应的字段信息的字符长度、字符类型符合所述测试字段类型对应的预设条件,则生成测试成功的测试结果。
在本发明实施例中,通过根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,通过规范接口文档中包含的数据类型,调取数据类型对应的测试脚本集合,并根据数据类型对应的数据值,从测试脚本集合中确定出被选测试脚本,在检测到终端设备调用所述目标接口时,通过被选测试脚本对终端设备发送的调用数据进行测试,生成测试结果,以通过集成了多种测试脚本的测试服务器对终端设备进行调用功能的验证,而无需等待真正提供接口的后端服务器开发完成,从而更加及时的对前端进行测试,同时特可以提高测试的准确性和智能化程度。
图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如接口调用的测试程序。所述处理器60执行所述计算机程序62时实现上述各个接口调用的测试方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元501至504的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种接口调用的测试方法,其特征在于,包括:
根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,所述规范接口文档中包括数据类型与数据值的对应关系;
根据所述规范接口文档中包含的所述数据类型,调取所述数据类型对应的一个以上的测试脚本集合,所述测试脚本集合中包含多个测试脚本;
根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本;
在检测到终端设备调用所述目标接口时,接收所述终端设备发送的调用数据,并根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果。
2.如权利要求1所述的接口调用的测试方法,其特征在于,所述对所述配置文件进行规范化处理,生成所述目标接口对应的规范接口文档,包括:
提取所述配置文件的文件头内包含的配置信息,所述配置信息中包含一个以上的数据类型;
根据预设的数据类型与字符串位置的对应关系,从所述配置文件包含的字符串中提取各个数据类型对应的字符串,作为各个所述数据类型对应的数据值;
将所述数据类型与数据值的对应关系填入预设格式的文档中,生成所述规范接口文档。
3.如权利要求1所述的接口调用的测试方法,其特征在于,所述根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本,包括:
获取所述测试脚本集合中各个所述测试脚本的分类超平面,通过各个所述测试脚本的分类超平面判断所述数据类型对应的数据值是否符合各个测试脚本的第一判别条件;
若所述数据类型对应的数据值符合测试脚本的第一判别条件,则将所述测试脚本作为候选测试脚本;
调取各个所述候选测试脚本对应的预设逻辑参数,计算所述规范接口文档中的所述数据类型对应的数据值与各个所述候选测试脚本对应的预设逻辑参数的相似度,将所述相似度最高的候选测试脚本作为被选测试脚本。
4.如权利要求1所述的接口调用的测试方法,其特征在于,在所述根据所述目标接口对应的规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本之前,还包括:
选取一个以上的测试脚本,并获取所述测试脚本对应的预设的参考数据值集合;
采用主成分分析法对各个所述测试脚本对应的预设的参考数据值集合进行降维处理,生成各个所述测试脚本对应的主成分矩阵;
通过高斯核函数将所述测试脚本对应的主成分矩阵映射到高维特征空间,以生成各个所述测试脚本的训练参数;
反复执行以下操作直至计算出全部测试脚本的分类超平面:从一个以上的所述测试脚本中选择一个测试脚本作为目标测试脚本,将所述目标测试脚本对应的训练参数组成正向训练集,将所述目标测试脚本以外的测试脚本对应的训练参数组成负向训练集,并根据所述正向训练集以及所述负向训练集计算出分类超平面。
5.如权利要求1所述的接口调用的测试方法,其特征在于,所述根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果,包括:
提取所述调用数据中包含的测试字段类型以及测试字段类型对应的字段信息;
验证调用数据中包含的测试字段类型是否涵盖所述被选测试脚本中全部预设的必输字段类型;
若所述调用数据中包含的测试字段类型涵盖所述被选测试脚本中全部预设的必输字段类型,则通过所述被选测试脚本验证各个所述测试字段类型对应的字段信息的字符长度、字符类型是否符合所述测试字段类型对应的预设条件;
若全部的所述测试字段类型对应的字段信息的字符长度、字符类型符合所述测试字段类型对应的预设条件,则生成测试成功的测试结果。
6.一种终端设备,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如下步骤:
根据终端设备发送的目标接口的配置文件,生成所述目标接口对应的规范接口文档,所述规范接口文档中包括数据类型与数据值的对应关系;
根据所述规范接口文档中包含的所述数据类型,调取所述数据类型对应的一个以上的测试脚本集合,所述测试脚本集合中包含多个测试脚本;
根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本;
在检测到终端设备调用所述目标接口时,接收所述终端设备发送的调用数据,并根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果。
7.如权利要求6所述的终端设备,其特征在于,所述对所述配置文件进行规范化处理,生成所述目标接口对应的规范接口文档,包括:
提取所述配置文件的文件头内包含的配置信息,所述配置信息中包含一个以上的数据类型;
根据预设的数据类型与字符串位置的对应关系,从所述配置文件包含的字符串中提取各个数据类型对应的字符串,作为各个所述数据类型对应的数据值;
将所述数据类型与数据值的对应关系填入预设格式的文档中,生成所述规范接口文档。
8.如权利要求6所述的终端设备,其特征在于,所述根据所述规范接口文档中的所述数据类型对应的数据值,从所述数据类型对应的测试脚本集合中选择测试脚本,作为所述目标接口对应的被选测试脚本,包括:
获取所述测试脚本集合中各个所述测试脚本的分类超平面,通过各个所述测试脚本的分类超平面判断所述数据类型对应的数据值是否符合各个测试脚本的第一判别条件;
若所述数据类型对应的数据值符合测试脚本的第一判别条件,则将所述测试脚本作为候选测试脚本;
调取各个所述候选测试脚本对应的预设逻辑参数,计算所述规范接口文档中的所述数据类型对应的数据值与各个所述候选测试脚本对应的预设逻辑参数的相似度,将所述相似度最高的候选测试脚本作为被选测试脚本。
9.如权利要求6所述的终端设备,其特征在于,所述根据所述目标接口对应的被选测试脚本,对所述调用数据进行测试,生成测试结果,包括:
提取所述调用数据中包含的测试字段类型以及测试字段类型对应的字段信息;
验证调用数据中包含的测试字段类型是否涵盖所述被选测试脚本中全部预设的必输字段类型;
若所述调用数据中包含的测试字段类型涵盖所述被选测试脚本中全部预设的必输字段类型,则通过所述被选测试脚本验证各个所述测试字段类型对应的字段信息的字符长度、字符类型是否符合所述测试字段类型对应的预设条件;
若全部的所述测试字段类型对应的字段信息的字符长度、字符类型符合所述测试字段类型对应的预设条件,则生成测试成功的测试结果。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811121926.0A CN109376079A (zh) | 2018-09-26 | 2018-09-26 | 接口调用的测试方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811121926.0A CN109376079A (zh) | 2018-09-26 | 2018-09-26 | 接口调用的测试方法及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109376079A true CN109376079A (zh) | 2019-02-22 |
Family
ID=65401901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811121926.0A Pending CN109376079A (zh) | 2018-09-26 | 2018-09-26 | 接口调用的测试方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109376079A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096395A (zh) * | 2019-03-12 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 接口联调测试方法、装置、计算机设备及存储介质 |
CN110287098A (zh) * | 2019-05-21 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 自动创建测试脚本方法、服务器及计算机可读存储介质 |
CN110287096A (zh) * | 2019-05-20 | 2019-09-27 | 深圳壹账通智能科技有限公司 | H5前端页面测试方法、电子装置及计算机可读存储介质 |
CN110489320A (zh) * | 2019-07-05 | 2019-11-22 | 深圳壹账通智能科技有限公司 | 测试数据的还原方法、装置、终端设备及介质 |
CN110825619A (zh) * | 2019-10-12 | 2020-02-21 | 深圳壹账通智能科技有限公司 | 接口测试用例自动生成方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160147578A1 (en) * | 2014-11-26 | 2016-05-26 | Sas Institute Inc. | Api validation system |
CN106155891A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 接口测试方法、接口描述数据库生成方法及装置 |
CN107577602A (zh) * | 2017-08-25 | 2018-01-12 | 上海斐讯数据通信技术有限公司 | 一种app接口的测试方法、装置及系统 |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
CN108268377A (zh) * | 2018-01-23 | 2018-07-10 | 郑州云海信息技术有限公司 | 一种服务器的业务测试方法、装置及介质 |
CN108268348A (zh) * | 2017-12-08 | 2018-07-10 | 广州视源电子科技股份有限公司 | 接口测试方法、装置、移动终端及存储介质 |
-
2018
- 2018-09-26 CN CN201811121926.0A patent/CN109376079A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160147578A1 (en) * | 2014-11-26 | 2016-05-26 | Sas Institute Inc. | Api validation system |
CN106155891A (zh) * | 2015-04-02 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 接口测试方法、接口描述数据库生成方法及装置 |
CN107577602A (zh) * | 2017-08-25 | 2018-01-12 | 上海斐讯数据通信技术有限公司 | 一种app接口的测试方法、装置及系统 |
CN108009087A (zh) * | 2017-11-29 | 2018-05-08 | 广州品唯软件有限公司 | 数据库测试方法、装置及计算机可读存储介质 |
CN108268348A (zh) * | 2017-12-08 | 2018-07-10 | 广州视源电子科技股份有限公司 | 接口测试方法、装置、移动终端及存储介质 |
CN108268377A (zh) * | 2018-01-23 | 2018-07-10 | 郑州云海信息技术有限公司 | 一种服务器的业务测试方法、装置及介质 |
Non-Patent Citations (3)
Title |
---|
XIAOYING BAI.ET: "Interface-Based Automated Testing for Open Software Architecture", 《 2011 IEEE 35TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE WORKSHOPS》 * |
张丹涛;张随良;杨东红;: "基于系统需求数据库的BIT自动测试技术", 系统仿真学报, no. 1 * |
赵红芳: "基于TestNG的接口测试框架的设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096395A (zh) * | 2019-03-12 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 接口联调测试方法、装置、计算机设备及存储介质 |
CN110287096A (zh) * | 2019-05-20 | 2019-09-27 | 深圳壹账通智能科技有限公司 | H5前端页面测试方法、电子装置及计算机可读存储介质 |
CN110287098A (zh) * | 2019-05-21 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 自动创建测试脚本方法、服务器及计算机可读存储介质 |
CN110489320A (zh) * | 2019-07-05 | 2019-11-22 | 深圳壹账通智能科技有限公司 | 测试数据的还原方法、装置、终端设备及介质 |
CN110825619A (zh) * | 2019-10-12 | 2020-02-21 | 深圳壹账通智能科技有限公司 | 接口测试用例自动生成方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376079A (zh) | 接口调用的测试方法及服务器 | |
US7333962B2 (en) | Techniques to organize test results | |
CN110147732A (zh) | 指静脉识别方法、装置、计算机设备及存储介质 | |
Li et al. | Heterogeneous fault prediction with cost‐sensitive domain adaptation | |
CN105283851A (zh) | 用于选择跟踪目标的成本分析 | |
CN108228684A (zh) | 聚类模型的训练方法、装置、电子设备和计算机存储介质 | |
CN109817339A (zh) | 基于大数据的患者分组方法和装置 | |
CN110287069A (zh) | Esb接口自动化测试方法、服务器及计算机可读存储介质 | |
CN109191133A (zh) | 支付渠道的选择方法及终端设备 | |
CN115422592A (zh) | 大数据安防处理方法及系统 | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN110263824A (zh) | 模型的训练方法、装置、计算设备及计算机可读存储介质 | |
CN109255000A (zh) | 一种标签数据的维度管理方法及装置 | |
CN114139209A (zh) | 一种应用于业务用户大数据的信息防窃取方法及系统 | |
CN110442502A (zh) | 一种埋点的方法、装置、设备及存储介质 | |
US20130151519A1 (en) | Ranking Programs in a Marketplace System | |
CN108182444A (zh) | 基于场景分类的视频质量诊断的方法及装置 | |
WO2021021168A1 (en) | Anomaly detection and clustering in financial data channel migration | |
CN112199715B (zh) | 基于区块链和云计算的对象生成方法及数字金融服务中心 | |
CN109344255A (zh) | 标签的填充方法及终端设备 | |
CN112541447A (zh) | 机器模型的更新方法、装置、介质及设备 | |
CN112182562A (zh) | 沙箱环境下的数据审核方法、系统、电子设备及介质 | |
CN114697127B (zh) | 一种基于云计算的业务会话风险处理方法及服务器 | |
CN115686495A (zh) | 应用的生成方法、装置和服务器 | |
CN116932360A (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 |