CN113282489A - 一种接口测试方法和装置 - Google Patents

一种接口测试方法和装置 Download PDF

Info

Publication number
CN113282489A
CN113282489A CN202110523786.5A CN202110523786A CN113282489A CN 113282489 A CN113282489 A CN 113282489A CN 202110523786 A CN202110523786 A CN 202110523786A CN 113282489 A CN113282489 A CN 113282489A
Authority
CN
China
Prior art keywords
interface
interfaces
test
state
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.)
Granted
Application number
CN202110523786.5A
Other languages
English (en)
Other versions
CN113282489B (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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202110523786.5A priority Critical patent/CN113282489B/zh
Publication of CN113282489A publication Critical patent/CN113282489A/zh
Application granted granted Critical
Publication of CN113282489B publication Critical patent/CN113282489B/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/3668Software testing
    • G06F11/3672Test management
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了接口测试方法和装置,涉及自动程序设计技术领域。该方法的一具体实施方式包括接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果;获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。从而,本发明的实施方式能够解决现有接口自动化测试工具案例书写效率低,案例失效维护成本高的问题。

Description

一种接口测试方法和装置
技术领域
本发明涉及自动程序设计技术领域,尤其涉及一种接口测试方法和装置。
背景技术
随着计算机软件技术的快速发展,市场对于软件产品的质量的要求越来越高,敏捷开发,测试驱动开发的思维模式也慢慢的渗透其中。如何在保证测试质量的同时,降低测试成本成了自动化测试中一个热门的研究方向。其中,自动化测试从软件的层级进行分类:UI测试、接口测试、单元测试等。考虑到单元测试是在代码粒度上进行测试,需要大量的案例,而且代码的复杂度不可预估,这部分的测试成本较高,并且UI测试受界面、系统环境稳定性的影响,所以UI测试在自动化测试中的维护代价较高。相比较于单元测试和UI测试,接口自动化测试能够用较低的成本获得快速可靠的反馈,接口,即Application Programming Interface(API),通俗的讲就是HTTP请求。接口测试是从接口维度进行测试,能表现系统的行为,覆盖业务规则,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
接口自动化测试有它的优势所在,不过也面临着挑战,现在市面上已经有比较多成熟的接口自动化测试工具,但是存在案例书写效率低,案例失效维护成本高的问题。
发明内容
有鉴于此,本发明实施例提供一种接口测试方法和装置,能够解决现有接口自动化测试工具案例书写效率低,案例失效维护成本高的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种接口测试方法,包括接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果;获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
可选地,根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果,包括:
基于已测接口数据计算接口之间的相似度,以通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果。
可选地,通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果,包括:
利用近邻传播AP算法迭代计算接口的信息关系,引入阻尼因子使近邻传播AP算法收敛,以根据距离最小原则将各接口分配到相应的聚类中最终获得接口聚类结果。
可选地,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,包括:
计算待测试接口数据与各接口簇簇中心接口数据的相似度,以匹配得到相似度最大的接口簇。
可选地,还包括:
将测试案例存储至预设的案例集中,启动监控程序,进而通过测试案例的执行结果,确定所述测试案例的生命周期状态并标记。
可选地,所述生命周期状态包括新生态、稳定态、不稳定态和失效态;
测试案例存储至预设的案例集中初始化生命周期状态为新生态,如果监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态;如果监控到测试案例执行结果大于或等于预设的成功次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为稳定态;如果监控到测试案例执行结果大于或等于预设的持续失败次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为失效态。
可选地,包括:
监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态,获取当前所述测试案例执行的接口测试数据;
确定所述接口测试数据失效,则基于测试案例关系图定位所述接口的位置,获取对应数据流中的有效测试数据,以激活所述测试案例且生命周期状态更新为稳定态。
可选地,包括:
所述测试案例关系图为有向图,每个节点代表独立的接口。
另外,本发明还提供了一种接口测试装置,包括接口特征提取模块,用于接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果;自动化生成案例模块,用于获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
可选地,接口特征提取模块根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果,包括:
基于已测接口数据计算接口之间的相似度,以通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果。
可选地,自动化生成案例模块基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,包括:
计算待测试接口数据与各接口簇簇中心接口数据的相似度,以匹配得到相似度最大的接口簇。
可选地,还包括:
案例管理模块,用于将测试案例存储至预设的案例集中,启动监控程序,进而通过测试案例的执行结果,确定所述测试案例的生命周期状态并标记。
可选地,所述生命周期状态包括新生态、稳定态、不稳定态和失效态;
案例管理模块将测试案例存储至预设的案例集中初始化生命周期状态为新生态,如果监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态;如果监控到测试案例执行结果大于或等于预设的成功次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为稳定态;如果监控到测试案例执行结果大于或等于预设的持续失败次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为失效态。
可选地,案例管理模块,还用于:
监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态,获取当前所述测试案例执行的接口测试数据;
确定所述接口测试数据失效,则基于测试案例关系图定位所述接口的位置,获取对应数据流中的有效测试数据,以激活所述测试案例且生命周期状态更新为稳定态。
上述发明中的一个实施例具有如下优点或有益效果:本发明从接口名称,请求数据等的相关性角度出发,计算接口之间的相似度,由此进行聚类分组,从而形成接口簇,并根据接口案例持续集成的运行的情况进行生命周期管理,自动补充因测试数据失效导致的测试案例的维护,在提高接口自动化测试案例的书写角度和案例管理方面具有很大的研究意义。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例的接口测试方法的主要流程的示意图;
图2是根据本发明实施例的测试案例关系图的示意图;
图3是根据本发明实施例的近邻传播AP算法的示意图;
图4是根据本发明实施例的案例生命周期转换示意图;
图5是根据本发明第二实施例的接口测试方法的主要流程的示意图;
图6是根据本发明第一实施例的接口测试装置的主要模块的示意图;
图7是根据本发明第二实施例的接口测试装置的主要模块的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明第一实施例的接口测试方法的主要流程的示意图,如图1所示,所述接口测试方法包括:
步骤S101,接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据。
在实施例中,本发明通过用户的操作日志信息获取提取日志中接口的相关数据,可以包括已测接口数据、接口间的调用关系和相关的测试数据。
步骤S102,根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果。
在实施例中,根据接口调用关系,即基于操作日志信息中的业务执行的先后顺序构建接口之间的调用关系图(即测试案例关系图),从而生成行为模型(即业务执行的行为模型)和对应的数据流,如图2所示,调用关系图为有向图,其中每个节点代表独立的接口,可以看出{1,2,3}、{1,2,4,5,6}、{1,2,4,5,7}分别为三个接口调用的场景,即为三条数据流。其中,测试案例也称之为测试用例:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。
作为一些实施例,本发明可以基于已测接口数据计算接口之间的相似度,通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果。其中,基于近邻传播AP(AffinityPropagation Clustering,AP)算法,对接口进行分簇,根据簇内相似度最大,簇间相似度最小的准则将相关性高的接口分为同一个簇,得到接口的聚类结果。
优选地实施例,依赖已测接口数据,包括接口名称、请求数据等的相关性角度出发,计算接口之间的相似度,利用近邻传播AP算法迭代更新归属度和吸引度信息,迭代计算接口的信息关系,并引入阻尼因子λ来交替更新信息,使之收敛,根据距离最小原则将各接口分配到相应的聚类中最终获得接口聚类结果。也就是说,本发明通过引入吸引度和归属度进行消息传递的方式进行聚类,使用了降维技术,聚类效果更稳定,相关性较大的接口同为一个簇,簇间相关性最小,从聚类性能和效率方面都有大幅度的提升。利用近邻传播AP算法进行聚类的具体实施过程包括,如图3所示:
根据已测接口数据,提取接口k的特征向量,基于预设的迭代次数T和阻尼因子λ,计算接口k和其他接口i之间的相似度矩阵S进而计算吸引度矩阵r(i,k)和归属度矩阵a(i,k)。然后判断吸引度矩阵r(i,k)与归属度矩阵a(i,k)之和是否大于0,若是则接口k为聚类中心,若否则提取下一个接口的特征向量。
步骤S103,获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
在实施例中,本发明可以计算待测试接口数据与各接口簇簇中心接口数据的相似度,以得到相似度最大的接口簇,从而匹配待测试接口至对应的接口簇中。也就是说,对于新增待测试的接口,计算新增待测试接口与已测接口聚类结果中每个簇中心的相关性(即相似度计算),从而将新增接口加入到现有的接口簇中,依赖所述接口簇中已测接口的测试数据和测试案例关系图,对新增待测试接口进行测试案例的自动填写。
作为另一些实施例,本发明可以将测试案例存储至预设的案例集中,启动监控程序,进而通过测试案例的执行结果,确定所述测试案例的生命周期状态并标记。
值得说明的是,为了对大量的案例进行管理和维护,将接口案例按生命周期进行管理,所述生命周期状态包括新生态、稳定态、不稳定态和失效态。其中,各个状态的转化关系如图4所示,测试案例存储至预设的案例集中初始化生命周期状态为新生态,如果监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态;如果监控到测试案例执行结果大于或等于预设的成功次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为稳定态;如果监控到测试案例执行结果大于或等于预设的持续失败次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为失效态。
较佳的,监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态,获取当前所述测试案例执行的接口测试数据。确定所述接口测试数据失效,则基于测试案例关系图定位所述接口的位置,获取对应数据流中的有效测试数据,以激活所述测试案例且生命周期状态更新为稳定态。
也就是说,本发明对测试案例的不同状态进行监控,从稳定态开始失败一次后变为不稳定态的测试案例,监控到如果是接口的测试数据失效而导致失败的情况,提取这些接口,通过比对该接口在测试案例关系图中所处的位置关系,获取对应的数据流,从而自动修改所失效的测试数据,修改成功则激活为稳定态,并且对于失效测试案例,可从有效测试案例集中进行剔除,不再关注。其中,测试数据失效例如可能是接口的权限限定失效(比如token失效)、接口请求的错误参数值造成接口的后台程序崩溃、接口数据的状态处理错误等等。
综上所述,本发明针对接口自动化测试过程中,测试案例书写的效率低和接口案例维护成本高的两个问题,实现了基于接口分簇的自动化案例编写和基于用户行为模型的案例维护。其中,通过分析接口的特征得到接口之间的相关性,并利用AP算法的优势,来稳定地生成接口簇,从而基于已测接口的接口簇,从而对新增接口进行自动化案例编写,并提出了对于因为数据失效而进入死亡态的接口案例。并且为了维护接口案例的数据有效性,利用用户操作日志生成的行为模型对数据进行有效的修正,提高测试案例的稳定性,降低维护成本,从而从案例书写上和案例维护上提高整个自动化测试过程中的效率。
图5是根据本发明第二实施例的接口测试方法的主要流程的示意图,如图5所示,所述接口测试方法包括:
步骤S501,接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据。
步骤S502,根据接口间调用关系构建测试案例关系图。
步骤S503,基于已测接口数据计算接口之间的相似度,以通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果。
步骤S504,获取待测试接口数据,计算待测试接口数据与各接口簇簇中心接口数据的相似度,以匹配得到相似度最大的接口簇。
步骤S505,根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
步骤S506,将测试案例存储至预设的案例集中,启动监控程序,进而通过测试案例的执行结果,确定所述测试案例的生命周期状态并标记。
步骤S507,监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态,获取当前所述测试案例执行的接口测试数据。
步骤S508,确定所述接口测试数据失效,则基于测试案例关系图定位所述接口的位置,获取对应数据流中的有效测试数据,以激活所述测试案例且生命周期状态更新为稳定态。
图6是根据本发明第一实施例的接口测试装置的主要模块的示意图,如图6所示,所述接口测试装置包括接口特征提取模块601和自动化生成案例模块602。其中,接口特征提取模块601接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果。自动化生成案例模块602获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
在一些实施例中,接口特征提取模块601根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果,包括:
基于已测接口数据计算接口之间的相似度,以通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果。
在一些实施例中,自动化生成案例模块602基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,包括:
计算待测试接口数据与各接口簇簇中心接口数据的相似度,以匹配得到相似度最大的接口簇。
图7是根据本发明第二实施例的接口测试装置的主要模块的示意图,如图7所示,所述接口测试装置包括接口特征提取模块、自动化生成案例模块和案例管理模块。其中,接口特征提取模块接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果。自动化生成案例模块获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。案例管理模块将测试案例存储至预设的案例集中,启动监控程序,进而通过测试案例的执行结果,确定所述测试案例的生命周期状态并标记。
也就是说,本发明实施例基于接口自动化测试过程,为提高案例编写效率和对案例进行高效维护,接口特征提取模块通过日志系统得到用户的操作日志信息,从而提取已测接口数据、接口间的调用关系和相关的测试数据。基于操作日志信息中的业务执行的先后顺序构建接口之间的调用关系图(即测试案例关系图),从而生成行为模型和对应的数据流。以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果。
案例自动生成模块用来对新增待测试接口基于接口的聚类结果和测试案例关系图自动生成测试案例,而案例管理模块为案例自动生成模块和接口特征提取模块构建桥梁,对测试案例进行管理。
进一步地,所述生命周期状态包括新生态、稳定态、不稳定态和失效态。案例管理模块将测试案例存储至预设的案例集中初始化生命周期状态为新生态,如果监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态;如果监控到测试案例执行结果大于或等于预设的成功次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为稳定态;如果监控到测试案例执行结果大于或等于预设的持续失败次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为失效态。
案例管理模块监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态,获取当前所述测试案例执行的接口测试数据。确定所述接口测试数据失效,则基于测试案例关系图定位所述接口的位置,获取对应数据流中的有效测试数据,以激活所述测试案例且生命周期状态更新为稳定态。也就是说,当案例管理模块监控到不稳定态的测试案例中因为测试数据失效导致的案例执行失败时,反馈记录该接口信息到接口特征提取模块。通过接口特征提取模块的用户行为模型生成的数据流,匹配该接口对应的接口调用位置,从对应的数据流中获取有效的测试数据,从而自动修改失效的测试数据为有效的测试数据,修改成功后激活该案例为稳定态。
需要说明的是,在本发明所述接口测试方法和所述接口测试装置在具体实施内容上具有相应关系,故重复内容不再说明。
图8示出了可以应用本发明实施例的接口测试方法或接口测试装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备801、802、803可以是具有接口测试屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的接口测试方法一般由服务器805执行,相应地,计算装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有计算机系统900操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶接口测试器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CP U)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接口特征提取模块和自动化生成案例模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果;获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
根据本发明实施例的技术方案,能够解决现有接口自动化测试工具案例书写效率低,案例失效维护成本高的问题。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (16)

