CN113900936A - 基于关联特征分析的接口测试方法、装置、设备及介质 - Google Patents

基于关联特征分析的接口测试方法、装置、设备及介质 Download PDF

Info

Publication number
CN113900936A
CN113900936A CN202111162446.0A CN202111162446A CN113900936A CN 113900936 A CN113900936 A CN 113900936A CN 202111162446 A CN202111162446 A CN 202111162446A CN 113900936 A CN113900936 A CN 113900936A
Authority
CN
China
Prior art keywords
interface
analysis
information
path
service data
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
Application number
CN202111162446.0A
Other languages
English (en)
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.)
Weikun Shanghai Technology Service Co Ltd
Original Assignee
Weikun Shanghai Technology Service 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 Weikun Shanghai Technology Service Co Ltd filed Critical Weikun Shanghai Technology Service Co Ltd
Priority to CN202111162446.0A priority Critical patent/CN113900936A/zh
Publication of CN113900936A publication Critical patent/CN113900936A/zh
Pending legal-status Critical Current

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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为本发明实施例提供的基于关联特征分析的接口测试方法的子流程示意图;
图3为本发明实施例提供的基于关联特征分析的接口测试方法的另一子流程示意图;
图4为本发明实施例提供的基于关联特征分析的接口测试方法的另一子流程示意图;
图5为本发明实施例提供的基于关联特征分析的接口测试方法的另一子流程示意图;
图6为本发明实施例提供的基于关联特征分析的接口测试方法的另一子流程示意图;
图7为本发明实施例提供的基于关联特征分析的接口测试方法的另一子流程示意图;
图8为本发明实施例提供的基于关联特征分析的接口测试装置的示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的基于关联特征分析的接口测试方法的流程示意图;该基于关联特征分析的接口测试方法应用于管理服务器或用户终端中,该基于关联特征分析的接口测试方法通过安装于管理服务器或用户终端中的应用软件进行执行,管理服务器即是用于执行基于关联特征分析的接口测试方法以基于关联特征分析进行接口测试得到接口测试结果的服务器端,如企业或政府部门所构建的服务器,用户终端即是用于执行基于关联特征分析的接口测试方法以基于关联特征分析进行接口测试得到接口测试结果的终端设备,例如台式电脑、笔记本电脑、平板电脑或手机等。如图1所示,该方法包括步骤S110~S160。
S110、若接收到所输入的接口设计文件,根据预置的接口配置解析规则对所述接口设计文件进行接口配置解析,得到对应的接口配置解析信息。
若接收到所输入的接口设计文件,根据预置的接口配置解析规则对所述接口设计文件进行接口配置解析,得到对应的接口配置解析信息。用户终端的使用者可输入接口设计文件,接口设计文件包含对应用程序中接口进行设计的详细信息,接口设计文件可以是应用程序所包含的所有接口的设计信息,也可以是应用程序中某一功能模块所包含接口的设计信息,则接口设计文件中由多个接口的设计信息所组成。可根据接口配置解析规则对所输入的接口设计文件进行接口配置解析,得到对应的接口配置解析信息,其中,所述接口配置解析规则包括解析关键字集合及状态映射信息,所述接口配置解析信息包括请求参数数据表及状态解析信息。
在一实施例中,如图2所示,步骤S110包括子步骤S111、S112和S113。
S111、根据所述解析关键字集合从所述接口设计文件中获取每一接口对应的接口分段数据。
首先可根据解析关键字集合对接口设计文件进行解析,解析关键字集合中包含多个解析关键字,可对接口设计文件中的字符与解析关键字进行匹配,以对接口设计文件中的具体内容进行识别。具体的,若接口设计文件中字符与接口关键字相匹配,则获取该字符对应的代码段,从该代码段中获取与该字符对应的字段值作为接口名称,根据方法关键字对每一接口分段数据中的信息进行识别,从中获取对应的方法参数、请求参数、接口地址等参数信息,根据与接口关键字相匹配的代码段所在位置对接口设计文件进行分段处理得到对应的接口分段数据,则每一接口均对应一个接口分段数据。
例如,对与方法关键字“api”相匹配的代码段进行识别后,得到接口名称为“swagger”,该接口的接口分段数据中定义了请求方法POST、GET及PUT。
S112、对每一所述接口分段数据中的请求参数进行分类整理得到对应的请求参数数据表。
对每一接口分段数据中包含的请求参数进行分类整理,可基于请求方法中每一请求参数的处理类型对请求参数进行分类,若请求参数是对插入一条新的数据值,则表明该请求参数为第一处理类型,将该请求参数存储至第一数据表;若请求参数是对已有的数据值进行修改,则表明该请求参数为第二处理类型,将该请求参数存储至第二数据表,第一数据表及第二数据表进行组合后即可得到请求参数数据表,则请求参数数据表中包含对接口设计文件的每一请求参数进行分类整理的信息。
S113、根据所述状态映射信息对每一所述接口分段数据的状态参数进行映射解析,得到每一状态参数对应的状态解析信息。
接口分段数据中还包括接口对应的多个状态码,以及请求参数对应的多个返回值,状态码及返回值即可构成接口分段数据中的状态参数,可根据状态映射信息对每一接口分段数据的状态参数进行映射解析,得到对应的状态解析信息,状态映射信息包括各状态码及各返回值与状态释义之间的映射关系,可基于该映射关系获取每一状态参数对应的状态释义作为状态解析信息。
例如,状态映射信息中与状态码“302”对应的状态释义为“请求网页被重定向到新的地址”、与请求参数“OK”的返回值“0”对应的状态释义为“操作成功”。
S120、根据所述接口配置解析信息对所述接口设计文件进行参数配置解析,得到对应的接口参数属性信息。
根据所述接口配置解析信息对所述接口设计文件进行参数配置解析,得到对应的接口参数属性信息。接口设计文件中还包括字段设计表,则可根据所得到的接口配置解析信息对接口设计文件中的字段设计表进行参数配置解析得到接口参数属性信息,接口参数属性信息即为对接口中请求参数所对应参数值的属性进行描述的具体信息。
在一实施例中,如图3所示,步骤S120包括子步骤S121和S122。
S121、获取所述接口设计文件中与所述接口配置解析信息中的请求参数数据表所包含请求参数相匹配的字段设计信息。
字段设计表中包含与每一请求参数对应的字段设计信息,则可获取接口设计文件的字段设计表中与请求参数数据表所包含的请求参数相匹配的字段设计信息。
例如,与请求参数“pro_id”对应的字段设计信息如表1所示。
fields type Null key Defult
pro_id char(10) no pri null
表1
S122、根据每一所述请求参数的字段设计信息确定每一所述请求参数对应的属性信息作为对应的接口参数属性信息。
基于字段设计信息即可确定每一参数请求对应的属性信息,将获取到的每一参数请求的属性信息进行组合即可得到接口参数属性信息。参数请求的属性信息包括参数值格式、参数值长度、数值边界及预设类型等信息,参数值格式可以包括字符串(String)、字节数值(char)、整数(int)等,参数值长度即为参数值中可包含的最大字符数量,数值边界即为参数值的上限及下限,如表1中参数值格式为字节数值,可包含10个字符,上限为127、下限为-128且不为空,预设类型为非预设。
S130、根据预存的历史操作日志、所述接口配置解析信息及所述接口参数属性信息构建得到对应的接口关联图。
根据预存的历史操作日志、所述接口配置解析信息及所述接口参数属性信息构建得到对应的接口关联图。历史操作日志即是用于对应用程序的历史操作过程进行记载的日志信息,历史操作日志中包括多条操作信息,通常而言,为实现某一具体操作功能需要应用程序中多个接口相互配合,则每一操作信息中均包含对多个接口进行操作的信息。接口关联图谱即为包含各接口的逻辑关系的图谱信息,基于接口关联图谱即可清晰获取各接口之间的逻辑关联特性。
在一实施例中,如图4所示,步骤S130包括子步骤S131、S132和S133。
S131、根据所述接口配置解析信息及所述接口参数属性信息对所述历史操作日志中每一条操作信息进行验证得到对应的验证结果。
具体的,可根据接口配置解析信息中所包含的接口的状态解析信息对每一条操作信息中相应接口的状态码及返回值进行状态验证,根据接口参数属性信息对每一条操作信息中相应接口的参数值进行属性验证,得到每一条操作信息的验证结果。具体的,可基于状态解析信息验证操作信息中的状态码及返回值是否为正常状态。例如,某一接口的状态码为“200”、返回值“0405,res-message”,状态码对应为“传入错误”,返回值对应为“验证码过期或失效”,则状态码及返回值的状态验证结果均为异常状态。基于接口参数属性信息对操作信息中请求参数对应的参数值是否合格进行验证,若请求参数对应的参数值与接口参数属性信息相应属性信息相匹配,则验证该请求参数对应的参数值合格,否则验证请求参数对应的参数值不合格。
S132、根据所述验证结果从中获取与所述接口配置解析信息中每一接口对应的最优的一条接口操作信息。
可根据接口配置解析信息中所包含的接口,从历史操作日志的每一操作信息中分别获取与每一接口相匹配的验证结果,每一条操作信息均是对多个接口进行操作所得到的记录信息,也即是一条操作信息中包含多个接口操作信息,则每一条接口信息的验证结果中包含与多个接口操作信息相对应的接口验证结果,则与每一接口相匹配的验证结果中可包含来自多条操作信息的多个接口验证结果,一个接口验证结果即对应一条接口操作信息。可根据每一接口的多条接口操作信息对应的多个接口验证结果,选择其中最优的一个接口验证结果对应的接口操作信息,最优的接口验证结果即为验证为正常状态及合格概率最高的一个接口验证结果,若存在多个最优接口验证结果则随机选择其中一个。
S133、对每一所述接口的最优操作信息进行数据流解析,以根据数据流解析结果构建接口关联图。
对每一接口的最优操作信息进行数据流解析,可基于最优操作信息中接口的参数值流向进行数据流解析,具体的,可判断接口的参数值是否为某上游接口的出参数据、判断接口的参数值是否为某下游的入参数据、判断接口的参数值为第一类型或第二类型,并获取每一参数值所属的请求方法,基于上述解析信息即可构建得到接口关联图。接口关联图中每一接口可采用节点进行表示,两个接口之间的逻辑关联特性采用单向箭头连接,箭头所指方向即为参数值的具体流向,两个接口具有逻辑关联性的接口之间可关联一个或多个参数值,每一接口包含各种的接口属性信息,接口属性信息包括接口名称、请求方法名称、接口地址、请求参数名称、请求参数所述类型等信息。
S140、根据所述历史操作日志及所述接口关联图对预存的初始接口分析模型进行训练,得到训练后的接口分析模型。
根据所述历史操作日志及所述接口关联图对预存的初始接口分析模型进行训练,得到训练后的接口分析模型。可基于上述历史操作日志以及所得到的接口关联图对初始接口分析模型进行训练,具体的,初始接口分析模型可以是基于长短期记忆网络(LongShort-Term Memory,LSTM)所构建的智能分析模型,初始接口分析模型中包含多个模型节点,节点之间存在关联关系,则节点之间的关联关系可采用节点关系向量进行表示,初始接口分析模型中节点关系向量的初始值均相等,对初始接口分析模型进行训练也即是对节点关系向量的向量值进行调整。
在一实施例中,如图5所示,步骤S140包括子步骤S141、S142和S143。
S141、根据所述接口关联图从所述历史操作日志中获取每一条操作信息的交互特征;S142、根据每一所述条操作信息的交互特征构建特征关系图。
可基于接口关联图中节点之间的逻辑关联特性从每一条操作信息中获取对应的交互特征,交互特征即可用于对节点之间所存在的交互关系进行量化表征。基于所得到的交互关系构建对应的特征关系图。
例如,操作信息中与某一接口对应的接口操作信息的特征可表示为H1={api1,params(val1…valn),resp(res1…resn)},则获取操作信息中多条接口操作信息分别对应的特征进行叠加即可得到该操作信息对应的交互特征,交互特征可表示为Hm={apim,params(apik.res1…apik.resk…apij.valj),reps(apim.res1…apik.resk)},其中m为大于1的整数,Hm表示为接口间关联特征信息,params为接口apim的入参数据,,入参数据可为另一接口apik的入参或出参,reps为接口apim的出参数据,根据每一条操作信息的交互特征即可绘制出特征关系图,可将每个api接口作为特征关系图中的节点,两个api接口之间的关联参数值即可作为对应的特征关系。
S143、根据所述关系向量图对所述初始接口分析模型进行训练,得到训练后的接口分析模型。
具体的,可采用在关系向量图的各节点之间进行随机游走的方式获取训练的输入序列,基于所得到的输入序列并采用预置的训练规则对初始接口分析模型进行训练,例如,可使用Skip-Gram模型训练规则对初始接口分析模型中的节点关系向量进行迭代训练。
S150、根据预存的多个业务数据集及所述接口分析模型对所述接口关联图进行路径分析,得到与每一所述业务数据集分别对应的接口路径。
根据预存的多个业务数据集及所述接口分析模型对所述接口关联图进行路径分析,得到与每一所述业务数据集分别对应的接口路径。获取用户终端中预先存储的多个业务数据集,并基于业务数据集及接口路径分析模型对接口关联图进行路径分析,得到对应的接口路径,接口路径即为业务数据集中的业务数据对接口关联图中的接口进行访问的预测路径。其中,每一业务数据集即为企业的一个业务方向,对每一业务方向上的实际操作数据进行采集即可得到与各业务方向相对应的多个业务数据集,每一业务数据集中均包含多条业务数据,如业务方向可以是房产拍卖、汽车拍卖、收藏品拍卖。
在一实施例中,如图6所示,步骤S150包括子步骤S151、S152和S153。
S151、从每一业务数据集所包含的业务数据中获取与每一所述业务数据对应的业务特征信息。
可基于业务数据获取对应的业务特征信息,其中,业务特征信息可包含每一业务数据对页面中接口进行访问的访问特征信息、业务交互特征以及服务状态特征信息,业务交互特征的获取方式与操作信息的交互特征获取方式相同,访问特征信息可表示为:mi=(pagei,(apiip,apiiq,apiir),ti),其中i可以是大于1的整数,pagei表示访问页面的标识信息,apiip即为属于pagei的某一接口的标识信息,ti为pagei的访问时间。服务状态信息中包括对服务器进行访问的终端的状态信息,使用终端用户的活动状态信息,以及被访问的服务器的状态信息,例如,访问特征信息与服务状态信息进行组合后得到的组合特征信息可表示为Cs={mi、终端设备信息、活动状态、登录用户、访问服务器标识,访问端口号……},也即是mi为Cs中的一个子项。
基于一条业务数据的组合特征信息进行独热编码,并构建对应的嵌入矩阵添加至接口分析模型中。例如,基于Cs进行独热编码,并构建得到嵌入矩阵K=M×N,其中M即为Cs的独热编码,N为嵌入向量长度。
S152、将每一所述业务特征信息输入所述接口分析模型以获取对应的接口访问概率。
具体的,接口分析模型中包含有多个记忆细胞(GRU单元)组成的细胞层,可将所得到的业务特征信息和前一时刻记忆细胞的细胞状态输入下一个记忆细胞进行分析,则输入信息可表示为imput=θ(Xt,Cs,Hm),其中,θ表示接口分析模型中的组合函数,组合函数可将前后的业务特征信息与当前输入的业务特征信息进行叠加、拼接或感知,Xt即为前一时刻记忆细胞的细胞状态,Cs为业务特征信息中的组合特征信息,Hm为业务特征信息中的业务交互特征。
将记忆细胞的输入结果通过一个前馈网络层,输出得到概率得分并基于激活函数计算与概率得分对应的接口访问概率,激活函数可采用公式(1)进行表示:
Figure BDA0003290748670000101
其中,outputW即为接口分析模型输出的概率得分,b为激活函数中预置的参数值,
Figure BDA0003290748670000102
为计算得到的接口访问概率,接口访问概率的取值范围为[-1,1],接口访问概率也用于预测下一接口被访问的概率。
S153、根据每一所述业务数据集对应的接口访问概率对所述接口关联图进行路径分析,得到与每一所述业务数据集对应的接口路径。
可根据每一业务数据集中所包含业务数据对应的接口访问概率对接口关联图进行路径分析,具体的,可对每一业务数据集中接口访问概率超出某一概率阈值的接口进行获取,并将获取到的接口映射至接口关联图中,以得到与该业务数据集对应的接口路径,则采用上述方法可获取到每一业务数据集对应的接口路径。
S160、根据每一所述业务数据集的接口路径分别对与所述接口设计文件对应的应用接口进行接口测试,得到与每一所述接口路径对应的接口测试结果。
可基于业务数据集的接口路径对应用接口进行接口测试,基于接口测试获取与每一接口路径对应的接口测试结果。由于接口路径与业务数据集相对应,则每一接口路径的接口测试结果即为与接口路径对应的一个业务方向的整体测试结果,一个接口路径对应的接口测试结果即可对一个业务方向的整体测试情况进行体现。
在一实施例中,如图7所示,步骤S160包括子步骤S161、S162和S163。
S161、根据每一所述接口路径从与所述接口路径对应的业务数据集中获取测试用例集。
可基于接口路径所包含的多个接口,从对应业务数据集中随机获取与每一接口对应的接口操作信息,并进行组合得到一条测试用例,也即是获取随机多条业务数据中的部分数据进行组合,则一条测试用例可来源于该业务数据集中的多条业务数据,则可采用上述方法获取得到多条测试用例并生成对应的测试用例集。通过上述方法可获取与每一接口路径分别对应的测试用例集,则所生成的每一测试用例集中均包含多条测试用例。
S162、将每一所述接口路径对应的测试用例集输入所述应用接口进行接口测试,得到测试输出信息。
将每一测试用例集中所包含的测试用例分别输入至应用接口进行接口测试,获取测试输出信息,测试输出信息中包括所测试的接口的状态码、返回值及参数值。
S163、根据所述接口配置解析信息及所述接口参数属性信息对每一接口路径对应的测试输出信息进行验证统计,得到每一接口路径对应的接口测试结果。
可根据接口配置解析信息及接口参数属性信息对每一接口路径对应的多条测试输出信息进行验证并统计,也即是对每一条测试输出信息中的状态码及返回值是否为正常状态进行验证、对参数值是否合格进行验证。对每一接口路径的测试输出信息的验证结果进行统计得到验证成功及失败的次数,即可得到每一接口路径对应的接口测试结果。
具体的,步骤S160之后还包括:将每一所述测试路径对应的接口测试结果分别上传至区块链中。
基于接口测试结果得到对应的摘要信息,具体来说,摘要信息由接口测试结果进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证接口测试结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请中的技术方法可应用于智慧政务/智慧城管/智慧社区/智慧安防/智慧物流/智慧医疗/智慧教育/智慧环保/智慧交通等基于关联特征分析进行接口测试得到接口测试结果的应用场景中,从而推动智慧城市的建设。
在本发明实施例所提供的基于关联特征分析的接口测试方法中,对接口设计文件进行接口配置解析得到接口配置解析信息并对接口设计文件进一步进行参数配置解析得到接口参数属性信息,构建接口关联图并根据历史操作日志对初始接口分析模型进行训练,根据多个业务数据集及接口分析模型对接口关联图进行路径分析得到接口路径,根据每一业务数据集的接口路径对与所述接口设计文件对应的应用接口进行测试得到每一接口路径的接口测试结果。通过上述方法,可快速构建接口关联图并训练得到接口分析模型,基于接口分析模型获取每一业务数据集的接口路径并进行多个接口路径的接口测试,大幅提高了接口测试的覆盖率及测试效率。
本发明实施例还提供一种基于关联特征分析的接口测试装置,该基于关联特征分析的接口测试装置可配置于管理服务器或用户终端中,该基于关联特征分析的接口测试装置用于执行前述的基于关联特征分析的接口测试方法的任一实施例。具体地,请参阅图8,图8为本发明实施例提供的基于关联特征分析的接口测试装置的示意性框图。
如图8所示,基于关联特征分析的接口测试装置100包括接口配置解析信息获取单元110、接口参数属性信息获取单元120、接口关联图构建单元130、接口分析模型训练单元140、接口路径获取单元150和接口测试结果获取单元160。
接口配置解析信息获取单元110,用于若接收到所输入的接口设计文件,根据预置的接口配置解析规则对所述接口设计文件进行接口配置解析,得到对应的接口配置解析信息。
在一具体实施例中,所述接口配置解析信息获取单元110包括子单元:接口分段数据获取单元,用于根据所述解析关键字集合从所述接口设计文件中获取每一接口对应的接口分段数据;请求参数数据表获取单元,用于对每一所述接口分段数据中的请求参数进行分类整理得到对应的请求参数数据表;状态参数解析单元,用于根据所述状态映射信息对每一所述接口分段数据的状态参数进行映射解析,得到每一状态参数对应的状态解析信息。
接口参数属性信息获取单元120,用于根据所述接口配置解析信息对所述接口设计文件进行参数配置解析,得到对应的接口参数属性信息。
在一具体实施例中,所述接口参数属性信息获取单元120包括子单元:字段设计信息获取单元,用于获取所述接口设计文件中与所述接口配置解析信息中的请求参数数据表所包含请求参数相匹配的字段设计信息;属性信息确定单元,用于根据每一所述请求参数的字段设计信息确定每一所述请求参数对应的属性信息作为对应的接口参数属性信息。
接口关联图构建单元130,用于根据预存的历史操作日志、所述接口配置解析信息及所述接口参数属性信息构建得到对应的接口关联图。
在一具体实施例中,所述接口关联图构建单元130包括子单元:验证结果获取单元,用于根据所述接口配置解析信息及所述接口参数属性信息对所述历史操作日志中每一条操作信息进行验证得到对应的验证结果;接口操作信息获取单元,用于根据所述验证结果从中获取与所述接口配置解析信息中每一接口对应的最优的一条接口操作信息;数据流解析单元,用于对每一所述接口的最优操作信息进行数据流解析,以根据数据流解析结果构建接口关联图。
接口分析模型训练单元140,用于根据所述历史操作日志及所述接口关联图对预存的初始接口分析模型进行训练,得到训练后的接口分析模型。
在一具体实施例中,所述接口分析模型训练单元140包括子单元:交互特征获取单元,用于根据所述接口关联图从所述历史操作日志中获取每一条操作信息的交互特征;特征关联图构建单元,用于根据每一所述条操作信息的交互特征构建特征关系图;模型训练单元,用于根据所述关系向量图对所述初始接口分析模型进行训练,得到训练后的接口分析模型。
接口路径获取单元150,用于根据预存的多个业务数据集及所述接口分析模型对所述接口关联图进行路径分析,得到与每一所述业务数据集分别对应的接口路径。
在一具体实施例中,所述接口路径获取单元150包括子单元:业务特征信息获取单元,用于从每一业务数据集所包含的业务数据中获取与每一所述业务数据对应的业务特征信息;接口访问概率获取单元,用于将每一所述业务特征信息输入所述接口分析模型以获取对应的接口访问概率;路径分析单元,用于根据每一所述业务数据集对应的接口访问概率对所述接口关联图进行路径分析,得到与每一所述业务数据集对应的接口路径。
接口测试结果获取单元160,用于根据每一所述业务数据集的接口路径分别对与所述接口设计文件对应的应用接口进行接口测试,得到与每一所述接口路径对应的接口测试结果。
在一具体实施例中,所述接口测试结果获取单元160包括子单元:测试用例集获取单元,用于根据每一所述接口路径从与所述接口路径对应的业务数据集中获取测试用例集;测试输出信息获取单元,用于将每一所述接口路径对应的测试用例集输入所述应用接口进行接口测试,得到测试输出信息;验证统计单元,用于根据所述接口配置解析信息及所述接口参数属性信息对每一接口路径对应的测试输出信息进行验证统计,得到每一接口路径对应的接口测试结果。
在本发明实施例所提供的基于关联特征分析的接口测试装置应用上述基于关联特征分析的接口测试方法,对接口设计文件进行接口配置解析得到接口配置解析信息并对接口设计文件进一步进行参数配置解析得到接口参数属性信息,构建接口关联图并根据历史操作日志对初始接口分析模型进行训练,根据多个业务数据集及接口分析模型对接口关联图进行路径分析得到接口路径,根据每一业务数据集的接口路径对与所述接口设计文件对应的应用接口进行测试得到每一接口路径的接口测试结果。通过上述方法,可快速构建接口关联图并训练得到接口分析模型,基于接口分析模型获取每一业务数据集的接口路径并进行多个接口路径的接口测试,大幅提高了接口测试的覆盖率及测试效率。
上述基于关联特征分析的接口测试装置可以实现为计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本发明实施例提供的计算机设备的示意性框图。该计算机设备可以是用于执行基于关联特征分析的接口测试方法以基于关联特征分析进行接口测试得到接口测试结果的管理服务器或用户终端。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于关联特征分析的接口测试方法,其中,存储介质503可以为易失性的存储介质或非易失性的存储介质。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于关联特征分析的接口测试方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述的基于关联特征分析的接口测试方法中对应的功能。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为易失性或非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现上述的基于关联特征分析的接口测试方法中所包含的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于关联特征分析的接口测试方法,其特征在于,所述方法包括:
若接收到所输入的接口设计文件,根据预置的接口配置解析规则对所述接口设计文件进行接口配置解析,得到对应的接口配置解析信息;
根据所述接口配置解析信息对所述接口设计文件进行参数配置解析,得到对应的接口参数属性信息;
根据预存的历史操作日志、所述接口配置解析信息及所述接口参数属性信息构建得到对应的接口关联图;
根据所述历史操作日志及所述接口关联图对预存的初始接口分析模型进行训练,得到训练后的接口分析模型;
根据预存的多个业务数据集及所述接口分析模型对所述接口关联图进行路径分析,得到与每一所述业务数据集分别对应的接口路径;
根据每一所述业务数据集的接口路径分别对与所述接口设计文件对应的应用接口进行接口测试,得到与每一所述接口路径对应的接口测试结果。
2.根据权利要求1所述的基于关联特征分析的接口测试方法,其特征在于,所述接口配置解析规则包括解析关键字集合及状态映射信息,所述根据预置的接口配置解析规则对所述接口设计文件进行接口配置解析,得到对应的接口配置解析信息,包括:
根据所述解析关键字集合从所述接口设计文件中获取每一接口对应的接口分段数据;
对每一所述接口分段数据中的请求参数进行分类整理得到对应的请求参数数据表;
根据所述状态映射信息对每一所述接口分段数据的状态参数进行映射解析,得到每一状态参数对应的状态解析信息。
3.根据权利要求1所述的基于关联特征分析的接口测试方法,其特征在于,所述根据所述接口配置解析信息对所述接口设计文件进行参数配置解析,得到对应的接口参数属性信息,包括:
获取所述接口设计文件中与所述接口配置解析信息中的请求参数数据表所包含请求参数相匹配的字段设计信息;
根据每一所述请求参数的字段设计信息确定每一所述请求参数对应的属性信息作为对应的接口参数属性信息。
4.根据权利要求1所述的基于关联特征分析的接口测试方法,其特征在于,所述根据预存的历史操作日志、所述接口配置解析信息及所述接口参数属性信息构建得到对应的接口关联图,包括:
根据所述接口配置解析信息及所述接口参数属性信息对所述历史操作日志中每一条操作信息进行验证得到对应的验证结果;
根据所述验证结果从中获取与所述接口配置解析信息中每一接口对应的最优的一条接口操作信息;
对每一所述接口的最优操作信息进行数据流解析,以根据数据流解析结果构建接口关联图。
5.根据权利要求1所述的基于关联特征分析的接口测试方法,其特征在于,所述根据所述历史操作日志及所述接口关联图对预存的初始接口分析模型进行训练,得到训练后的接口分析模型,包括:
根据所述接口关联图从所述历史操作日志中获取每一条操作信息的交互特征;
根据每一所述条操作信息的交互特征构建特征关系图;
根据所述关系向量图对所述初始接口分析模型进行训练,得到训练后的接口分析模型。
6.根据权利要求1所述的基于关联特征分析的接口测试方法,其特征在于,所述根据预存的多个业务数据集及所述接口分析模型对所述接口关联图进行路径分析,得到与每一所述业务数据集分别对应的接口路径,包括:
从每一业务数据集所包含的业务数据中获取与每一所述业务数据对应的业务特征信息;
将每一所述业务特征信息输入所述接口分析模型以获取对应的接口访问概率;
根据每一所述业务数据集对应的接口访问概率对所述接口关联图进行路径分析,得到与每一所述业务数据集对应的接口路径。
7.根据权利要求1所述的基于关联特征分析的接口测试方法,其特征在于,所述根据每一所述业务数据集的接口路径分别对与所述接口设计文件对应的应用接口进行接口测试,得到与每一所述接口路径对应的接口测试结果,包括:
根据每一所述接口路径从与所述接口路径对应的业务数据集中获取测试用例集;
将每一所述接口路径对应的测试用例集输入所述应用接口进行接口测试,得到测试输出信息;
根据所述接口配置解析信息及所述接口参数属性信息对每一接口路径对应的测试输出信息进行验证统计,得到每一接口路径对应的接口测试结果。
8.一种基于关联特征分析的接口测试装置,其特征在于,所述装置包括:
接口配置解析信息获取单元,用于若接收到所输入的接口设计文件,根据预置的接口配置解析规则对所述接口设计文件进行接口配置解析,得到对应的接口配置解析信息;
接口参数属性信息获取单元,用于根据所述接口配置解析信息对所述接口设计文件进行参数配置解析,得到对应的接口参数属性信息;
接口关联图构建单元,用于根据预存的历史操作日志、所述接口配置解析信息及所述接口参数属性信息构建得到对应的接口关联图;
接口分析模型训练单元,用于根据所述历史操作日志及所述接口关联图对预存的初始接口分析模型进行训练,得到训练后的接口分析模型;
接口路径获取单元,用于根据预存的多个业务数据集及所述接口分析模型对所述接口关联图进行路径分析,得到与每一所述业务数据集分别对应的接口路径;
接口测试结果获取单元,用于根据每一所述业务数据集的接口路径分别对与所述接口设计文件对应的应用接口进行接口测试,得到与每一所述接口路径对应的接口测试结果。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于关联特征分析的接口测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于关联特征分析的接口测试方法。
CN202111162446.0A 2021-09-30 2021-09-30 基于关联特征分析的接口测试方法、装置、设备及介质 Pending CN113900936A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111162446.0A CN113900936A (zh) 2021-09-30 2021-09-30 基于关联特征分析的接口测试方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111162446.0A CN113900936A (zh) 2021-09-30 2021-09-30 基于关联特征分析的接口测试方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN113900936A true CN113900936A (zh) 2022-01-07