1.一种接口测试方法,其特征在于,包括:
接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;
根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果;
获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
2.根据权利要求1所述的方法,其特征在于,根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果,包括:
基于已测接口数据计算接口之间的相似度,以通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果。
3.根据权利要求2所述的方法,其特征在于,通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果,包括:
利用近邻传播AP算法迭代计算接口的信息关系,引入阻尼因子使近邻传播AP算法收敛,以根据距离最小原则将各接口分配到相应的聚类中最终获得接口聚类结果。
4.根据权利要求1所述的方法,其特征在于,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,包括:
计算待测试接口数据与各接口簇簇中心接口数据的相似度,以匹配得到相似度最大的接口簇。
5.根据权利要求1所述的方法,其特征在于,还包括:
将测试案例存储至预设的案例集中,启动监控程序,进而通过测试案例的执行结果,确定所述测试案例的生命周期状态并标记。
6.根据权利要求5所述的方法,其特征在于,所述生命周期状态包括新生态、稳定态、不稳定态和失效态;
测试案例存储至预设的案例集中初始化生命周期状态为新生态,如果监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态;如果监控到测试案例执行结果大于或等于预设的成功次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为稳定态;如果监控到测试案例执行结果大于或等于预设的持续失败次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为失效态。
7.根据权利要求6所述的方法,其特征在于,包括:
监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态,获取当前所述测试案例执行的接口测试数据;
确定所述接口测试数据失效,则基于测试案例关系图定位所述接口的位置,获取对应数据流中的有效测试数据,以激活所述测试案例且生命周期状态更新为稳定态。
8.根据权利要求1-7任一所述的方法,其特征在于,包括:
所述测试案例关系图为有向图,每个节点代表独立的接口。
9.一种接口测试装置,其特征在于,包括:
接口特征提取模块,用于接收用户的操作日志信息,提取所述操作日志信息中的已测接口数据、接口间调用关系和测试数据;根据接口间调用关系构建测试案例关系图;以及根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果;
自动化生成案例模块,用于获取待测试接口数据,基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,进而根据所述接口簇中已测接口的测试数据和所述测试案例关系图,生成待测试接口的测试案例。
10.根据权利要求9所述的装置,其特征在于,接口特征提取模块根据已测接口数据,调用预设的聚类模型对所述接口进行分簇,得到接口的聚类结果,包括:
基于已测接口数据计算接口之间的相似度,以通过近邻传播AP算法对接口进行分簇,得到接口的聚类结果。
11.根据权利要求9所述的装置,其特征在于,自动化生成案例模块基于接口的聚类结果匹配所述待测试接口至对应的接口簇中,包括:
计算待测试接口数据与各接口簇簇中心接口数据的相似度,以匹配得到相似度最大的接口簇。
12.根据权利要求9所述的装置,其特征在于,还包括:
案例管理模块,用于将测试案例存储至预设的案例集中,启动监控程序,进而通过测试案例的执行结果,确定所述测试案例的生命周期状态并标记。
13.根据权利要求12所述的装置,其特征在于,所述生命周期状态包括新生态、稳定态、不稳定态和失效态;
案例管理模块将测试案例存储至预设的案例集中初始化生命周期状态为新生态,如果监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态;如果监控到测试案例执行结果大于或等于预设的成功次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为稳定态;如果监控到测试案例执行结果大于或等于预设的持续失败次数阈值且当前生命周期状态为不稳定态,则将生命周期状态从不稳定态更新为失效态。
14.根据权利要求13所述的装置,其特征在于,案例管理模块,还用于:
监控到测试案例执行结果为失败一次,则将生命周期状态从新生态更新为不稳定态,获取当前所述测试案例执行的接口测试数据;
确定所述接口测试数据失效,则基于测试案例关系图定位所述接口的位置,获取对应数据流中的有效测试数据,以激活所述测试案例且生命周期状态更新为稳定态。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN202110523786.5A 2021-05-13 2021-05-13 一种接口测试方法和装置 Active CN113282489B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110523786.5A CN113282489B (zh) 2021-05-13 2021-05-13 一种接口测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110523786.5A CN113282489B (zh) 2021-05-13 2021-05-13 一种接口测试方法和装置

Publications (2)

Publication Number Publication Date
CN113282489A true CN113282489A (zh) 2021-08-20
CN113282489B CN113282489B (zh) 2023-06-16

Family

ID=77278902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110523786.5A Active CN113282489B (zh) 2021-05-13 2021-05-13 一种接口测试方法和装置

Country Status (1)

Country Link
CN (1) CN113282489B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709182A (zh) * 2021-09-13 2021-11-26 支付宝(杭州)信息技术有限公司 一种接口的识别方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684209A (zh) * 2018-12-17 2019-04-26 北京奇虎科技有限公司 一种测试用例生成方法、装置及电子设备
CN110569189A (zh) * 2019-08-22 2019-12-13 浙江数链科技有限公司 回归测试的方法、装置、计算机设备和存储介质
CN112131101A (zh) * 2020-08-27 2020-12-25 新华三大数据技术有限公司 一种自动化测试的方法、测试终端和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684209A (zh) * 2018-12-17 2019-04-26 北京奇虎科技有限公司 一种测试用例生成方法、装置及电子设备
CN110569189A (zh) * 2019-08-22 2019-12-13 浙江数链科技有限公司 回归测试的方法、装置、计算机设备和存储介质
CN112131101A (zh) * 2020-08-27 2020-12-25 新华三大数据技术有限公司 一种自动化测试的方法、测试终端和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709182A (zh) * 2021-09-13 2021-11-26 支付宝(杭州)信息技术有限公司 一种接口的识别方法、装置及设备
CN113709182B (zh) * 2021-09-13 2023-03-10 支付宝(杭州)信息技术有限公司 一种接口的识别方法、装置及设备