Family

ID=79189907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111162446.0A Pending CN113900936A (zh) 2021-09-30 2021-09-30 基于关联特征分析的接口测试方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113900936A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102879A (zh) * 2022-07-21 2022-09-23 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102879A (zh) * 2022-07-21 2022-09-23 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质
CN115102879B (zh) * 2022-07-21 2023-11-21 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US20230195541A1 (en) Systems and methods for synthetic data generation
US11631032B2 (en) Failure feedback system for enhancing machine learning accuracy by synthetic data generation
EP3591586A1 (en) Data model generation using generative adversarial networks and fully automated machine learning system which generates and optimizes solutions given a dataset and a desired outcome
Bartunov et al. Joint link-attribute user identity resolution in online social networks
US20210097343A1 (en) Method and apparatus for managing artificial intelligence systems
US11810000B2 (en) Systems and methods for expanding data classification using synthetic data generation in machine learning models
Kobayashi et al. Towards an NLP-based log template generation algorithm for system log analysis
CN109933648B (zh) 一种真实用户评论的区分方法和区分装置
CN116340793A (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN113900936A (zh) 基于关联特征分析的接口测试方法、装置、设备及介质
CN115658620B (zh) 一种基于大数据的数据授权共享方法及系统
CN114726876B (zh) 一种数据检测方法、装置、设备和存储介质
Wang et al. UFKLDA: An unsupervised feature extraction algorithm for anomaly detection under cloud environment
CN114840872A (zh) 秘密文本脱敏方法、装置、计算机设备及可读存储介质
CN116136866B (zh) 基于知识图谱的中文新闻摘要事实性知识校正方法和装置
CN116842073B (zh) 图数据的挖掘方法、装置和电子设备
EP4372593A1 (en) Method and system for anonymizsing data
CN114528209A (zh) 基于智能预测的程序异常定位方法、装置、设备及介质
CN117494224A (zh) 基于信息智能核查的文件分析方法、装置、设备及介质
CN114117402A (zh) 账户异常行为检测方法、装置、电子设备和存储介质
CN113709092A (zh) 数据检测方法、装置、计算机设备以及存储介质
Chen et al. Android Malware Family Clustering Based on Multiple Features
CN116451218A (zh) 异常程序的检测方法、装置、可读介质及电子设备
CN117172632A (zh) 一种企业异常行为检测方法、装置、设备及存储介质
CN117632979A (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