Also Published As

Publication number Publication date
CN113282489B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN110019350B (zh) 基于配置信息的数据查询方法和装置
CN109871311B (zh) 一种推荐测试用例的方法和装置
CN111190888A (zh) 一种管理图数据库集群的方法和装置
CN110858172A (zh) 一种自动化测试代码生成方法和装置
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
US20220138074A1 (en) Method, electronic device and computer program product for processing data
CN114064925A (zh) 知识图谱的构建方法、数据查询方法、装置、设备和介质
CN111831536A (zh) 一种自动化测试方法和装置
CN113282489A (zh) 一种接口测试方法和装置
CN108959294B (zh) 一种访问搜索引擎的方法和装置
CN110928594A (zh) 服务开发方法和平台
CN111767126A (zh) 分布式批量处理的系统和方法
CN112052152A (zh) 一种模拟测试的方法和装置
CN113590447B (zh) 埋点处理方法和装置
CN109814911A (zh) 用于管理脚本程序的方法、装置、计算机设备及存储介质
CN111026629A (zh) 一种测试脚本自动生成的方法和装置
CN112559233B (zh) 识别故障类型的方法、装置、设备和计算机可读介质
CN110806967A (zh) 一种单元测试方法和装置
CN113031960B (zh) 代码编译方法、装置、服务器及存储介质
CN110866002A (zh) 分表数据处理的方法和装置
CN113760765B (zh) 代码测试方法、装置、电子设备和存储介质
CN110262756B (zh) 用于缓存数据的方法和装置
US11330079B2 (en) Environment for developing of distributed multicloud applications
CN113746661A (zh) 一种业务处理方法和装置
CN113326188A (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